Skip to content

Commit ea996f4

Browse files
committed
fix(spp_security,spp_hazard): rename Hazard & Emergency to avoid XML parse error
Odoo 19's ResUserGroupIdsField widget inserts category names into dynamically generated XML without escaping special characters. The & in "Hazard & Emergency" breaks the XML parser when opening the Access Rights tab on the User form.
1 parent 839f83e commit ea996f4

134 files changed

Lines changed: 2356 additions & 2134 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

spp_alerts/README.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ Key Capabilities
4343
Key Models
4444
~~~~~~~~~~
4545

46-
+--------------------+-------------------------------------------------+
47-
| Model | Description |
48-
+====================+=================================================+
49-
| ``spp.alert`` | Alert instance with state tracking and |
50-
| | resolution workflow |
51-
+--------------------+-------------------------------------------------+
52-
| ``spp.alert.rule`` | Rule configuration for monitoring criteria and |
53-
| | thresholds |
54-
+--------------------+-------------------------------------------------+
46+
+--------------------+------------------------------------------------+
47+
| Model | Description |
48+
+====================+================================================+
49+
| ``spp.alert`` | Alert instance with state tracking and |
50+
| | resolution workflow |
51+
+--------------------+------------------------------------------------+
52+
| ``spp.alert.rule`` | Rule configuration for monitoring criteria and |
53+
| | thresholds |
54+
+--------------------+------------------------------------------------+
5555

5656
Configuration
5757
~~~~~~~~~~~~~

spp_api_v2/README.rst

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -44,24 +44,24 @@ Key Capabilities
4444
Key Models
4545
----------
4646

47-
+---------------------------+------------------------------------------+
48-
| Model | Description |
49-
+===========================+==========================================+
50-
| ``spp.api.client`` | OAuth 2.0 credentials, organization |
51-
| | verification |
52-
+---------------------------+------------------------------------------+
53-
| ``spp.api.client.scope`` | Resource/action permissions |
54-
+---------------------------+------------------------------------------+
55-
| ``spp.api.path`` | Endpoint configuration and filters |
56-
+---------------------------+------------------------------------------+
57-
| ``spp.api.path.filter`` | Field-level filter configurations |
58-
+---------------------------+------------------------------------------+
59-
| ``spp.api.filter.preset`` | Saved filter combinations |
60-
+---------------------------+------------------------------------------+
61-
| ``spp.api.extension`` | Domain field registry |
62-
+---------------------------+------------------------------------------+
63-
| ``spp.consent.scope`` | Resource types per consent |
64-
+---------------------------+------------------------------------------+
47+
+---------------------------+-----------------------------------------+
48+
| Model | Description |
49+
+===========================+=========================================+
50+
| ``spp.api.client`` | OAuth 2.0 credentials, organization |
51+
| | verification |
52+
+---------------------------+-----------------------------------------+
53+
| ``spp.api.client.scope`` | Resource/action permissions |
54+
+---------------------------+-----------------------------------------+
55+
| ``spp.api.path`` | Endpoint configuration and filters |
56+
+---------------------------+-----------------------------------------+
57+
| ``spp.api.path.filter`` | Field-level filter configurations |
58+
+---------------------------+-----------------------------------------+
59+
| ``spp.api.filter.preset`` | Saved filter combinations |
60+
+---------------------------+-----------------------------------------+
61+
| ``spp.api.extension`` | Domain field registry |
62+
+---------------------------+-----------------------------------------+
63+
| ``spp.consent.scope`` | Resource types per consent |
64+
+---------------------------+-----------------------------------------+
6565

6666
UI Location
6767
-----------
@@ -110,20 +110,20 @@ API endpoints available at ``/api/v2/`` (token endpoint:
110110
Security
111111
--------
112112

113-
+--------------------------+-------------------------------------------+
114-
| Group | Access |
115-
+==========================+===========================================+
116-
| ``group_api_v2_viewer`` | Read-only: all API configuration and |
117-
| | consent |
118-
+--------------------------+-------------------------------------------+
119-
| ``group_api_v2_officer`` | Read/Write: all models (no |
120-
| | create/delete), full CRUD on consent |
121-
| | scopes |
122-
+--------------------------+-------------------------------------------+
123-
| ``group_api_v2_manager`` | Full CRUD: clients, scopes, paths, |
124-
| | filters, presets, extensions; |
125-
| | Read/Write/Create on consent (no delete) |
126-
+--------------------------+-------------------------------------------+
113+
+--------------------------+------------------------------------------+
114+
| Group | Access |
115+
+==========================+==========================================+
116+
| ``group_api_v2_viewer`` | Read-only: all API configuration and |
117+
| | consent |
118+
+--------------------------+------------------------------------------+
119+
| ``group_api_v2_officer`` | Read/Write: all models (no |
120+
| | create/delete), full CRUD on consent |
121+
| | scopes |
122+
+--------------------------+------------------------------------------+
123+
| ``group_api_v2_manager`` | Full CRUD: clients, scopes, paths, |
124+
| | filters, presets, extensions; |
125+
| | Read/Write/Create on consent (no delete) |
126+
+--------------------------+------------------------------------------+
127127

128128
Extension Points
129129
----------------

spp_api_v2/static/description/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,8 @@ <h1>Key Capabilities</h1>
393393
<h1>Key Models</h1>
394394
<table border="1" class="docutils">
395395
<colgroup>
396-
<col width="39%" />
397-
<col width="61%" />
396+
<col width="40%" />
397+
<col width="60%" />
398398
</colgroup>
399399
<thead valign="bottom">
400400
<tr><th class="head">Model</th>

spp_api_v2_change_request/README.rst

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -47,19 +47,19 @@ Key Models
4747

4848
This module extends existing models and does not define new ones.
4949

50-
+-----------------------------+----------------------------------------+
51-
| Model | Usage |
52-
+=============================+========================================+
53-
| ``fastapi.endpoint`` | Extended to register ChangeRequest |
54-
| | router with API V2 |
55-
+-----------------------------+----------------------------------------+
56-
| ``spp.change.request`` | CRUD operations via REST API |
57-
+-----------------------------+----------------------------------------+
58-
| ``spp.change.request.type`` | Looked up by code in create requests |
59-
+-----------------------------+----------------------------------------+
60-
| ``spp.registry.id`` | Used to resolve registrant identifiers |
61-
| | (system|value) |
62-
+-----------------------------+----------------------------------------+
50+
+-----------------------------+---------------------------------------+
51+
| Model | Usage |
52+
+=============================+=======================================+
53+
| ``fastapi.endpoint`` | Extended to register ChangeRequest |
54+
| | router with API V2 |
55+
+-----------------------------+---------------------------------------+
56+
| ``spp.change.request`` | CRUD operations via REST API |
57+
+-----------------------------+---------------------------------------+
58+
| ``spp.change.request.type`` | Looked up by code in create requests |
59+
+-----------------------------+---------------------------------------+
60+
| ``spp.registry.id`` | Used to resolve registrant |
61+
| | identifiers (system|value) |
62+
+-----------------------------+---------------------------------------+
6363

6464
Configuration
6565
~~~~~~~~~~~~~

spp_api_v2_change_request/static/description/index.html

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -395,8 +395,8 @@ <h1>Key Models</h1>
395395
<p>This module extends existing models and does not define new ones.</p>
396396
<table border="1" class="docutils">
397397
<colgroup>
398-
<col width="42%" />
399-
<col width="58%" />
398+
<col width="43%" />
399+
<col width="57%" />
400400
</colgroup>
401401
<thead valign="bottom">
402402
<tr><th class="head">Model</th>
@@ -415,8 +415,8 @@ <h1>Key Models</h1>
415415
<td>Looked up by code in create requests</td>
416416
</tr>
417417
<tr><td><tt class="docutils literal">spp.registry.id</tt></td>
418-
<td>Used to resolve registrant identifiers
419-
(system|value)</td>
418+
<td>Used to resolve registrant
419+
identifiers (system|value)</td>
420420
</tr>
421421
</tbody>
422422
</table>

spp_api_v2_entitlements/README.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ Key Capabilities
4444
Key Models
4545
~~~~~~~~~~
4646

47-
+--------------------------+-------------------------------------------+
48-
| Model | Description |
49-
+==========================+===========================================+
50-
| ``spp.api.client.scope`` | Extended to add ``entitlement`` as |
51-
| | resource type |
52-
+--------------------------+-------------------------------------------+
53-
| ``fastapi.endpoint`` | Extended to register entitlement router |
54-
| | for ``api_v2`` app |
55-
+--------------------------+-------------------------------------------+
47+
+--------------------------+------------------------------------------+
48+
| Model | Description |
49+
+==========================+==========================================+
50+
| ``spp.api.client.scope`` | Extended to add ``entitlement`` as |
51+
| | resource type |
52+
+--------------------------+------------------------------------------+
53+
| ``fastapi.endpoint`` | Extended to register entitlement router |
54+
| | for ``api_v2`` app |
55+
+--------------------------+------------------------------------------+
5656

5757
Configuration
5858
~~~~~~~~~~~~~

spp_api_v2_gis/README.rst

Lines changed: 31 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -53,23 +53,27 @@ API Endpoints
5353

5454
**OGC API - Features (primary interface)**
5555

56-
+-------------------------------------------+--------+------------------------------+
57-
| Endpoint | Method | Description |
58-
+===========================================+========+==============================+
59-
| ``/gis/ogc/`` | GET | OGC API landing page |
60-
+-------------------------------------------+--------+------------------------------+
61-
| ``/gis/ogc/conformance`` | GET | OGC conformance classes |
62-
+-------------------------------------------+--------+------------------------------+
63-
| ``/gis/ogc/collections`` | GET | List feature collections |
64-
+-------------------------------------------+--------+------------------------------+
65-
| ``/gis/ogc/collections/{id}`` | GET | Collection metadata |
66-
+-------------------------------------------+--------+------------------------------+
67-
| ``/gis/ogc/collections/{id}/items`` | GET | Feature items (GeoJSON) |
68-
+-------------------------------------------+--------+------------------------------+
69-
| ``/gis/ogc/collections/{id}/items/{fid}`` | GET | Single feature |
70-
+-------------------------------------------+--------+------------------------------+
71-
| ``/gis/ogc/collections/{id}/qml`` | GET | QGIS style file (extension) |
72-
+-------------------------------------------+--------+------------------------------+
56+
+-----------------------------+--------+-----------------------------+
57+
| Endpoint | Method | Description |
58+
+=============================+========+=============================+
59+
| ``/gis/ogc/`` | GET | OGC API landing page |
60+
+-----------------------------+--------+-----------------------------+
61+
| ``/gis/ogc/conformance`` | GET | OGC conformance classes |
62+
+-----------------------------+--------+-----------------------------+
63+
| ``/gis/ogc/collections`` | GET | List feature collections |
64+
+-----------------------------+--------+-----------------------------+
65+
| `` | GET | Collection metadata |
66+
| /gis/ogc/collections/{id}`` | | |
67+
+-----------------------------+--------+-----------------------------+
68+
| ``/gis/o | GET | Feature items (GeoJSON) |
69+
| gc/collections/{id}/items`` | | |
70+
+-----------------------------+--------+-----------------------------+
71+
| ``/gis/ogc/col | GET | Single feature |
72+
| lections/{id}/items/{fid}`` | | |
73+
+-----------------------------+--------+-----------------------------+
74+
| ``/gis | GET | QGIS style file (extension) |
75+
| /ogc/collections/{id}/qml`` | | |
76+
+-----------------------------+--------+-----------------------------+
7377

7478
**Additional endpoints**
7579

@@ -87,15 +91,16 @@ Scopes and Data Privacy
8791

8892
**OAuth Scopes**
8993

90-
+------------------+--------------+------------------------------------+
91-
| Scope | Access | Description |
92-
+==================+==============+====================================+
93-
| ``gis:read`` | Read-only | View collections, layers, |
94-
| | | statistics, export data |
95-
+------------------+--------------+------------------------------------+
96-
| ``gis:geofence`` | Read + Write | Create and archive geofences (also |
97-
| | | requires ``gis:read`` for listing) |
98-
+------------------+--------------+------------------------------------+
94+
+------------------+--------------+----------------------------------+
95+
| Scope | Access | Description |
96+
+==================+==============+==================================+
97+
| ``gis:read`` | Read-only | View collections, layers, |
98+
| | | statistics, export data |
99+
+------------------+--------------+----------------------------------+
100+
| ``gis:geofence`` | Read + Write | Create and archive geofences |
101+
| | | (also requires ``gis:read`` for |
102+
| | | listing) |
103+
+------------------+--------------+----------------------------------+
99104

100105
**What data is exposed**
101106

spp_api_v2_gis/static/description/index.html

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -401,9 +401,9 @@ <h1>API Endpoints</h1>
401401
<p><strong>OGC API - Features (primary interface)</strong></p>
402402
<table border="1" class="docutils">
403403
<colgroup>
404-
<col width="53%" />
405-
<col width="10%" />
406-
<col width="37%" />
404+
<col width="44%" />
405+
<col width="12%" />
406+
<col width="44%" />
407407
</colgroup>
408408
<thead valign="bottom">
409409
<tr><th class="head">Endpoint</th>
@@ -424,19 +424,23 @@ <h1>API Endpoints</h1>
424424
<td>GET</td>
425425
<td>List feature collections</td>
426426
</tr>
427-
<tr><td><tt class="docutils literal"><span class="pre">/gis/ogc/collections/{id}</span></tt></td>
427+
<tr><td>``
428+
/gis/ogc/collections/{id}``</td>
428429
<td>GET</td>
429430
<td>Collection metadata</td>
430431
</tr>
431-
<tr><td><tt class="docutils literal"><span class="pre">/gis/ogc/collections/{id}/items</span></tt></td>
432+
<tr><td><tt class="docutils literal">/gis/o
433+
<span class="pre">gc/collections/{id}/items</span></tt></td>
432434
<td>GET</td>
433435
<td>Feature items (GeoJSON)</td>
434436
</tr>
435-
<tr><td><tt class="docutils literal"><span class="pre">/gis/ogc/collections/{id}/items/{fid}</span></tt></td>
437+
<tr><td><tt class="docutils literal">/gis/ogc/col
438+
<span class="pre">lections/{id}/items/{fid}</span></tt></td>
436439
<td>GET</td>
437440
<td>Single feature</td>
438441
</tr>
439-
<tr><td><tt class="docutils literal"><span class="pre">/gis/ogc/collections/{id}/qml</span></tt></td>
442+
<tr><td><tt class="docutils literal">/gis
443+
<span class="pre">/ogc/collections/{id}/qml</span></tt></td>
440444
<td>GET</td>
441445
<td>QGIS style file (extension)</td>
442446
</tr>
@@ -480,9 +484,9 @@ <h1>Scopes and Data Privacy</h1>
480484
<p><strong>OAuth Scopes</strong></p>
481485
<table border="1" class="docutils">
482486
<colgroup>
483-
<col width="26%" />
487+
<col width="27%" />
484488
<col width="21%" />
485-
<col width="53%" />
489+
<col width="52%" />
486490
</colgroup>
487491
<thead valign="bottom">
488492
<tr><th class="head">Scope</th>
@@ -498,8 +502,9 @@ <h1>Scopes and Data Privacy</h1>
498502
</tr>
499503
<tr><td><tt class="docutils literal">gis:geofence</tt></td>
500504
<td>Read + Write</td>
501-
<td>Create and archive geofences (also
502-
requires <tt class="docutils literal">gis:read</tt> for listing)</td>
505+
<td>Create and archive geofences
506+
(also requires <tt class="docutils literal">gis:read</tt> for
507+
listing)</td>
503508
</tr>
504509
</tbody>
505510
</table>

spp_api_v2_products/README.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ Key Models
4444

4545
This module extends existing models rather than introducing new ones:
4646

47-
+--------------------------+-------------------------------------------+
48-
| Model | Extension |
49-
+==========================+===========================================+
50-
| ``spp.api.client.scope`` | Adds "product" resource type for scope |
51-
| | management |
52-
+--------------------------+-------------------------------------------+
53-
| ``fastapi.endpoint`` | Registers Product, ProductCategory, UoM |
54-
| | routers |
55-
+--------------------------+-------------------------------------------+
47+
+--------------------------+------------------------------------------+
48+
| Model | Extension |
49+
+==========================+==========================================+
50+
| ``spp.api.client.scope`` | Adds "product" resource type for scope |
51+
| | management |
52+
+--------------------------+------------------------------------------+
53+
| ``fastapi.endpoint`` | Registers Product, ProductCategory, UoM |
54+
| | routers |
55+
+--------------------------+------------------------------------------+
5656

5757
Configuration
5858
~~~~~~~~~~~~~

spp_api_v2_service_points/README.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,15 +45,15 @@ Extended Models
4545

4646
This module extends existing models from dependencies:
4747

48-
+--------------------------+-------------------------------------------+
49-
| Model | Description |
50-
+==========================+===========================================+
51-
| ``spp.api.client.scope`` | Extended to add "service_point" resource |
52-
| | type for OAuth scopes |
53-
+--------------------------+-------------------------------------------+
54-
| ``fastapi.endpoint`` | Extended to register Service Point router |
55-
| | in API V2 app |
56-
+--------------------------+-------------------------------------------+
48+
+--------------------------+------------------------------------------+
49+
| Model | Description |
50+
+==========================+==========================================+
51+
| ``spp.api.client.scope`` | Extended to add "service_point" resource |
52+
| | type for OAuth scopes |
53+
+--------------------------+------------------------------------------+
54+
| ``fastapi.endpoint`` | Extended to register Service Point |
55+
| | router in API V2 app |
56+
+--------------------------+------------------------------------------+
5757

5858
Configuration
5959
~~~~~~~~~~~~~

0 commit comments

Comments
 (0)