From 5bcf96b4a56521f22b1a3f31b0d166a5923897dd Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 18:36:58 +0800 Subject: [PATCH 1/9] chore: regenerate READMEs and remove duplicate .rst fragments Remove .rst readme fragments that have .md duplicates (the hook cannot process both) and regenerate all auto-generated README.rst and index.html files to match the current oca-gen-addon-readme output. --- spp_alerts/README.rst | 18 +- spp_api_v2/README.rst | 64 ++--- spp_api_v2/static/description/index.html | 4 +- spp_api_v2_change_request/README.rst | 26 +- .../static/description/index.html | 8 +- spp_api_v2_entitlements/README.rst | 18 +- spp_api_v2_products/README.rst | 18 +- spp_api_v2_service_points/README.rst | 18 +- .../static/description/index.html | 4 +- spp_api_v2_vocabulary/README.rst | 28 +-- .../static/description/index.html | 4 +- spp_approval/README.rst | 79 +++--- spp_approval/static/description/index.html | 24 +- spp_area/README.rst | 46 ++-- spp_area/static/description/index.html | 7 +- spp_area_hdx/README.rst | 46 ++-- spp_audit/README.rst | 36 +-- spp_audit/static/description/index.html | 7 +- spp_banking/README.rst | 11 +- spp_banking/static/description/index.html | 7 +- spp_base_common/README.rst | 12 +- spp_branding_kit/README.rst | 30 +-- spp_cel_domain/README.rst | 80 ++++--- spp_cel_domain/static/description/index.html | 25 +- spp_cel_registry_search/README.rst | 17 +- .../static/description/index.html | 10 +- spp_cel_widget/README.rst | 47 ++-- spp_cel_widget/static/description/index.html | 14 +- spp_change_request_v2/README.rst | 152 ++++++------ .../static/description/index.html | 41 ++-- spp_claim_169/README.rst | 58 ++--- spp_consent/README.rst | 127 +++++----- spp_consent/static/description/index.html | 40 ++-- spp_cr_types_advanced/README.rst | 54 ++--- .../static/description/index.html | 54 +++-- spp_cr_types_base/README.rst | 53 +++-- .../static/description/index.html | 20 +- spp_custom_field/README.rst | 24 +- .../static/description/index.html | 4 +- spp_dci/README.rst | 12 +- spp_dci/static/description/index.html | 4 +- spp_dci_client/README.rst | 12 +- spp_dci_client/static/description/index.html | 4 +- spp_dci_client_crvs/README.rst | 18 +- .../static/description/index.html | 4 +- spp_dci_client_dr/README.rst | 40 ++-- .../static/description/index.html | 16 +- spp_dci_client_ibr/README.rst | 56 +++-- .../static/description/index.html | 43 ++-- spp_dci_server/README.rst | 36 +-- spp_dci_server/static/description/index.html | 8 +- spp_demo/README.rst | 69 +++--- spp_demo/static/description/index.html | 21 +- spp_dms/README.rst | 60 ++--- spp_dms/static/description/index.html | 11 +- spp_drims/README.rst | 50 ++-- spp_drims/static/description/index.html | 22 +- spp_drims_sl/README.rst | 26 +- spp_drims_sl_demo/README.rst | 18 +- .../static/description/index.html | 4 +- spp_event_data/README.rst | 36 +-- spp_event_data/static/description/index.html | 12 +- spp_gis/README.rst | 56 ++--- spp_gis/static/description/index.html | 11 +- spp_gis_indicators/README.rst | 35 ++- .../static/description/index.html | 41 ++-- spp_gis_report/README.rst | 75 +++--- spp_gis_report/static/description/index.html | 23 +- spp_gis_report_programs/README.rst | 42 ++-- .../static/description/index.html | 17 +- spp_grm/README.rst | 54 ++--- spp_grm/static/description/index.html | 4 +- spp_grm_demo/README.rst | 18 +- spp_hide_menus_base/README.rst | 30 +-- .../static/description/index.html | 7 +- spp_hxl/README.rst | 46 ++-- spp_hxl/static/description/index.html | 41 ++-- spp_hxl_area/README.rst | 66 +++-- spp_hxl_area/static/description/index.html | 48 ++-- spp_key_management/README.rst | 97 ++++---- .../static/description/index.html | 17 +- spp_programs/README.rst | 225 +++++++++--------- spp_programs/static/description/index.html | 56 +++-- spp_registrant_gis/README.rst | 9 +- .../static/description/index.html | 35 ++- spp_registry/README.rst | 69 +++--- spp_registry/static/description/index.html | 23 +- spp_registry_search/README.rst | 38 +-- .../static/description/index.html | 14 +- spp_security/README.rst | 22 +- spp_security/static/description/index.html | 12 +- spp_service_points/README.rst | 28 +-- .../static/description/index.html | 14 +- spp_simulation/README.rst | 44 ++-- spp_simulation/static/description/index.html | 45 ++-- spp_source_tracking/README.rst | 36 +-- .../static/description/index.html | 4 +- spp_starter_sp_mis/README.rst | 12 +- .../static/description/index.html | 4 +- spp_studio/README.rst | 92 +++---- spp_studio/static/description/index.html | 17 +- spp_studio_api_v2/README.rst | 51 ++-- .../static/description/index.html | 17 +- spp_studio_change_requests/README.rst | 58 ++--- .../static/description/index.html | 20 +- spp_studio_events/README.rst | 74 +++--- .../static/description/index.html | 23 +- spp_user_roles/README.rst | 40 ++-- spp_user_roles/static/description/index.html | 11 +- spp_versioning/README.rst | 34 +-- spp_versioning/static/description/index.html | 7 +- spp_vocabulary/README.rst | 46 ++-- spp_vocabulary/static/description/index.html | 12 +- 113 files changed, 1969 insertions(+), 1868 deletions(-) diff --git a/spp_alerts/README.rst b/spp_alerts/README.rst index 54f87c0..d67d1fe 100644 --- a/spp_alerts/README.rst +++ b/spp_alerts/README.rst @@ -43,15 +43,15 @@ Key Capabilities Key Models ~~~~~~~~~~ -+--------------------+-------------------------------------------------+ -| Model | Description | -+====================+=================================================+ -| ``spp.alert`` | Alert instance with state tracking and | -| | resolution workflow | -+--------------------+-------------------------------------------------+ -| ``spp.alert.rule`` | Rule configuration for monitoring criteria and | -| | thresholds | -+--------------------+-------------------------------------------------+ ++--------------------+------------------------------------------------+ +| Model | Description | ++====================+================================================+ +| ``spp.alert`` | Alert instance with state tracking and | +| | resolution workflow | ++--------------------+------------------------------------------------+ +| ``spp.alert.rule`` | Rule configuration for monitoring criteria and | +| | thresholds | ++--------------------+------------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_api_v2/README.rst b/spp_api_v2/README.rst index a73935a..e9731ed 100644 --- a/spp_api_v2/README.rst +++ b/spp_api_v2/README.rst @@ -44,24 +44,24 @@ Key Capabilities Key Models ---------- -+---------------------------+------------------------------------------+ -| Model | Description | -+===========================+==========================================+ -| ``spp.api.client`` | OAuth 2.0 credentials, organization | -| | verification | -+---------------------------+------------------------------------------+ -| ``spp.api.client.scope`` | Resource/action permissions | -+---------------------------+------------------------------------------+ -| ``spp.api.path`` | Endpoint configuration and filters | -+---------------------------+------------------------------------------+ -| ``spp.api.path.filter`` | Field-level filter configurations | -+---------------------------+------------------------------------------+ -| ``spp.api.filter.preset`` | Saved filter combinations | -+---------------------------+------------------------------------------+ -| ``spp.api.extension`` | Domain field registry | -+---------------------------+------------------------------------------+ -| ``spp.consent.scope`` | Resource types per consent | -+---------------------------+------------------------------------------+ ++---------------------------+-----------------------------------------+ +| Model | Description | ++===========================+=========================================+ +| ``spp.api.client`` | OAuth 2.0 credentials, organization | +| | verification | ++---------------------------+-----------------------------------------+ +| ``spp.api.client.scope`` | Resource/action permissions | ++---------------------------+-----------------------------------------+ +| ``spp.api.path`` | Endpoint configuration and filters | ++---------------------------+-----------------------------------------+ +| ``spp.api.path.filter`` | Field-level filter configurations | ++---------------------------+-----------------------------------------+ +| ``spp.api.filter.preset`` | Saved filter combinations | ++---------------------------+-----------------------------------------+ +| ``spp.api.extension`` | Domain field registry | ++---------------------------+-----------------------------------------+ +| ``spp.consent.scope`` | Resource types per consent | ++---------------------------+-----------------------------------------+ UI Location ----------- @@ -110,20 +110,20 @@ API endpoints available at ``/api/v2/`` (token endpoint: Security -------- -+--------------------------+-------------------------------------------+ -| Group | Access | -+==========================+===========================================+ -| ``group_api_v2_viewer`` | Read-only: all API configuration and | -| | consent | -+--------------------------+-------------------------------------------+ -| ``group_api_v2_officer`` | Read/Write: all models (no | -| | create/delete), full CRUD on consent | -| | scopes | -+--------------------------+-------------------------------------------+ -| ``group_api_v2_manager`` | Full CRUD: clients, scopes, paths, | -| | filters, presets, extensions; | -| | Read/Write/Create on consent (no delete) | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Group | Access | ++==========================+==========================================+ +| ``group_api_v2_viewer`` | Read-only: all API configuration and | +| | consent | ++--------------------------+------------------------------------------+ +| ``group_api_v2_officer`` | Read/Write: all models (no | +| | create/delete), full CRUD on consent | +| | scopes | ++--------------------------+------------------------------------------+ +| ``group_api_v2_manager`` | Full CRUD: clients, scopes, paths, | +| | filters, presets, extensions; | +| | Read/Write/Create on consent (no delete) | ++--------------------------+------------------------------------------+ Extension Points ---------------- diff --git a/spp_api_v2/static/description/index.html b/spp_api_v2/static/description/index.html index 7c943e8..7fd00cf 100644 --- a/spp_api_v2/static/description/index.html +++ b/spp_api_v2/static/description/index.html @@ -393,8 +393,8 @@

Key Capabilities

Key Models

--++ diff --git a/spp_api_v2_change_request/README.rst b/spp_api_v2_change_request/README.rst index 5858f9b..b632afb 100644 --- a/spp_api_v2_change_request/README.rst +++ b/spp_api_v2_change_request/README.rst @@ -47,19 +47,19 @@ Key Models This module extends existing models and does not define new ones. -+-----------------------------+----------------------------------------+ -| Model | Usage | -+=============================+========================================+ -| ``fastapi.endpoint`` | Extended to register ChangeRequest | -| | router with API V2 | -+-----------------------------+----------------------------------------+ -| ``spp.change.request`` | CRUD operations via REST API | -+-----------------------------+----------------------------------------+ -| ``spp.change.request.type`` | Looked up by code in create requests | -+-----------------------------+----------------------------------------+ -| ``spp.registry.id`` | Used to resolve registrant identifiers | -| | (system|value) | -+-----------------------------+----------------------------------------+ ++-----------------------------+---------------------------------------+ +| Model | Usage | ++=============================+=======================================+ +| ``fastapi.endpoint`` | Extended to register ChangeRequest | +| | router with API V2 | ++-----------------------------+---------------------------------------+ +| ``spp.change.request`` | CRUD operations via REST API | ++-----------------------------+---------------------------------------+ +| ``spp.change.request.type`` | Looked up by code in create requests | ++-----------------------------+---------------------------------------+ +| ``spp.registry.id`` | Used to resolve registrant | +| | identifiers (system|value) | ++-----------------------------+---------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_api_v2_change_request/static/description/index.html b/spp_api_v2_change_request/static/description/index.html index 4c0c788..3c6d9a7 100644 --- a/spp_api_v2_change_request/static/description/index.html +++ b/spp_api_v2_change_request/static/description/index.html @@ -395,8 +395,8 @@

Key Models

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

Model
--++ @@ -415,8 +415,8 @@

Key Models

- +
Model Looked up by code in create requests
spp.registry.idUsed to resolve registrant identifiers -(system|value)Used to resolve registrant +identifiers (system|value)
diff --git a/spp_api_v2_entitlements/README.rst b/spp_api_v2_entitlements/README.rst index fbde615..3941c87 100644 --- a/spp_api_v2_entitlements/README.rst +++ b/spp_api_v2_entitlements/README.rst @@ -44,15 +44,15 @@ Key Capabilities Key Models ~~~~~~~~~~ -+--------------------------+-------------------------------------------+ -| Model | Description | -+==========================+===========================================+ -| ``spp.api.client.scope`` | Extended to add ``entitlement`` as | -| | resource type | -+--------------------------+-------------------------------------------+ -| ``fastapi.endpoint`` | Extended to register entitlement router | -| | for ``api_v2`` app | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Model | Description | ++==========================+==========================================+ +| ``spp.api.client.scope`` | Extended to add ``entitlement`` as | +| | resource type | ++--------------------------+------------------------------------------+ +| ``fastapi.endpoint`` | Extended to register entitlement router | +| | for ``api_v2`` app | ++--------------------------+------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_api_v2_products/README.rst b/spp_api_v2_products/README.rst index c5e4dcd..6ea1d3f 100644 --- a/spp_api_v2_products/README.rst +++ b/spp_api_v2_products/README.rst @@ -44,15 +44,15 @@ Key Models This module extends existing models rather than introducing new ones: -+--------------------------+-------------------------------------------+ -| Model | Extension | -+==========================+===========================================+ -| ``spp.api.client.scope`` | Adds "product" resource type for scope | -| | management | -+--------------------------+-------------------------------------------+ -| ``fastapi.endpoint`` | Registers Product, ProductCategory, UoM | -| | routers | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Model | Extension | ++==========================+==========================================+ +| ``spp.api.client.scope`` | Adds "product" resource type for scope | +| | management | ++--------------------------+------------------------------------------+ +| ``fastapi.endpoint`` | Registers Product, ProductCategory, UoM | +| | routers | ++--------------------------+------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_api_v2_service_points/README.rst b/spp_api_v2_service_points/README.rst index a9f66f3..648289d 100644 --- a/spp_api_v2_service_points/README.rst +++ b/spp_api_v2_service_points/README.rst @@ -45,15 +45,15 @@ Extended Models This module extends existing models from dependencies: -+--------------------------+-------------------------------------------+ -| Model | Description | -+==========================+===========================================+ -| ``spp.api.client.scope`` | Extended to add "service_point" resource | -| | type for OAuth scopes | -+--------------------------+-------------------------------------------+ -| ``fastapi.endpoint`` | Extended to register Service Point router | -| | in API V2 app | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Model | Description | ++==========================+==========================================+ +| ``spp.api.client.scope`` | Extended to add "service_point" resource | +| | type for OAuth scopes | ++--------------------------+------------------------------------------+ +| ``fastapi.endpoint`` | Extended to register Service Point | +| | router in API V2 app | ++--------------------------+------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_api_v2_service_points/static/description/index.html b/spp_api_v2_service_points/static/description/index.html index 2054125..0294cb4 100644 --- a/spp_api_v2_service_points/static/description/index.html +++ b/spp_api_v2_service_points/static/description/index.html @@ -407,8 +407,8 @@

Extended Models

type for OAuth scopes fastapi.endpoint -Extended to register Service Point router -in API V2 app +Extended to register Service Point +router in API V2 app diff --git a/spp_api_v2_vocabulary/README.rst b/spp_api_v2_vocabulary/README.rst index 7efddca..feef905 100644 --- a/spp_api_v2_vocabulary/README.rst +++ b/spp_api_v2_vocabulary/README.rst @@ -45,20 +45,20 @@ Key Capabilities Key Models ~~~~~~~~~~ -+--------------------------+-------------------------------------------+ -| Model | Description | -+==========================+===========================================+ -| ``spp.vocabulary`` | Vocabulary definitions exposed via GET | -| | endpoints | -+--------------------------+-------------------------------------------+ -| ``spp.vocabulary.code`` | Individual codes within vocabularies | -+--------------------------+-------------------------------------------+ -| ``spp.api.client.scope`` | Extended to add "vocabulary" resource | -| | type for OAuth | -+--------------------------+-------------------------------------------+ -| ``fastapi.endpoint`` | Extended to register Vocabulary router in | -| | API V2 | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Model | Description | ++==========================+==========================================+ +| ``spp.vocabulary`` | Vocabulary definitions exposed via GET | +| | endpoints | ++--------------------------+------------------------------------------+ +| ``spp.vocabulary.code`` | Individual codes within vocabularies | ++--------------------------+------------------------------------------+ +| ``spp.api.client.scope`` | Extended to add "vocabulary" resource | +| | type for OAuth | ++--------------------------+------------------------------------------+ +| ``fastapi.endpoint`` | Extended to register Vocabulary router | +| | in API V2 | ++--------------------------+------------------------------------------+ API Endpoints ~~~~~~~~~~~~~ diff --git a/spp_api_v2_vocabulary/static/description/index.html b/spp_api_v2_vocabulary/static/description/index.html index 684f1b7..23a7ad6 100644 --- a/spp_api_v2_vocabulary/static/description/index.html +++ b/spp_api_v2_vocabulary/static/description/index.html @@ -415,8 +415,8 @@

Key Models

type for OAuth fastapi.endpoint -Extended to register Vocabulary router in -API V2 +Extended to register Vocabulary router +in API V2 diff --git a/spp_approval/README.rst b/spp_approval/README.rst index 19fb595..31a3f83 100644 --- a/spp_approval/README.rst +++ b/spp_approval/README.rst @@ -51,30 +51,30 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------+---------------------------------------+ -| Model | Description | -+==============================+=======================================+ -| ``spp.approval.mixin`` | Abstract mixin providing approval | -| | workflow to inheriting models | -+------------------------------+---------------------------------------+ -| ``spp.approval.definition`` | Configures approval rules, approvers, | -| | and conditions per model | -+------------------------------+---------------------------------------+ -| ``spp.approval.tier`` | Individual tier in a multi-tier | -| | approval sequence | -+------------------------------+---------------------------------------+ -| ``spp.approval.review`` | Tracks individual approval/rejection | -| | actions | -+------------------------------+---------------------------------------+ -| ``spp.approval.tier.review`` | Tracks progress through multi-tier | -| | workflows | -+------------------------------+---------------------------------------+ -| ``spp.approval.freeze`` | Defines system-wide freeze periods | -| | blocking approvals | -+------------------------------+---------------------------------------+ -| ``spp.approval.config`` | System-wide approval configuration | -| | settings | -+------------------------------+---------------------------------------+ ++------------------------------+--------------------------------------+ +| Model | Description | ++==============================+======================================+ +| ``spp.approval.mixin`` | Abstract mixin providing approval | +| | workflow to inheriting models | ++------------------------------+--------------------------------------+ +| ``spp.approval.definition`` | Configures approval rules, | +| | approvers, and conditions per model | ++------------------------------+--------------------------------------+ +| ``spp.approval.tier`` | Individual tier in a multi-tier | +| | approval sequence | ++------------------------------+--------------------------------------+ +| ``spp.approval.review`` | Tracks individual approval/rejection | +| | actions | ++------------------------------+--------------------------------------+ +| ``spp.approval.tier.review`` | Tracks progress through multi-tier | +| | workflows | ++------------------------------+--------------------------------------+ +| ``spp.approval.freeze`` | Defines system-wide freeze periods | +| | blocking approvals | ++------------------------------+--------------------------------------+ +| ``spp.approval.config`` | System-wide approval configuration | +| | settings | ++------------------------------+--------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -112,20 +112,23 @@ On **Approval Definition** forms: Security ~~~~~~~~ -+------------------------------------------+----------------------------------+ -| Group | Access | -+==========================================+==================================+ -| ``spp_approval.group_approval_viewer`` | Read approval records | -+------------------------------------------+----------------------------------+ -| ``spp_approval.group_approval_officer`` | Read/Write/Create (no delete) | -+------------------------------------------+----------------------------------+ -| ``spp_approval.group_approval_manager`` | Read/Write/Create on all models | -| | (delete only for reviews/config; | -| | definitions and freezes require | -| | admin) | -+------------------------------------------+----------------------------------+ -| ``spp_approval.group_approval_approver`` | Approve/reject assigned reviews | -+------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_ | Read approval records | +| approval.group_approval_viewer`` | | ++----------------------------------+----------------------------------+ +| ``spp_a | Read/Write/Create (no delete) | +| pproval.group_approval_officer`` | | ++----------------------------------+----------------------------------+ +| ``spp_a | Read/Write/Create on all models | +| pproval.group_approval_manager`` | (delete only for reviews/config; | +| | definitions and freezes require | +| | admin) | ++----------------------------------+----------------------------------+ +| ``spp_ap | Approve/reject assigned reviews | +| proval.group_approval_approver`` | | ++----------------------------------+----------------------------------+ Note: ``approval_definition`` and ``approval_freeze`` models block deletion for managers via Python override - only system administrators diff --git a/spp_approval/static/description/index.html b/spp_approval/static/description/index.html index fca91d0..d595e83 100644 --- a/spp_approval/static/description/index.html +++ b/spp_approval/static/description/index.html @@ -400,8 +400,8 @@

Key Capabilities

Key Models

--++ @@ -414,8 +414,8 @@

Key Models

workflow to inheriting models - +
Model
spp.approval.definitionConfigures approval rules, approvers, -and conditions per modelConfigures approval rules, +approvers, and conditions per model
spp.approval.tier Individual tier in a multi-tier @@ -478,8 +478,8 @@

Tabs

Security

--++ @@ -487,19 +487,23 @@

Security

- + - + - + - + diff --git a/spp_area/README.rst b/spp_area/README.rst index 53f6c85..a5f8163 100644 --- a/spp_area/README.rst +++ b/spp_area/README.rst @@ -46,29 +46,29 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------------+----------------------------------+ -| Model | Description | -+=====================================+==================================+ -| ``spp.area`` | Hierarchical geographical area | -| | with code and name | -+-------------------------------------+----------------------------------+ -| ``spp.area.kind`` | Area type definition (country, | -| | province, district, etc.) | -+-------------------------------------+----------------------------------+ -| ``spp.area.tag`` | Classification tags for areas | -+-------------------------------------+----------------------------------+ -| ``spp.area.import`` | Excel import wizard with | -| | validation and bulk processing | -+-------------------------------------+----------------------------------+ -| ``spp.area.import.raw`` | Staging table for import | -| | validation | -+-------------------------------------+----------------------------------+ -| ``spp.area.import.json`` | Parsed JSON storage from Excel | -| | files | -+-------------------------------------+----------------------------------+ -| ``spp.area.import.language.wizard`` | Wizard for activating languages | -| | during import | -+-------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.area`` | Hierarchical geographical area | +| | with code and name | ++----------------------------------+----------------------------------+ +| ``spp.area.kind`` | Area type definition (country, | +| | province, district, etc.) | ++----------------------------------+----------------------------------+ +| ``spp.area.tag`` | Classification tags for areas | ++----------------------------------+----------------------------------+ +| ``spp.area.import`` | Excel import wizard with | +| | validation and bulk processing | ++----------------------------------+----------------------------------+ +| ``spp.area.import.raw`` | Staging table for import | +| | validation | ++----------------------------------+----------------------------------+ +| ``spp.area.import.json`` | Parsed JSON storage from Excel | +| | files | ++----------------------------------+----------------------------------+ +| ``s | Wizard for activating languages | +| pp.area.import.language.wizard`` | during import | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_area/static/description/index.html b/spp_area/static/description/index.html index 06d6fed..5cd5d7e 100644 --- a/spp_area/static/description/index.html +++ b/spp_area/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Group
spp_approval.group_approval_viewer
spp_ +approval.group_approval_viewer Read approval records
spp_approval.group_approval_officer
spp_a +pproval.group_approval_officer Read/Write/Create (no delete)
spp_approval.group_approval_manager
spp_a +pproval.group_approval_manager Read/Write/Create on all models (delete only for reviews/config; definitions and freezes require admin)
spp_approval.group_approval_approver
spp_ap +proval.group_approval_approver Approve/reject assigned reviews
--++ @@ -427,7 +427,8 @@

Key Models

- + diff --git a/spp_area_hdx/README.rst b/spp_area_hdx/README.rst index 8efd269..e86b7d9 100644 --- a/spp_area_hdx/README.rst +++ b/spp_area_hdx/README.rst @@ -46,21 +46,21 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.hdx.cod.source`` | Tracks COD datasets available from | -| | HDX (one per country) | -+-------------------------------+--------------------------------------+ -| ``spp.hdx.cod.resource`` | Individual admin level dataset | -| | within a COD (e.g., Level 3) | -+-------------------------------+--------------------------------------+ -| ``spp.hdx.cod.import.wizard`` | Multi-step wizard to download from | -| | HDX or upload GeoJSON | -+-------------------------------+--------------------------------------+ -| ``spp.area`` (extended) | Adds ``hdx_pcode`` field and GPS | -| | lookup methods | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.hdx.cod.source`` | Tracks COD datasets available from | +| | HDX (one per country) | ++-------------------------------+-------------------------------------+ +| ``spp.hdx.cod.resource`` | Individual admin level dataset | +| | within a COD (e.g., Level 3) | ++-------------------------------+-------------------------------------+ +| ``spp.hdx.cod.import.wizard`` | Multi-step wizard to download from | +| | HDX or upload GeoJSON | ++-------------------------------+-------------------------------------+ +| ``spp.area`` (extended) | Adds ``hdx_pcode`` field and GPS | +| | lookup methods | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -87,14 +87,14 @@ UI Location Security ~~~~~~~~ -+-----------------------+----------------------------------------------+ -| Group | Access | -+=======================+==============================================+ -| ``group_hdx_user`` | Read access to COD sources and resources | -+-----------------------+----------------------------------------------+ -| ``group_hdx_manager`` | Full CRUD on sources/resources, sync from | -| | HDX, run imports | -+-----------------------+----------------------------------------------+ ++-----------------------+---------------------------------------------+ +| Group | Access | ++=======================+=============================================+ +| ``group_hdx_user`` | Read access to COD sources and resources | ++-----------------------+---------------------------------------------+ +| ``group_hdx_manager`` | Full CRUD on sources/resources, sync from | +| | HDX, run imports | ++-----------------------+---------------------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_audit/README.rst b/spp_audit/README.rst index b0de36a..c19a2b5 100644 --- a/spp_audit/README.rst +++ b/spp_audit/README.rst @@ -52,15 +52,15 @@ Key Capabilities Key Models ~~~~~~~~~~ -+--------------------+-------------------------------------------------+ -| Model | Description | -+====================+=================================================+ -| ``spp.audit.rule`` | Defines which models and operations to audit, | -| | with field filters | -+--------------------+-------------------------------------------------+ -| ``spp.audit.log`` | Database-stored audit entries with old/new | -| | value comparison | -+--------------------+-------------------------------------------------+ ++--------------------+------------------------------------------------+ +| Model | Description | ++====================+================================================+ +| ``spp.audit.rule`` | Defines which models and operations to audit, | +| | with field filters | ++--------------------+------------------------------------------------+ +| ``spp.audit.log`` | Database-stored audit entries with old/new | +| | value comparison | ++--------------------+------------------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -103,15 +103,15 @@ UI Location Security ~~~~~~~~ -+-----------------------------------+----------------------------------+ -| Group | Access | -+===================================+==================================+ -| ``spp_audit.group_audit_manager`` | Full CRUD on audit rules and | -| | logs | -+-----------------------------------+----------------------------------+ -| ``spp_security.group_spp_admin`` | Includes audit manager | -| | privileges (via imply) | -+-----------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ` | Full CRUD on audit rules and | +| `spp_audit.group_audit_manager`` | logs | ++----------------------------------+----------------------------------+ +| ``spp_security.group_spp_admin`` | Includes audit manager | +| | privileges (via imply) | ++----------------------------------+----------------------------------+ Audit logs cannot be deleted by default (``ALLOW_DELETE = False`` in code, despite ``perm_unlink=1`` in access rules). diff --git a/spp_audit/static/description/index.html b/spp_audit/static/description/index.html index 56bb010..29283bd 100644 --- a/spp_audit/static/description/index.html +++ b/spp_audit/static/description/index.html @@ -464,8 +464,8 @@

UI Location

Security

Model Parsed JSON storage from Excel files
spp.area.import.language.wizard
s +pp.area.import.language.wizard Wizard for activating languages during import
--++ @@ -473,7 +473,8 @@

Security

- + diff --git a/spp_banking/README.rst b/spp_banking/README.rst index a16a04c..dbe328c 100644 --- a/spp_banking/README.rst +++ b/spp_banking/README.rst @@ -41,12 +41,11 @@ Key Capabilities Key Models ~~~~~~~~~~ -+----------------------+-----------------------------------------------+ -| Model | Description | -+======================+===============================================+ -| ``res.partner.bank`` | Bank account details with automatic IBAN | -| | computation | -+----------------------+-----------------------------------------------+ ++----------------------+------------------------------------------------------+ +| Model | Description | ++======================+======================================================+ +| ``res.partner.bank`` | Bank account details with automatic IBAN computation | ++----------------------+------------------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_banking/static/description/index.html b/spp_banking/static/description/index.html index 9fa2926..645bda6 100644 --- a/spp_banking/static/description/index.html +++ b/spp_banking/static/description/index.html @@ -390,8 +390,8 @@

Key Capabilities

Key Models

Group
spp_audit.group_audit_manager
` +spp_audit.group_audit_manager` Full CRUD on audit rules and logs
--++ @@ -400,8 +400,7 @@

Key Models

- +
Model
res.partner.bankBank account details with automatic IBAN -computationBank account details with automatic IBAN computation
diff --git a/spp_base_common/README.rst b/spp_base_common/README.rst index 85003af..a253c7d 100644 --- a/spp_base_common/README.rst +++ b/spp_base_common/README.rst @@ -44,12 +44,12 @@ Key Capabilities Key Models ~~~~~~~~~~ -+--------------------------+-------------------------------------------+ -| Model | Description | -+==========================+===========================================+ -| ``spp.phone.validation`` | Configurable phone validation rule | -| | (prefix, digits) | -+--------------------------+-------------------------------------------+ ++--------------------------+------------------------------------------+ +| Model | Description | ++==========================+==========================================+ +| ``spp.phone.validation`` | Configurable phone validation rule | +| | (prefix, digits) | ++--------------------------+------------------------------------------+ **Extensions:** diff --git a/spp_branding_kit/README.rst b/spp_branding_kit/README.rst index 4c61d19..987f7be 100644 --- a/spp_branding_kit/README.rst +++ b/spp_branding_kit/README.rst @@ -51,21 +51,21 @@ Key Models This module does not introduce new models. It extends existing models: -+-------------------------+--------------------------------------------+ -| Model | Extension Purpose | -+=========================+============================================+ -| ``res.users`` | Custom email signature, removes Odoo | -| | account URL | -+-------------------------+--------------------------------------------+ -| ``res.config.settings`` | Adds branding and telemetry configuration | -| | fields | -+-------------------------+--------------------------------------------+ -| ``ir.http`` | Injects OpenSPP branding into web client | -| | session info | -+-------------------------+--------------------------------------------+ -| ``ir.module.module`` | Provides utility to count paid/proprietary | -| | apps | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Extension Purpose | ++=========================+===========================================+ +| ``res.users`` | Custom email signature, removes Odoo | +| | account URL | ++-------------------------+-------------------------------------------+ +| ``res.config.settings`` | Adds branding and telemetry configuration | +| | fields | ++-------------------------+-------------------------------------------+ +| ``ir.http`` | Injects OpenSPP branding into web client | +| | session info | ++-------------------------+-------------------------------------------+ +| ``ir.module.module`` | Provides utility to count | +| | paid/proprietary apps | ++-------------------------+-------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_cel_domain/README.rst b/spp_cel_domain/README.rst index f9ce7aa..5b48bfd 100644 --- a/spp_cel_domain/README.rst +++ b/spp_cel_domain/README.rst @@ -48,32 +48,34 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.cel.variable`` | Variable definitions with source | -| | type, CEL accessor, and caching | -+-------------------------------+--------------------------------------+ -| ``spp.cel.variable.category`` | Variable categories for organization | -+-------------------------------+--------------------------------------+ -| ``spp.cel.expression`` | Business rule expressions with CEL | -| | syntax and variable tracking | -+-------------------------------+--------------------------------------+ -| ``spp.data.provider`` | External data provider configuration | -| | with auth and connection settings | -+-------------------------------+--------------------------------------+ -| ``spp.data.credential`` | Secure encrypted credential storage | -| | for external providers | -+-------------------------------+--------------------------------------+ -| ``spp.data.value`` | Cached variable values with period | -| | keys and expiration tracking | -+-------------------------------+--------------------------------------+ -| ``spp.cel.service`` | Service facade for compiling and | -| | evaluating CEL expressions | -+-------------------------------+--------------------------------------+ -| ``spp.cel.variable.resolver`` | Resolves variable references into | -| | expanded CEL expressions | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.cel.variable`` | Variable definitions with source | +| | type, CEL accessor, and caching | ++-------------------------------+-------------------------------------+ +| ``spp.cel.variable.category`` | Variable categories for | +| | organization | ++-------------------------------+-------------------------------------+ +| ``spp.cel.expression`` | Business rule expressions with CEL | +| | syntax and variable tracking | ++-------------------------------+-------------------------------------+ +| ``spp.data.provider`` | External data provider | +| | configuration with auth and | +| | connection settings | ++-------------------------------+-------------------------------------+ +| ``spp.data.credential`` | Secure encrypted credential storage | +| | for external providers | ++-------------------------------+-------------------------------------+ +| ``spp.data.value`` | Cached variable values with period | +| | keys and expiration tracking | ++-------------------------------+-------------------------------------+ +| ``spp.cel.service`` | Service facade for compiling and | +| | evaluating CEL expressions | ++-------------------------------+-------------------------------------+ +| ``spp.cel.variable.resolver`` | Resolves variable references into | +| | expanded CEL expressions | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -103,19 +105,19 @@ UI Location Security ~~~~~~~~ -+---------------------------------------------+----------------------------------+ -| Group | Access | -+=============================================+==================================+ -| ``spp_cel_domain.group_cel_domain_viewer`` | Read variables, expressions, and | -| | data cache | -+---------------------------------------------+----------------------------------+ -| ``spp_cel_domain.group_cel_domain_manager`` | Full CRUD on variables, | -| | expressions, providers, and | -| | cache | -+---------------------------------------------+----------------------------------+ -| ``spp_cel_domain.group_cel_domain_admin`` | Full CRUD on credentials and | -| | sensitive configs | -+---------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_cel_ | Read variables, expressions, and | +| domain.group_cel_domain_viewer`` | data cache | ++----------------------------------+----------------------------------+ +| ``spp_cel_d | Full CRUD on variables, | +| omain.group_cel_domain_manager`` | expressions, providers, and | +| | cache | ++----------------------------------+----------------------------------+ +| ``spp_cel | Full CRUD on credentials and | +| _domain.group_cel_domain_admin`` | sensitive configs | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_cel_domain/static/description/index.html b/spp_cel_domain/static/description/index.html index 7f31d74..6b64b8a 100644 --- a/spp_cel_domain/static/description/index.html +++ b/spp_cel_domain/static/description/index.html @@ -397,8 +397,8 @@

Key Capabilities

Key Models

--++ @@ -411,15 +411,17 @@

Key Models

type, CEL accessor, and caching - + - +
Model
spp.cel.variable.categoryVariable categories for organizationVariable categories for +organization
spp.cel.expression Business rule expressions with CEL syntax and variable tracking
spp.data.providerExternal data provider configuration -with auth and connection settingsExternal data provider +configuration with auth and +connection settings
spp.data.credential Secure encrypted credential storage @@ -470,8 +472,8 @@

UI Location

Security

--++ @@ -479,16 +481,19 @@

Security

- + - + - + diff --git a/spp_cel_registry_search/README.rst b/spp_cel_registry_search/README.rst index 29ad63d..0e877d6 100644 --- a/spp_cel_registry_search/README.rst +++ b/spp_cel_registry_search/README.rst @@ -66,14 +66,15 @@ UI Location Security ~~~~~~~~ -+---------------------------------------------------+----------------------------------+ -| Group | Access | -+===================================================+==================================+ -| ``spp_cel_registry_search.group_cel_search_user`` | Access to Advanced Search portal | -+---------------------------------------------------+----------------------------------+ -| ``spp_registry.group_registry_officer`` | Automatically includes CEL | -| | Search access | -+---------------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_cel_registr | Access to Advanced Search portal | +| y_search.group_cel_search_user`` | | ++----------------------------------+----------------------------------+ +| ``spp_r | Automatically includes CEL | +| egistry.group_registry_officer`` | Search access | ++----------------------------------+----------------------------------+ The ``group_cel_search_user`` group implies ``spp_registry.group_registry_viewer``, ensuring users can only search diff --git a/spp_cel_registry_search/static/description/index.html b/spp_cel_registry_search/static/description/index.html index 900c476..40c0cb9 100644 --- a/spp_cel_registry_search/static/description/index.html +++ b/spp_cel_registry_search/static/description/index.html @@ -414,8 +414,8 @@

UI Location

Security

Group
spp_cel_domain.group_cel_domain_viewer
spp_cel_ +domain.group_cel_domain_viewer Read variables, expressions, and data cache
spp_cel_domain.group_cel_domain_manager
spp_cel_d +omain.group_cel_domain_manager Full CRUD on variables, expressions, providers, and cache
spp_cel_domain.group_cel_domain_admin
spp_cel +_domain.group_cel_domain_admin Full CRUD on credentials and sensitive configs
--++ @@ -423,10 +423,12 @@

Security

- + - + diff --git a/spp_cel_widget/README.rst b/spp_cel_widget/README.rst index a8a4846..8abc9a4 100644 --- a/spp_cel_widget/README.rst +++ b/spp_cel_widget/README.rst @@ -47,16 +47,16 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-----------------------------+----------------------------------------+ -| Model | Description | -+=============================+========================================+ -| ``spp.cel.symbol.provider`` | Abstract model that extracts symbols | -| | for autocompletion and validates | -| | expressions | -+-----------------------------+----------------------------------------+ -| ``spp.cel.widget.demo`` | Transient wizard for testing the | -| | widget (debug mode only) | -+-----------------------------+----------------------------------------+ ++-----------------------------+---------------------------------------+ +| Model | Description | ++=============================+=======================================+ +| ``spp.cel.symbol.provider`` | Abstract model that extracts symbols | +| | for autocompletion and validates | +| | expressions | ++-----------------------------+---------------------------------------+ +| ``spp.cel.widget.demo`` | Transient wizard for testing the | +| | widget (debug mode only) | ++-----------------------------+---------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -102,19 +102,20 @@ Tabs in Demo Wizard Security ~~~~~~~~ -+--------------------+-------------------------+------------------------+ -| Group | Model | Access | -+====================+=========================+========================+ -| Internal User | HTTP endpoints | Can call widget | -| | | JSONRPC endpoints | -| | | (auth="user") | -+--------------------+-------------------------+------------------------+ -| Settings | ``spp.cel.widget.demo`` | Full CRUD (read, | -| | | write, create, delete) | -+--------------------+-------------------------+------------------------+ -| Technical Features | Menu visibility | Can see demo menu in | -| | | Settings > Technical | -+--------------------+-------------------------+------------------------+ ++--------------------+-----------------------+-----------------------+ +| Group | Model | Access | ++====================+=======================+=======================+ +| Internal User | HTTP endpoints | Can call widget | +| | | JSONRPC endpoints | +| | | (auth="user") | ++--------------------+-----------------------+-----------------------+ +| Settings | `` | Full CRUD (read, | +| | spp.cel.widget.demo`` | write, create, | +| | | delete) | ++--------------------+-----------------------+-----------------------+ +| Technical Features | Menu visibility | Can see demo menu in | +| | | Settings > Technical | ++--------------------+-----------------------+-----------------------+ HTTP Endpoints ~~~~~~~~~~~~~~ diff --git a/spp_cel_widget/static/description/index.html b/spp_cel_widget/static/description/index.html index f1f236d..312b532 100644 --- a/spp_cel_widget/static/description/index.html +++ b/spp_cel_widget/static/description/index.html @@ -396,8 +396,8 @@

Key Capabilities

Key Models

Group
spp_cel_registry_search.group_cel_search_user
spp_cel_registr +y_search.group_cel_search_user Access to Advanced Search portal
spp_registry.group_registry_officer
spp_r +egistry.group_registry_officer Automatically includes CEL Search access
--++ @@ -462,8 +462,8 @@

Tabs in Demo Wizard

Security

Model
--++ @@ -480,9 +480,11 @@

Security

(auth=”user”) - + +write, create, +delete) diff --git a/spp_change_request_v2/README.rst b/spp_change_request_v2/README.rst index 630655d..e8e6355 100644 --- a/spp_change_request_v2/README.rst +++ b/spp_change_request_v2/README.rst @@ -47,63 +47,63 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------------+----------------------------------+ -| Model | Description | -+=====================================+==================================+ -| ``spp.change.request`` | Main change request record with | -| | approval workflow | -+-------------------------------------+----------------------------------+ -| ``spp.change.request.type`` | Configuration for CR types: | -| | target, detail model, workflow | -+-------------------------------------+----------------------------------+ -| ``spp.change.request.type.mapping`` | Field mappings for automatic | -| | application | -+-------------------------------------+----------------------------------+ -| ``spp.cr.conflict.rule`` | Rules for detecting conflicting | -| | change requests | -+-------------------------------------+----------------------------------+ -| ``spp.cr.duplicate.config`` | Configuration for duplicate | -| | detection thresholds | -+-------------------------------------+----------------------------------+ -| ``spp.cr.conflict.mixin`` | Mixin providing conflict and | -| | duplicate detection | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.base`` | Base model for all change | -| | request detail types | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.add_member`` | Detail model for adding members | -| | to groups | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.edit_individual`` | Detail model for editing | -| | individual registrant data | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.edit_group`` | Detail model for editing | -| | group/household data | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.remove_member`` | Detail model for removing | -| | members from groups | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.change_hoh`` | Detail model for changing head | -| | of household | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.exit_registrant`` | Detail model for marking | -| | registrants as exited | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.transfer_member`` | Detail model for transferring | -| | members between groups | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.update_id`` | Detail model for updating | -| | registrant ID numbers | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.create_group`` | Detail model for creating new | -| | groups/households | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.merge_registrants`` | Detail model for merging | -| | duplicate registrant records | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.split_household`` | Detail model for splitting | -| | households into separate groups | -+-------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.change.request`` | Main change request record with | +| | approval workflow | ++----------------------------------+----------------------------------+ +| ``spp.change.request.type`` | Configuration for CR types: | +| | target, detail model, workflow | ++----------------------------------+----------------------------------+ +| ``s | Field mappings for automatic | +| pp.change.request.type.mapping`` | application | ++----------------------------------+----------------------------------+ +| ``spp.cr.conflict.rule`` | Rules for detecting conflicting | +| | change requests | ++----------------------------------+----------------------------------+ +| ``spp.cr.duplicate.config`` | Configuration for duplicate | +| | detection thresholds | ++----------------------------------+----------------------------------+ +| ``spp.cr.conflict.mixin`` | Mixin providing conflict and | +| | duplicate detection | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.base`` | Base model for all change | +| | request detail types | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.add_member`` | Detail model for adding members | +| | to groups | ++----------------------------------+----------------------------------+ +| ` | Detail model for editing | +| `spp.cr.detail.edit_individual`` | individual registrant data | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.edit_group`` | Detail model for editing | +| | group/household data | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.remove_member`` | Detail model for removing | +| | members from groups | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.change_hoh`` | Detail model for changing head | +| | of household | ++----------------------------------+----------------------------------+ +| ` | Detail model for marking | +| `spp.cr.detail.exit_registrant`` | registrants as exited | ++----------------------------------+----------------------------------+ +| ` | Detail model for transferring | +| `spp.cr.detail.transfer_member`` | members between groups | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.update_id`` | Detail model for updating | +| | registrant ID numbers | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.create_group`` | Detail model for creating new | +| | groups/households | ++----------------------------------+----------------------------------+ +| ``s | Detail model for merging | +| pp.cr.detail.merge_registrants`` | duplicate registrant records | ++----------------------------------+----------------------------------+ +| ` | Detail model for splitting | +| `spp.cr.detail.split_household`` | households into separate groups | ++----------------------------------+----------------------------------+ Form Tabs ~~~~~~~~~ @@ -158,25 +158,25 @@ UI Location Security ~~~~~~~~ -+------------------------------------------------------+----------------------------------+ -| Group | Access | -+======================================================+==================================+ -| ``spp_change_request_v2.group_cr_user`` | Create and submit change | -| | requests (read/write/create) | -+------------------------------------------------------+----------------------------------+ -| ``spp_change_request_v2.group_cr_validator`` | Approve/reject, field-level | -| | validation (read/write/create) | -+------------------------------------------------------+----------------------------------+ -| ``spp_change_request_v2.group_cr_validator_hq`` | HQ-level approval with registry | -| | write (read/write/create) | -+------------------------------------------------------+----------------------------------+ -| ``spp_change_request_v2.group_cr_manager`` | Full CRUD including | -| | configuration | -+------------------------------------------------------+----------------------------------+ -| ``spp_change_request_v2.group_cr_conflict_approver`` | Override blocking conflict | -| | detections | -| | (specialized/functional) | -+------------------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_c | Create and submit change | +| hange_request_v2.group_cr_user`` | requests (read/write/create) | ++----------------------------------+----------------------------------+ +| ``spp_change | Approve/reject, field-level | +| _request_v2.group_cr_validator`` | validation (read/write/create) | ++----------------------------------+----------------------------------+ +| ``spp_change_re | HQ-level approval with registry | +| quest_v2.group_cr_validator_hq`` | write (read/write/create) | ++----------------------------------+----------------------------------+ +| ``spp_chan | Full CRUD including | +| ge_request_v2.group_cr_manager`` | configuration | ++----------------------------------+----------------------------------+ +| ``spp_change_request | Override blocking conflict | +| _v2.group_cr_conflict_approver`` | detections | +| | (specialized/functional) | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_change_request_v2/static/description/index.html b/spp_change_request_v2/static/description/index.html index 515c5b2..598c508 100644 --- a/spp_change_request_v2/static/description/index.html +++ b/spp_change_request_v2/static/description/index.html @@ -396,8 +396,8 @@

Key Capabilities

Key Models

Settingsspp.cel.widget.demo`` +spp.cel.widget.demo`` Full CRUD (read, -write, create, delete)
Technical Features Menu visibility
--++ @@ -413,7 +413,8 @@

Key Models

- + @@ -437,7 +438,8 @@

Key Models

- + @@ -453,11 +455,13 @@

Key Models

- + - + @@ -469,11 +473,13 @@

Key Models

- + - + @@ -535,8 +541,8 @@

UI Location

Security

Model Configuration for CR types: target, detail model, workflow
spp.change.request.type.mapping
s +pp.change.request.type.mapping Field mappings for automatic application
Detail model for adding members to groups
spp.cr.detail.edit_individual
` +spp.cr.detail.edit_individual` Detail model for editing individual registrant data
Detail model for changing head of household
spp.cr.detail.exit_registrant
` +spp.cr.detail.exit_registrant` Detail model for marking registrants as exited
spp.cr.detail.transfer_member
` +spp.cr.detail.transfer_member` Detail model for transferring members between groups
Detail model for creating new groups/households
spp.cr.detail.merge_registrants
s +pp.cr.detail.merge_registrants Detail model for merging duplicate registrant records
spp.cr.detail.split_household
` +spp.cr.detail.split_household` Detail model for splitting households into separate groups
--++ @@ -544,23 +550,28 @@

Security

- + - + - + - + - + diff --git a/spp_claim_169/README.rst b/spp_claim_169/README.rst index 7e7a74a..1d959d0 100644 --- a/spp_claim_169/README.rst +++ b/spp_claim_169/README.rst @@ -47,27 +47,27 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------------+----------------------------------+ -| Model | Description | -+=====================================+==================================+ -| ``spp.claim169.credential`` | Stores issued credentials with | -| | QR codes and validity dates | -+-------------------------------------+----------------------------------+ -| ``spp.claim169.issuer.config`` | Defines issuer identity and | -| | signing keys | -+-------------------------------------+----------------------------------+ -| ``spp.claim169.attribute.mapping`` | Maps partner fields to claim | -| | attribute numbers | -+-------------------------------------+----------------------------------+ -| ``spp.claim169.service`` | Service for credential | -| | generation and verification | -+-------------------------------------+----------------------------------+ -| ``spp.claim169.generate.qr.wizard`` | Wizard for batch credential | -| | generation | -+-------------------------------------+----------------------------------+ -| ``spp.claim169.verify.qr.wizard`` | Wizard for credential | -| | verification | -+-------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.claim169.credential`` | Stores issued credentials with | +| | QR codes and validity dates | ++----------------------------------+----------------------------------+ +| ``spp.claim169.issuer.config`` | Defines issuer identity and | +| | signing keys | ++----------------------------------+----------------------------------+ +| `` | Maps partner fields to claim | +| spp.claim169.attribute.mapping`` | attribute numbers | ++----------------------------------+----------------------------------+ +| ``spp.claim169.service`` | Service for credential | +| | generation and verification | ++----------------------------------+----------------------------------+ +| ``s | Wizard for batch credential | +| pp.claim169.generate.qr.wizard`` | generation | ++----------------------------------+----------------------------------+ +| ` | Wizard for credential | +| `spp.claim169.verify.qr.wizard`` | verification | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -102,13 +102,15 @@ UI Location Security ~~~~~~~~ -+------------------------------------------+--------------+---------------+-----------+ -| Group | Credentials | Configuration | Wizards | -+==========================================+==============+===============+===========+ -| ``spp_claim_169.group_claim169_user`` | Read, Create | Read only | Full CRUD | -+------------------------------------------+--------------+---------------+-----------+ -| ``spp_claim_169.group_claim169_manager`` | Full CRUD | Full CRUD | Full CRUD | -+------------------------------------------+--------------+---------------+-----------+ ++------------------------+--------------+---------------+-----------+ +| Group | Credentials | Configuration | Wizards | ++========================+==============+===============+===========+ +| ``spp_claim_169 | Read, Create | Read only | Full CRUD | +| .group_claim169_user`` | | | | ++------------------------+--------------+---------------+-----------+ +| ``spp_claim_169.gr | Full CRUD | Full CRUD | Full CRUD | +| oup_claim169_manager`` | | | | ++------------------------+--------------+---------------+-----------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_consent/README.rst b/spp_consent/README.rst index 1e15c97..6b6bbf0 100644 --- a/spp_consent/README.rst +++ b/spp_consent/README.rst @@ -54,44 +54,44 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------------+----------------------------------+ -| Model | Description | -+====================================+==================================+ -| ``spp.consent`` | Consent record implementing ISO | -| | 27560 structure with DPV fields | -+------------------------------------+----------------------------------+ -| ``spp.consent.history`` | Audit trail of consent changes | -| | (action, status, user, | -| | timestamp) | -+------------------------------------+----------------------------------+ -| ``spp.consent.notice`` | Privacy notices per ISO 29184 | -| | with version tracking | -+------------------------------------+----------------------------------+ -| ``spp.consent.purpose`` | DPV-aligned purpose taxonomy | -| | (service delivery, research, | -| | etc.) | -+------------------------------------+----------------------------------+ -| ``spp.consent.personal.data`` | DPV-aligned data categories | -| | (GDPR Article 9 sensitivity | -| | tagging) | -+------------------------------------+----------------------------------+ -| ``spp.consent.processing`` | DPV-aligned processing | -| | operations (collect, store, | -| | share, etc.) | -+------------------------------------+----------------------------------+ -| ``spp.consent.org.type`` | Organization type categories for | -| | category-based consent | -+------------------------------------+----------------------------------+ -| ``spp.consent.mixin`` | Abstract mixin to add consent | -| | tracking to any model | -+------------------------------------+----------------------------------+ -| ``spp.record.consent.wizard`` | Wizard for recording individual | -| | consent | -+------------------------------------+----------------------------------+ -| ``spp.bulk.record.consent.wizard`` | Wizard for bulk consent | -| | recording across multiple | -| | beneficiaries | -+------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.consent`` | Consent record implementing ISO | +| | 27560 structure with DPV fields | ++----------------------------------+----------------------------------+ +| ``spp.consent.history`` | Audit trail of consent changes | +| | (action, status, user, | +| | timestamp) | ++----------------------------------+----------------------------------+ +| ``spp.consent.notice`` | Privacy notices per ISO 29184 | +| | with version tracking | ++----------------------------------+----------------------------------+ +| ``spp.consent.purpose`` | DPV-aligned purpose taxonomy | +| | (service delivery, research, | +| | etc.) | ++----------------------------------+----------------------------------+ +| ``spp.consent.personal.data`` | DPV-aligned data categories | +| | (GDPR Article 9 sensitivity | +| | tagging) | ++----------------------------------+----------------------------------+ +| ``spp.consent.processing`` | DPV-aligned processing | +| | operations (collect, store, | +| | share, etc.) | ++----------------------------------+----------------------------------+ +| ``spp.consent.org.type`` | Organization type categories for | +| | category-based consent | ++----------------------------------+----------------------------------+ +| ``spp.consent.mixin`` | Abstract mixin to add consent | +| | tracking to any model | ++----------------------------------+----------------------------------+ +| ``spp.record.consent.wizard`` | Wizard for recording individual | +| | consent | ++----------------------------------+----------------------------------+ +| `` | Wizard for bulk consent | +| spp.bulk.record.consent.wizard`` | recording across multiple | +| | beneficiaries | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -137,30 +137,33 @@ UI Location Security ~~~~~~~~ -+-----------------------------------------+-------------------------+----------------------+ -| Group | Model | Access | -+=========================================+=========================+======================+ -| ``spp_registry.group_registry_viewer`` | All models | Read | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_officer`` | ``spp.consent`` | Read/Write/Create | -| | | (no delete) | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_officer`` | Wizards | Read/Write/Create | -| | | (no delete) | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_officer`` | DPV taxonomies and | Read | -| | notices | | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_manager`` | ``spp.consent`` | Full CRUD | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_manager`` | ``spp.consent.history`` | Read/Create (no | -| | | write/delete) | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_registry.group_registry_manager`` | Taxonomies, notices, | Full CRUD | -| | org types | | -+-----------------------------------------+-------------------------+----------------------+ -| ``spp_security.group_spp_admin`` | All models | Full CRUD | -+-----------------------------------------+-------------------------+----------------------+ ++----------------------+----------------------+----------------------+ +| Group | Model | Access | ++======================+======================+======================+ +| ``spp_registry.gro | All models | Read | +| up_registry_viewer`` | | | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | ``spp.consent`` | Read/Write/Create | +| p_registry_officer`` | | (no delete) | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | Wizards | Read/Write/Create | +| p_registry_officer`` | | (no delete) | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | DPV taxonomies and | Read | +| p_registry_officer`` | notices | | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | ``spp.consent`` | Full CRUD | +| p_registry_manager`` | | | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | ``s | Read/Create (no | +| p_registry_manager`` | pp.consent.history`` | write/delete) | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | Taxonomies, notices, | Full CRUD | +| p_registry_manager`` | org types | | ++----------------------+----------------------+----------------------+ +| ``spp_securi | All models | Full CRUD | +| ty.group_spp_admin`` | | | ++----------------------+----------------------+----------------------+ Note: Configuration menu requires ``spp_security.group_spp_admin`` or ``spp_registry.group_registry_config_admin``. diff --git a/spp_consent/static/description/index.html b/spp_consent/static/description/index.html index c5fe084..618fa05 100644 --- a/spp_consent/static/description/index.html +++ b/spp_consent/static/description/index.html @@ -403,8 +403,8 @@

Key Capabilities

Key Models

Group
spp_change_request_v2.group_cr_user
spp_c +hange_request_v2.group_cr_user Create and submit change requests (read/write/create)
spp_change_request_v2.group_cr_validator
spp_change +_request_v2.group_cr_validator Approve/reject, field-level validation (read/write/create)
spp_change_request_v2.group_cr_validator_hq
spp_change_re +quest_v2.group_cr_validator_hq HQ-level approval with registry write (read/write/create)
spp_change_request_v2.group_cr_manager
spp_chan +ge_request_v2.group_cr_manager Full CRUD including configuration
spp_change_request_v2.group_cr_conflict_approver
spp_change_request +_v2.group_cr_conflict_approver Override blocking conflict detections (specialized/functional)
--++ @@ -452,7 +452,8 @@

Key Models

- + @@ -506,9 +507,9 @@

UI Location

Security

Model Wizard for recording individual consent
spp.bulk.record.consent.wizard
`` +spp.bulk.record.consent.wizard`` Wizard for bulk consent recording across multiple beneficiaries
---+++ @@ -517,40 +518,49 @@

Security

- + - + - + - + - + - - + + - + - + diff --git a/spp_cr_types_advanced/README.rst b/spp_cr_types_advanced/README.rst index f770738..16b85c7 100644 --- a/spp_cr_types_advanced/README.rst +++ b/spp_cr_types_advanced/README.rst @@ -51,33 +51,33 @@ This module does not define models. It provides data records for ``spp.change.request.type`` and security rules for detail/apply models defined in ``spp_change_request_v2``: -+-------------------------------------+------------------------------------+----------------------+ -| Detail Model | Apply Model | Purpose | -+=====================================+====================================+======================+ -| ``spp.cr.detail.add_member`` | ``spp.cr.apply.add_member`` | Add new member to | -| | | group | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.remove_member`` | ``spp.cr.apply.remove_member`` | Remove member from | -| | | group | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.change_hoh`` | ``spp.cr.apply.change_hoh`` | Change head of | -| | | household | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.transfer_member`` | ``spp.cr.apply.transfer_member`` | Transfer member | -| | | between groups | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.exit_registrant`` | ``spp.cr.apply.exit_registrant`` | Deactivate | -| | | registrant | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.create_group`` | ``spp.cr.apply.create_group`` | Create new | -| | | group/household | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.split_household`` | ``spp.cr.apply.split_household`` | Split household into | -| | | two groups | -+-------------------------------------+------------------------------------+----------------------+ -| ``spp.cr.detail.merge_registrants`` | ``spp.cr.apply.merge_registrants`` | Merge duplicate | -| | | registrant records | -+-------------------------------------+------------------------------------+----------------------+ ++----------------------+----------------------+----------------------+ +| Detail Model | Apply Model | Purpose | ++======================+======================+======================+ +| ``spp.cr | ``spp.c | Add new member to | +| .detail.add_member`` | r.apply.add_member`` | group | ++----------------------+----------------------+----------------------+ +| ``spp.cr.de | ``spp.cr.a | Remove member from | +| tail.remove_member`` | pply.remove_member`` | group | ++----------------------+----------------------+----------------------+ +| ``spp.cr | ``spp.c | Change head of | +| .detail.change_hoh`` | r.apply.change_hoh`` | household | ++----------------------+----------------------+----------------------+ +| ``spp.cr.deta | ``spp.cr.app | Transfer member | +| il.transfer_member`` | ly.transfer_member`` | between groups | ++----------------------+----------------------+----------------------+ +| ``spp.cr.deta | ``spp.cr.app | Deactivate | +| il.exit_registrant`` | ly.exit_registrant`` | registrant | ++----------------------+----------------------+----------------------+ +| ``spp.cr.d | ``spp.cr. | Create new | +| etail.create_group`` | apply.create_group`` | group/household | ++----------------------+----------------------+----------------------+ +| ``spp.cr.deta | ``spp.cr.app | Split household into | +| il.split_household`` | ly.split_household`` | two groups | ++----------------------+----------------------+----------------------+ +| ``spp.cr.detail | ``spp.cr.apply | Merge duplicate | +| .merge_registrants`` | .merge_registrants`` | registrant records | ++----------------------+----------------------+----------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_cr_types_advanced/static/description/index.html b/spp_cr_types_advanced/static/description/index.html index 64c913e..f2b3ca3 100644 --- a/spp_cr_types_advanced/static/description/index.html +++ b/spp_cr_types_advanced/static/description/index.html @@ -399,9 +399,9 @@

Models Secured by This Module

defined in spp_change_request_v2:

Group
spp_registry.group_registry_viewer
spp_registry.gro +up_registry_viewer All models Read
spp_registry.group_registry_officer
spp_registry.grou +p_registry_officer spp.consent Read/Write/Create (no delete)
spp_registry.group_registry_officer
spp_registry.grou +p_registry_officer Wizards Read/Write/Create (no delete)
spp_registry.group_registry_officer
spp_registry.grou +p_registry_officer DPV taxonomies and notices Read
spp_registry.group_registry_manager
spp_registry.grou +p_registry_manager spp.consent Full CRUD
spp_registry.group_registry_managerspp.consent.history
spp_registry.grou +p_registry_managers +pp.consent.history Read/Create (no write/delete)
spp_registry.group_registry_manager
spp_registry.grou +p_registry_manager Taxonomies, notices, org types Full CRUD
spp_security.group_spp_admin
spp_securi +ty.group_spp_admin All models Full CRUD
---+++ @@ -410,43 +410,59 @@

Models Secured by This Module

- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + diff --git a/spp_cr_types_base/README.rst b/spp_cr_types_base/README.rst index 87f3e7d..38efda3 100644 --- a/spp_cr_types_base/README.rst +++ b/spp_cr_types_base/README.rst @@ -48,24 +48,24 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------------+----------------------------------+ -| Model | Description | -+=====================================+==================================+ -| ``spp.cr.detail.edit_individual`` | Detail form for individual | -| | information changes | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.edit_group`` | Detail form for group/household | -| | information | -+-------------------------------------+----------------------------------+ -| ``spp.cr.detail.update_id`` | Detail form for ID document | -| | operations | -+-------------------------------------+----------------------------------+ -| ``spp.change.request.type`` | CR type configurations (defined | -| | in parent) | -+-------------------------------------+----------------------------------+ -| ``spp.change.request.type.mapping`` | Field mappings for field_mapping | -| | strategy | -+-------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ` | Detail form for individual | +| `spp.cr.detail.edit_individual`` | information changes | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.edit_group`` | Detail form for group/household | +| | information | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.update_id`` | Detail form for ID document | +| | operations | ++----------------------------------+----------------------------------+ +| ``spp.change.request.type`` | CR type configurations (defined | +| | in parent) | ++----------------------------------+----------------------------------+ +| ``s | Field mappings for field_mapping | +| pp.change.request.type.mapping`` | strategy | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -93,14 +93,15 @@ UI Location Security ~~~~~~~~ -+--------------------------------------------+----------------------------------+ -| Group | Access | -+============================================+==================================+ -| ``spp_change_request_v2.group_cr_user`` | Read/write/create detail models | -| | (no delete) | -+--------------------------------------------+----------------------------------+ -| ``spp_change_request_v2.group_cr_manager`` | Full CRUD on detail models | -+--------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_c | Read/write/create detail models | +| hange_request_v2.group_cr_user`` | (no delete) | ++----------------------------------+----------------------------------+ +| ``spp_chan | Full CRUD on detail models | +| ge_request_v2.group_cr_manager`` | | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_cr_types_base/static/description/index.html b/spp_cr_types_base/static/description/index.html index 9c90a59..0901a36 100644 --- a/spp_cr_types_base/static/description/index.html +++ b/spp_cr_types_base/static/description/index.html @@ -397,8 +397,8 @@

Key Capabilities

Key Models

Detail Model
spp.cr.detail.add_memberspp.cr.apply.add_member
spp.cr +.detail.add_memberspp.c +r.apply.add_member Add new member to group
spp.cr.detail.remove_memberspp.cr.apply.remove_member
spp.cr.de +tail.remove_memberspp.cr.a +pply.remove_member Remove member from group
spp.cr.detail.change_hohspp.cr.apply.change_hoh
spp.cr +.detail.change_hohspp.c +r.apply.change_hoh Change head of household
spp.cr.detail.transfer_memberspp.cr.apply.transfer_member
spp.cr.deta +il.transfer_memberspp.cr.app +ly.transfer_member Transfer member between groups
spp.cr.detail.exit_registrantspp.cr.apply.exit_registrant
spp.cr.deta +il.exit_registrantspp.cr.app +ly.exit_registrant Deactivate registrant
spp.cr.detail.create_groupspp.cr.apply.create_group
spp.cr.d +etail.create_groupspp.cr. +apply.create_group Create new group/household
spp.cr.detail.split_householdspp.cr.apply.split_household
spp.cr.deta +il.split_householdspp.cr.app +ly.split_household Split household into two groups
spp.cr.detail.merge_registrantsspp.cr.apply.merge_registrants
spp.cr.detail +.merge_registrantsspp.cr.apply +.merge_registrants Merge duplicate registrant records
--++ @@ -406,7 +406,8 @@

Key Models

- + @@ -422,7 +423,8 @@

Key Models

- + @@ -457,8 +459,8 @@

UI Location

Security

Model
spp.cr.detail.edit_individual
` +spp.cr.detail.edit_individual` Detail form for individual information changes
CR type configurations (defined in parent)
spp.change.request.type.mapping
s +pp.change.request.type.mapping Field mappings for field_mapping strategy
--++ @@ -466,11 +468,13 @@

Security

- + - + diff --git a/spp_custom_field/README.rst b/spp_custom_field/README.rst index dfee759..016153b 100644 --- a/spp_custom_field/README.rst +++ b/spp_custom_field/README.rst @@ -44,18 +44,18 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------+---------------------------------------+ -| Model | Description | -+==============================+=======================================+ -| ``spp.custom.field.group`` | Groups custom fields for organized | -| | display in UI | -+------------------------------+---------------------------------------+ -| ``ir.model.fields`` (extend) | Adds ``field_group_id`` and | -| | ``sequence`` for field order | -+------------------------------+---------------------------------------+ -| ``res.partner`` (extend) | Dynamically injects custom fields | -| | into forms | -+------------------------------+---------------------------------------+ ++------------------------------+--------------------------------------+ +| Model | Description | ++==============================+======================================+ +| ``spp.custom.field.group`` | Groups custom fields for organized | +| | display in UI | ++------------------------------+--------------------------------------+ +| ``ir.model.fields`` (extend) | Adds ``field_group_id`` and | +| | ``sequence`` for field order | ++------------------------------+--------------------------------------+ +| ``res.partner`` (extend) | Dynamically injects custom fields | +| | into forms | ++------------------------------+--------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_custom_field/static/description/index.html b/spp_custom_field/static/description/index.html index 180382d..425dba4 100644 --- a/spp_custom_field/static/description/index.html +++ b/spp_custom_field/static/description/index.html @@ -393,8 +393,8 @@

Key Capabilities

Key Models

Group
spp_change_request_v2.group_cr_user
spp_c +hange_request_v2.group_cr_user Read/write/create detail models (no delete)
spp_change_request_v2.group_cr_manager
spp_chan +ge_request_v2.group_cr_manager Full CRUD on detail models
--++ diff --git a/spp_dci/README.rst b/spp_dci/README.rst index 68cc1d7..c5de78d 100644 --- a/spp_dci/README.rst +++ b/spp_dci/README.rst @@ -46,12 +46,12 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------+--------------------------------------------+ -| Model | Description | -+=========================+============================================+ -| ``spp.dci.signing.key`` | Cryptographic signing key with lifecycle | -| | state management | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Description | ++=========================+===========================================+ +| ``spp.dci.signing.key`` | Cryptographic signing key with lifecycle | +| | state management | ++-------------------------+-------------------------------------------+ Pydantic Schemas ~~~~~~~~~~~~~~~~ diff --git a/spp_dci/static/description/index.html b/spp_dci/static/description/index.html index 1e96015..dd2deb8 100644 --- a/spp_dci/static/description/index.html +++ b/spp_dci/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Model
--++ diff --git a/spp_dci_client/README.rst b/spp_dci_client/README.rst index acc336c..192cae0 100644 --- a/spp_dci_client/README.rst +++ b/spp_dci_client/README.rst @@ -45,12 +45,12 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------+--------------------------------------------+ -| Model | Description | -+=========================+============================================+ -| ``spp.dci.data.source`` | Connection configuration for external DCI | -| | registries | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Description | ++=========================+===========================================+ +| ``spp.dci.data.source`` | Connection configuration for external DCI | +| | registries | ++-------------------------+-------------------------------------------+ Python Service Classes ~~~~~~~~~~~~~~~~~~~~~~ diff --git a/spp_dci_client/static/description/index.html b/spp_dci_client/static/description/index.html index baaa324..d6420f9 100644 --- a/spp_dci_client/static/description/index.html +++ b/spp_dci_client/static/description/index.html @@ -394,8 +394,8 @@

Key Capabilities

Key Models

Model
--++ diff --git a/spp_dci_client_crvs/README.rst b/spp_dci_client_crvs/README.rst index 054e0c3..5cbba06 100644 --- a/spp_dci_client_crvs/README.rst +++ b/spp_dci_client_crvs/README.rst @@ -46,15 +46,15 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------+--------------------------------------------+ -| Model | Description | -+=========================+============================================+ -| ``spp.dci.crvs.event`` | Vital event log with identifier, type, | -| | date, processing state | -+-------------------------+--------------------------------------------+ -| ``spp.dci.crvs.sender`` | Trusted CRVS registry with sender ID and | -| | public key | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Description | ++=========================+===========================================+ +| ``spp.dci.crvs.event`` | Vital event log with identifier, type, | +| | date, processing state | ++-------------------------+-------------------------------------------+ +| ``spp.dci.crvs.sender`` | Trusted CRVS registry with sender ID and | +| | public key | ++-------------------------+-------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_dci_client_crvs/static/description/index.html b/spp_dci_client_crvs/static/description/index.html index 2f0c61a..aaa7da4 100644 --- a/spp_dci_client_crvs/static/description/index.html +++ b/spp_dci_client_crvs/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Model
--++ diff --git a/spp_dci_client_dr/README.rst b/spp_dci_client_dr/README.rst index ecc9fdb..c806bb7 100644 --- a/spp_dci_client_dr/README.rst +++ b/spp_dci_client_dr/README.rst @@ -42,17 +42,17 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.dci.disability.status`` | Cached disability data: PWD flag, | -| | disability types, functional scores, | -| | raw data | -+-------------------------------+--------------------------------------+ -| ``spp.dci.dr.sender`` | Trusted DR registry entries with | -| | sender_id, public keys, and JWKS | -| | endpoints | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.dci.disability.status`` | Cached disability data: PWD flag, | +| | disability types, functional | +| | scores, raw data | ++-------------------------------+-------------------------------------+ +| ``spp.dci.dr.sender`` | Trusted DR registry entries with | +| | sender_id, public keys, and JWKS | +| | endpoints | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -108,15 +108,15 @@ DR Sender form: Security ~~~~~~~~ -+-----------------------+----------------------------------------------+ -| Group | Access | -+=======================+==============================================+ -| ``base.group_system`` | Full CRUD on disability status and DR sender | -| | registry | -+-----------------------+----------------------------------------------+ -| ``base.group_user`` | Read/Write/Create disability status, | -| | read-only DR sender registry | -+-----------------------+----------------------------------------------+ ++-----------------------+---------------------------------------------+ +| Group | Access | ++=======================+=============================================+ +| ``base.group_system`` | Full CRUD on disability status and DR | +| | sender registry | ++-----------------------+---------------------------------------------+ +| ``base.group_user`` | Read/Write/Create disability status, | +| | read-only DR sender registry | ++-----------------------+---------------------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_dci_client_dr/static/description/index.html b/spp_dci_client_dr/static/description/index.html index f73ca1e..a5b386b 100644 --- a/spp_dci_client_dr/static/description/index.html +++ b/spp_dci_client_dr/static/description/index.html @@ -391,8 +391,8 @@

Key Capabilities

Key Models

Model
--++ @@ -402,8 +402,8 @@

Key Models

+disability types, functional +scores, raw data
Model
spp.dci.disability.status Cached disability data: PWD flag, -disability types, functional scores, -raw data
spp.dci.dr.sender Trusted DR registry entries with @@ -467,8 +467,8 @@

Tabs

Security

--++ @@ -477,8 +477,8 @@

Security

- +
Group
base.group_systemFull CRUD on disability status and DR sender -registryFull CRUD on disability status and DR +sender registry
base.group_user Read/Write/Create disability status, diff --git a/spp_dci_client_ibr/README.rst b/spp_dci_client_ibr/README.rst index c97544b..c875213 100644 --- a/spp_dci_client_ibr/README.rst +++ b/spp_dci_client_ibr/README.rst @@ -45,18 +45,18 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.dci.duplication.check`` | Stores duplication check requests | -| | and results from IBR | -+-------------------------------+--------------------------------------+ -| ``spp.dci.ibr.sender`` | Registry of trusted IBR systems with | -| | public keys | -+-------------------------------+--------------------------------------+ -| ``fastapi.endpoint`` | Inherited to add IBR callback router | -| | to DCI API endpoint | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.dci.duplication.check`` | Stores duplication check requests | +| | and results from IBR | ++-------------------------------+-------------------------------------+ +| ``spp.dci.ibr.sender`` | Registry of trusted IBR systems | +| | with public keys | ++-------------------------------+-------------------------------------+ +| ``fastapi.endpoint`` | Inherited to add IBR callback | +| | router to DCI API endpoint | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -83,20 +83,24 @@ UI Location Security ~~~~~~~~ -+-----------------------------------------+-------------------------------+----------------------+ -| Group | Model | Access | -+=========================================+===============================+======================+ -| ``spp_registry.group_registry_viewer`` | ``spp.dci.duplication.check`` | Read | -+-----------------------------------------+-------------------------------+----------------------+ -| ``spp_registry.group_registry_officer`` | ``spp.dci.duplication.check`` | Read/Write/Create | -| | | (no delete) | -+-----------------------------------------+-------------------------------+----------------------+ -| ``spp_registry.group_registry_manager`` | ``spp.dci.duplication.check`` | Full CRUD | -+-----------------------------------------+-------------------------------+----------------------+ -| ``base.group_system`` | ``spp.dci.ibr.sender`` | Full CRUD | -+-----------------------------------------+-------------------------------+----------------------+ -| ``base.group_user`` | ``spp.dci.ibr.sender`` | Read | -+-----------------------------------------+-------------------------------+----------------------+ ++----------------------+----------------------+----------------------+ +| Group | Model | Access | ++======================+======================+======================+ +| ``spp_registry.gro | ``spp.dci | Read | +| up_registry_viewer`` | .duplication.check`` | | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | ``spp.dci | Read/Write/Create | +| p_registry_officer`` | .duplication.check`` | (no delete) | ++----------------------+----------------------+----------------------+ +| ``spp_registry.grou | ``spp.dci | Full CRUD | +| p_registry_manager`` | .duplication.check`` | | ++----------------------+----------------------+----------------------+ +| ` | `` | Full CRUD | +| `base.group_system`` | spp.dci.ibr.sender`` | | ++----------------------+----------------------+----------------------+ +| ``base.group_user`` | `` | Read | +| | spp.dci.ibr.sender`` | | ++----------------------+----------------------+----------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_dci_client_ibr/static/description/index.html b/spp_dci_client_ibr/static/description/index.html index 62bb4fb..1d89162 100644 --- a/spp_dci_client_ibr/static/description/index.html +++ b/spp_dci_client_ibr/static/description/index.html @@ -394,8 +394,8 @@

Key Capabilities

Key Models

--++ @@ -408,12 +408,12 @@

Key Models

and results from IBR - + - +
Model
spp.dci.ibr.senderRegistry of trusted IBR systems with -public keysRegistry of trusted IBR systems +with public keys
fastapi.endpointInherited to add IBR callback router -to DCI API endpointInherited to add IBR callback +router to DCI API endpoint
@@ -445,9 +445,9 @@

UI Location

Security

--++ @@ -456,25 +456,34 @@

Security

- - + + - - + + - - + + - - + + - + diff --git a/spp_dci_server/README.rst b/spp_dci_server/README.rst index 4f378a4..31e7e05 100644 --- a/spp_dci_server/README.rst +++ b/spp_dci_server/README.rst @@ -51,24 +51,24 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------+---------------------------------------+ -| Model | Description | -+==============================+=======================================+ -| ``spp.dci.sender.registry`` | External DCI senders with public keys | -| | for signature verification | -+------------------------------+---------------------------------------+ -| ``spp.dci.transaction`` | Async DCI request tracking (search, | -| | subscribe, unsubscribe) | -+------------------------------+---------------------------------------+ -| ``spp.dci.subscription`` | Event subscriptions with callback | -| | URIs and filter expressions | -+------------------------------+---------------------------------------+ -| ``spp.dci.notification.log`` | Audit trail of sent notifications | -| | with receipt tracking | -+------------------------------+---------------------------------------+ -| ``spp.dci.server.key`` | Server signing keys for outbound | -| | responses and notifications | -+------------------------------+---------------------------------------+ ++------------------------------+--------------------------------------+ +| Model | Description | ++==============================+======================================+ +| ``spp.dci.sender.registry`` | External DCI senders with public | +| | keys for signature verification | ++------------------------------+--------------------------------------+ +| ``spp.dci.transaction`` | Async DCI request tracking (search, | +| | subscribe, unsubscribe) | ++------------------------------+--------------------------------------+ +| ``spp.dci.subscription`` | Event subscriptions with callback | +| | URIs and filter expressions | ++------------------------------+--------------------------------------+ +| ``spp.dci.notification.log`` | Audit trail of sent notifications | +| | with receipt tracking | ++------------------------------+--------------------------------------+ +| ``spp.dci.server.key`` | Server signing keys for outbound | +| | responses and notifications | ++------------------------------+--------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_dci_server/static/description/index.html b/spp_dci_server/static/description/index.html index 8475eac..437c31a 100644 --- a/spp_dci_server/static/description/index.html +++ b/spp_dci_server/static/description/index.html @@ -400,8 +400,8 @@

Key Capabilities

Key Models

Group
spp_registry.group_registry_viewerspp.dci.duplication.check
spp_registry.gro +up_registry_viewerspp.dci +.duplication.check Read
spp_registry.group_registry_officerspp.dci.duplication.check
spp_registry.grou +p_registry_officerspp.dci +.duplication.check Read/Write/Create (no delete)
spp_registry.group_registry_managerspp.dci.duplication.check
spp_registry.grou +p_registry_managerspp.dci +.duplication.check Full CRUD
base.group_systemspp.dci.ibr.sender
` +base.group_system``` +spp.dci.ibr.sender`` Full CRUD
base.group_userspp.dci.ibr.sender`` +spp.dci.ibr.sender`` Read
--++ @@ -410,8 +410,8 @@

Key Models

- +
Model
spp.dci.sender.registryExternal DCI senders with public keys -for signature verificationExternal DCI senders with public +keys for signature verification
spp.dci.transaction Async DCI request tracking (search, diff --git a/spp_demo/README.rst b/spp_demo/README.rst index 92e150a..448e9bf 100644 --- a/spp_demo/README.rst +++ b/spp_demo/README.rst @@ -46,27 +46,27 @@ Key Capabilities Key Models ~~~~~~~~~~ -+----------------------------------+-----------------------------------+ -| Model | Description | -+==================================+===================================+ -| ``spp.demo.data.generator`` | Main generator with configuration | -| | and batch controls | -+----------------------------------+-----------------------------------+ -| ``spp.demo.data.generation.log`` | Logs failed generation attempts | -| | with diagnostics | -+----------------------------------+-----------------------------------+ -| ``spp.demo.data.id.types`` | ID type configuration for | -| | individual/group generation | -+----------------------------------+-----------------------------------+ -| ``spp.demo.data.bank.types`` | Bank type configuration for | -| | account generation | -+----------------------------------+-----------------------------------+ -| ``spp.apps.wizard`` | Wizard for installing missing | -| | demo modules | -+----------------------------------+-----------------------------------+ -| ``spp.missing.module`` | Transient model for tracking | -| | missing modules | -+----------------------------------+-----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.demo.data.generator`` | Main generator with | +| | configuration and batch controls | ++----------------------------------+----------------------------------+ +| ``spp.demo.data.generation.log`` | Logs failed generation attempts | +| | with diagnostics | ++----------------------------------+----------------------------------+ +| ``spp.demo.data.id.types`` | ID type configuration for | +| | individual/group generation | ++----------------------------------+----------------------------------+ +| ``spp.demo.data.bank.types`` | Bank type configuration for | +| | account generation | ++----------------------------------+----------------------------------+ +| ``spp.apps.wizard`` | Wizard for installing missing | +| | demo modules | ++----------------------------------+----------------------------------+ +| ``spp.missing.module`` | Transient model for tracking | +| | missing modules | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -99,19 +99,20 @@ UI Location Security ~~~~~~~~ -+----------------------------------------+----------------------------------+ -| Group | Access | -+========================================+==================================+ -| ``base.group_system`` | Full CRUD on all models | -+----------------------------------------+----------------------------------+ -| ``spp_registry.group_registry_read`` | Read access to all models | -+----------------------------------------+----------------------------------+ -| ``spp_registry.group_registry_write`` | Read/Write on generator and logs | -| | (delete ID/Bank types) | -+----------------------------------------+----------------------------------+ -| ``spp_registry.group_registry_create`` | Read/Create access (delete | -| | ID/Bank types) | -+----------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``base.group_system`` | Full CRUD on all models | ++----------------------------------+----------------------------------+ +| ``sp | Read access to all models | +| p_registry.group_registry_read`` | | ++----------------------------------+----------------------------------+ +| ``spp | Read/Write on generator and logs | +| _registry.group_registry_write`` | (delete ID/Bank types) | ++----------------------------------+----------------------------------+ +| ``spp_ | Read/Create access (delete | +| registry.group_registry_create`` | ID/Bank types) | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_demo/static/description/index.html b/spp_demo/static/description/index.html index 0ece0bd..14b2537 100644 --- a/spp_demo/static/description/index.html +++ b/spp_demo/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

--++ @@ -405,8 +405,8 @@

Key Models

- +
Model
spp.demo.data.generatorMain generator with configuration -and batch controlsMain generator with +configuration and batch controls
spp.demo.data.generation.log Logs failed generation attempts @@ -464,8 +464,8 @@

UI Location

Security

--++ @@ -476,14 +476,17 @@

Security

- + - + - + diff --git a/spp_dms/README.rst b/spp_dms/README.rst index c624749..6367730 100644 --- a/spp_dms/README.rst +++ b/spp_dms/README.rst @@ -46,24 +46,24 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------------+----------------------------------+ -| Model | Description | -+====================================+==================================+ -| ``spp.dms.directory`` | Directory with parent/child | -| | hierarchy and file storage | -+------------------------------------+----------------------------------+ -| ``spp.dms.file`` | File record with binary content | -| | and optional versioning | -+------------------------------------+----------------------------------+ -| ``spp.dms.file.version`` | Version snapshot with content, | -| | checksum, and comment | -+------------------------------------+----------------------------------+ -| ``spp.dms.category`` | File classification with | -| | validation rules | -+------------------------------------+----------------------------------+ -| ``spp.dms.restore.version.wizard`` | Transient wizard for restoring | -| | file versions | -+------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.dms.directory`` | Directory with parent/child | +| | hierarchy and file storage | ++----------------------------------+----------------------------------+ +| ``spp.dms.file`` | File record with binary content | +| | and optional versioning | ++----------------------------------+----------------------------------+ +| ``spp.dms.file.version`` | Version snapshot with content, | +| | checksum, and comment | ++----------------------------------+----------------------------------+ +| ``spp.dms.category`` | File classification with | +| | validation rules | ++----------------------------------+----------------------------------+ +| `` | Transient wizard for restoring | +| spp.dms.restore.version.wizard`` | file versions | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -89,18 +89,18 @@ UI Location Security ~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Group | Access | -+===============================+======================================+ -| ``spp_dms.group_dms_viewer`` | Read directories, files, versions, | -| | categories | -+-------------------------------+--------------------------------------+ -| ``spp_dms.group_dms_officer`` | Create/edit files and directories | -| | (no delete) | -+-------------------------------+--------------------------------------+ -| ``spp_dms.group_dms_manager`` | Full CRUD on all models including | -| | categories | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Group | Access | ++===============================+=====================================+ +| ``spp_dms.group_dms_viewer`` | Read directories, files, versions, | +| | categories | ++-------------------------------+-------------------------------------+ +| ``spp_dms.group_dms_officer`` | Create/edit files and directories | +| | (no delete) | ++-------------------------------+-------------------------------------+ +| ``spp_dms.group_dms_manager`` | Full CRUD on all models including | +| | categories | ++-------------------------------+-------------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_dms/static/description/index.html b/spp_dms/static/description/index.html index 18eead2..cd6eb13 100644 --- a/spp_dms/static/description/index.html +++ b/spp_dms/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Group
base.group_system Full CRUD on all models
spp_registry.group_registry_read
sp +p_registry.group_registry_read Read access to all models
spp_registry.group_registry_write
spp +_registry.group_registry_write Read/Write on generator and logs (delete ID/Bank types)
spp_registry.group_registry_create
spp_ +registry.group_registry_create Read/Create access (delete ID/Bank types)
--++ @@ -420,7 +420,8 @@

Key Models

- + @@ -453,8 +454,8 @@

UI Location

Security

Model File classification with validation rules
spp.dms.restore.version.wizard
`` +spp.dms.restore.version.wizard`` Transient wizard for restoring file versions
--++ diff --git a/spp_drims/README.rst b/spp_drims/README.rst index df30ccf..62ebed8 100644 --- a/spp_drims/README.rst +++ b/spp_drims/README.rst @@ -123,31 +123,31 @@ UI Location Security ~~~~~~~~ -+--------------------------------------------------+----------------------------------+ -| Group | Access | -+==================================================+==================================+ -| ``spp_drims.group_drims_viewer`` | Read-only access to donations, | -| | requests, dispatches | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_officer`` | Create and edit donations, | -| | requests, returns (no delete) | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_approver`` | Approve or reject supply | -| | requests | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_manager`` | Full CRUD including deletion and | -| | configuration | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_warehouse_worker`` | Receive donations, manage stock, | -| | process dispatches | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_field_officer`` | Create requests and confirm | -| | deliveries in the field | -+--------------------------------------------------+----------------------------------+ -| ``spp_drims.group_drims_coordinator_supervisor`` | Coordinate requests and | -| | distributions within assigned | -| | areas | -+--------------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_drims.group_drims_viewer`` | Read-only access to donations, | +| | requests, dispatches | ++----------------------------------+----------------------------------+ +| ` | Create and edit donations, | +| `spp_drims.group_drims_officer`` | requests, returns (no delete) | ++----------------------------------+----------------------------------+ +| `` | Approve or reject supply | +| spp_drims.group_drims_approver`` | requests | ++----------------------------------+----------------------------------+ +| ` | Full CRUD including deletion and | +| `spp_drims.group_drims_manager`` | configuration | ++----------------------------------+----------------------------------+ +| ``spp_drim | Receive donations, manage stock, | +| s.group_drims_warehouse_worker`` | process dispatches | ++----------------------------------+----------------------------------+ +| ``spp_d | Create requests and confirm | +| rims.group_drims_field_officer`` | deliveries in the field | ++----------------------------------+----------------------------------+ +| ``spp_drims.grou | Coordinate requests and | +| p_drims_coordinator_supervisor`` | distributions within assigned | +| | areas | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_drims/static/description/index.html b/spp_drims/static/description/index.html index 5e4ac29..44d4467 100644 --- a/spp_drims/static/description/index.html +++ b/spp_drims/static/description/index.html @@ -492,8 +492,8 @@

UI Location

Security

Group
--++ @@ -505,27 +505,33 @@

Security

- + - + - + - + - + - + diff --git a/spp_drims_sl/README.rst b/spp_drims_sl/README.rst index 3bcab5e..bae4bfa 100644 --- a/spp_drims_sl/README.rst +++ b/spp_drims_sl/README.rst @@ -61,19 +61,19 @@ Key Configuration Data Approval Workflow Tiers ~~~~~~~~~~~~~~~~~~~~~~~ -+------------------------------+------------------------------+--------+ -| Condition | Approvers | SLA | -+==============================+==============================+========+ -| Priority = Life-Threatening | Single manager (fast-track) | 0 days | -+------------------------------+------------------------------+--------+ -| Value < 100,000 LKR | District approver | 1 day | -+------------------------------+------------------------------+--------+ -| Value 100,000 - 500,000 LKR | District → Provincial | 2 days | -| | (2-tier) | | -+------------------------------+------------------------------+--------+ -| Value > 500,000 LKR | District → Provincial → | 3 days | -| | National DMC (3-tier) | | -+------------------------------+------------------------------+--------+ ++-----------------------------+-----------------------------+--------+ +| Condition | Approvers | SLA | ++=============================+=============================+========+ +| Priority = Life-Threatening | Single manager (fast-track) | 0 days | ++-----------------------------+-----------------------------+--------+ +| Value < 100,000 LKR | District approver | 1 day | ++-----------------------------+-----------------------------+--------+ +| Value 100,000 - 500,000 LKR | District → Provincial | 2 days | +| | (2-tier) | | ++-----------------------------+-----------------------------+--------+ +| Value > 500,000 LKR | District → Provincial → | 3 days | +| | National DMC (3-tier) | | ++-----------------------------+-----------------------------+--------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_drims_sl_demo/README.rst b/spp_drims_sl_demo/README.rst index a0acfad..4f2106d 100644 --- a/spp_drims_sl_demo/README.rst +++ b/spp_drims_sl_demo/README.rst @@ -51,15 +51,15 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.drims.demo.generator`` | Transient wizard that orchestrates | -| | demo data generation | -+-------------------------------+--------------------------------------+ -| ``spp.gis.report`` (extended) | Adds ``spp.drims.request`` as | -| | supported GIS report data source | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.drims.demo.generator`` | Transient wizard that orchestrates | +| | demo data generation | ++-------------------------------+-------------------------------------+ +| ``spp.gis.report`` (extended) | Adds ``spp.drims.request`` as | +| | supported GIS report data source | ++-------------------------------+-------------------------------------+ Usage ~~~~~ diff --git a/spp_drims_sl_demo/static/description/index.html b/spp_drims_sl_demo/static/description/index.html index 797d120..65e5bd0 100644 --- a/spp_drims_sl_demo/static/description/index.html +++ b/spp_drims_sl_demo/static/description/index.html @@ -400,8 +400,8 @@

Key Capabilities

Key Models

Group Read-only access to donations, requests, dispatches
spp_drims.group_drims_officer
` +spp_drims.group_drims_officer` Create and edit donations, requests, returns (no delete)
spp_drims.group_drims_approver
`` +spp_drims.group_drims_approver`` Approve or reject supply requests
spp_drims.group_drims_manager
` +spp_drims.group_drims_manager` Full CRUD including deletion and configuration
spp_drims.group_drims_warehouse_worker
spp_drim +s.group_drims_warehouse_worker Receive donations, manage stock, process dispatches
spp_drims.group_drims_field_officer
spp_d +rims.group_drims_field_officer Create requests and confirm deliveries in the field
spp_drims.group_drims_coordinator_supervisor
spp_drims.grou +p_drims_coordinator_supervisor Coordinate requests and distributions within assigned areas
--++ diff --git a/spp_event_data/README.rst b/spp_event_data/README.rst index 485a4f5..6f20b18 100644 --- a/spp_event_data/README.rst +++ b/spp_event_data/README.rst @@ -53,24 +53,24 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-----------------------------+----------------------------------------+ -| Model | Description | -+=============================+========================================+ -| ``spp.event.data`` | Event record with registrant link, | -| | collection metadata | -+-----------------------------+----------------------------------------+ -| ``spp.event.type`` | Event type configuration (category, | -| | lifecycle, source) | -+-----------------------------+----------------------------------------+ -| ``spp.event.field`` | Custom field definition for JSON-based | -| | event types | -+-----------------------------+----------------------------------------+ -| ``spp.event.type.mapping`` | Field mapping for external source data | -| | transformation | -+-----------------------------+----------------------------------------+ -| ``spp.create.event.wizard`` | Wizard to create new event records | -| | from registrant form | -+-----------------------------+----------------------------------------+ ++-----------------------------+---------------------------------------+ +| Model | Description | ++=============================+=======================================+ +| ``spp.event.data`` | Event record with registrant link, | +| | collection metadata | ++-----------------------------+---------------------------------------+ +| ``spp.event.type`` | Event type configuration (category, | +| | lifecycle, source) | ++-----------------------------+---------------------------------------+ +| ``spp.event.field`` | Custom field definition for | +| | JSON-based event types | ++-----------------------------+---------------------------------------+ +| ``spp.event.type.mapping`` | Field mapping for external source | +| | data transformation | ++-----------------------------+---------------------------------------+ +| ``spp.create.event.wizard`` | Wizard to create new event records | +| | from registrant form | ++-----------------------------+---------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_event_data/static/description/index.html b/spp_event_data/static/description/index.html index a42a92a..e8e0069 100644 --- a/spp_event_data/static/description/index.html +++ b/spp_event_data/static/description/index.html @@ -402,8 +402,8 @@

Key Capabilities

Key Models

Model
--++ @@ -420,12 +420,12 @@

Key Models

lifecycle, source) - + - +
Model
spp.event.fieldCustom field definition for JSON-based -event typesCustom field definition for +JSON-based event types
spp.event.type.mappingField mapping for external source data -transformationField mapping for external source +data transformation
spp.create.event.wizard Wizard to create new event records diff --git a/spp_gis/README.rst b/spp_gis/README.rst index 300826d..5c053da 100644 --- a/spp_gis/README.rst +++ b/spp_gis/README.rst @@ -47,21 +47,21 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.gis.raster.layer`` | Background map layers (OSM, WMS, | -| | image) | -+-------------------------------+--------------------------------------+ -| ``spp.gis.data.layer`` | Vector data layers referencing geo | -| | fields from any model | -+-------------------------------+--------------------------------------+ -| ``spp.gis.color.scheme`` | Color palettes for choropleth and | -| | thematic visualizations | -+-------------------------------+--------------------------------------+ -| ``spp.gis.raster.layer.type`` | Raster layer type definitions (WMS | -| | services) | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.gis.raster.layer`` | Background map layers (OSM, WMS, | +| | image) | ++-------------------------------+-------------------------------------+ +| ``spp.gis.data.layer`` | Vector data layers referencing geo | +| | fields from any model | ++-------------------------------+-------------------------------------+ +| ``spp.gis.color.scheme`` | Color palettes for choropleth and | +| | thematic visualizations | ++-------------------------------+-------------------------------------+ +| ``spp.gis.raster.layer.type`` | Raster layer type definitions (WMS | +| | services) | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -89,19 +89,19 @@ UI Location Security ~~~~~~~~ -+--------------------------------------+----------------------------------+ -| Group | Access | -+======================================+==================================+ -| ``spp_security.group_spp_admin`` | Full CRUD on all GIS models | -+--------------------------------------+----------------------------------+ -| ``spp_registry.group_registry_read`` | Read-only on color schemes and | -| | layers | -+--------------------------------------+----------------------------------+ -| ``spp_gis.group_gis_user`` | View GIS data and maps | -+--------------------------------------+----------------------------------+ -| ``spp_gis.group_gis_admin`` | Full GIS management including | -| | configuration | -+--------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_security.group_spp_admin`` | Full CRUD on all GIS models | ++----------------------------------+----------------------------------+ +| ``sp | Read-only on color schemes and | +| p_registry.group_registry_read`` | layers | ++----------------------------------+----------------------------------+ +| ``spp_gis.group_gis_user`` | View GIS data and maps | ++----------------------------------+----------------------------------+ +| ``spp_gis.group_gis_admin`` | Full GIS management including | +| | configuration | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_gis/static/description/index.html b/spp_gis/static/description/index.html index b428fb1..7c0ce3a 100644 --- a/spp_gis/static/description/index.html +++ b/spp_gis/static/description/index.html @@ -396,8 +396,8 @@

Key Capabilities

Key Models

--++ @@ -452,8 +452,8 @@

UI Location

Security

Model
--++ @@ -464,7 +464,8 @@

Security

- + diff --git a/spp_gis_indicators/README.rst b/spp_gis_indicators/README.rst index 7c10fc4..61fc46b 100644 --- a/spp_gis_indicators/README.rst +++ b/spp_gis_indicators/README.rst @@ -1,12 +1,8 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ====================== OpenSPP GIS Indicators ====================== -.. +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! @@ -50,19 +46,19 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-----------------------------+----------------------------------------+ -| Model | Description | -+=============================+========================================+ -| ``spp.gis.indicator.layer`` | Configuration linking a CEL variable | -| | to color scale and classification | -| | settings | -+-----------------------------+----------------------------------------+ -| ``spp.gis.color.scale`` | Color scheme definition with JSON | -| | array of hex colors | -+-----------------------------+----------------------------------------+ -| ``spp.gis.data.layer`` | Extended with ``choropleth`` geo | -| | representation option | -+-----------------------------+----------------------------------------+ ++-----------------------------+---------------------------------------+ +| Model | Description | ++=============================+=======================================+ +| ``spp.gis.indicator.layer`` | Configuration linking a CEL variable | +| | to color scale and classification | +| | settings | ++-----------------------------+---------------------------------------+ +| ``spp.gis.color.scale`` | Color scheme definition with JSON | +| | array of hex colors | ++-----------------------------+---------------------------------------+ +| ``spp.gis.data.layer`` | Extended with ``choropleth`` geo | +| | representation option | ++-----------------------------+---------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -114,7 +110,6 @@ Dependencies .. IMPORTANT:: This is an alpha version, the data model and design can change at any time without warning. Only for development or testing purpose, do not use in production. - `More details on development status `_ **Table of contents** @@ -144,4 +139,4 @@ Maintainers This module is part of the `OpenSPP/OpenSPP2 `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. \ No newline at end of file diff --git a/spp_gis_indicators/static/description/index.html b/spp_gis_indicators/static/description/index.html index 1a8ae08..d05d6d4 100644 --- a/spp_gis_indicators/static/description/index.html +++ b/spp_gis_indicators/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +OpenSPP GIS Indicators -
+
+

OpenSPP GIS Indicators

- - -Odoo Community Association - -
-

OpenSPP GIS Indicators

Alpha License: LGPL-3 OpenSPP/OpenSPP2

-

Targeting Simulation & Fairness Analysis

+

Targeting Simulation & Fairness Analysis

Simulate targeting scenarios, analyze fairness and distribution, and compare different targeting strategies before committing to criteria.

-

Key Features

+

Key Features

  • Scenario Builder: Define targeting criteria using CEL expressions with live preview counts
  • @@ -400,16 +395,16 @@

    Key Features

-

Privacy

+

Privacy

Only aggregated counts, percentages, and metrics are stored. No individual beneficiary records are persisted in simulation results.

-

Models

+

Models

Group
spp_security.group_spp_admin Full CRUD on all GIS models
spp_registry.group_registry_read
sp +p_registry.group_registry_read Read-only on color schemes and layers
--++ @@ -417,14 +412,16 @@

Models

- + - + @@ -441,7 +438,7 @@

Models

Model
spp.simulation.scenario.template
sp +p.simulation.scenario.template Pre-built targeting scenario templates
spp.simulation.scenario Targeting scenario definitions
spp.simulation.entitlement.rule
s +pp.simulation.entitlement.rule Amount calculation rules
spp.simulation.run
-

Security Groups

+

Security Groups

@@ -466,21 +463,20 @@

Security Groups

-

Bug Tracker

+

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed @@ -488,15 +484,15 @@

Bug Tracker

Do not contact contributors directly about support or help with technical issues.

-

Credits

+

Credits

-

Authors

+

Authors

  • OpenSPP.org
-

Maintainers

+

Maintainers

Current maintainer:

jeremi

This module is part of the OpenSPP/OpenSPP2 project on GitHub.

@@ -504,6 +500,5 @@

Maintainers

- diff --git a/spp_source_tracking/README.rst b/spp_source_tracking/README.rst index ea38c1e..5077f75 100644 --- a/spp_source_tracking/README.rst +++ b/spp_source_tracking/README.rst @@ -47,24 +47,24 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.mixin.source.tracking`` | Abstract mixin providing source | -| | tracking fields | -+-------------------------------+--------------------------------------+ -| ``spp.merge.provenance`` | Audit record of merge operations | -| | with data snapshots | -+-------------------------------+--------------------------------------+ -| ``res.partner`` | Extended with source tracking and | -| | merge capabilities | -+-------------------------------+--------------------------------------+ -| ``spp.registry.id`` | Extended with source tracking for | -| | identifier provenance | -+-------------------------------+--------------------------------------+ -| ``spp.program.membership`` | Extended with source tracking for | -| | enrollment provenance | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.mixin.source.tracking`` | Abstract mixin providing source | +| | tracking fields | ++-------------------------------+-------------------------------------+ +| ``spp.merge.provenance`` | Audit record of merge operations | +| | with data snapshots | ++-------------------------------+-------------------------------------+ +| ``res.partner`` | Extended with source tracking and | +| | merge capabilities | ++-------------------------------+-------------------------------------+ +| ``spp.registry.id`` | Extended with source tracking for | +| | identifier provenance | ++-------------------------------+-------------------------------------+ +| ``spp.program.membership`` | Extended with source tracking for | +| | enrollment provenance | ++-------------------------------+-------------------------------------+ UI Location ~~~~~~~~~~~ diff --git a/spp_source_tracking/static/description/index.html b/spp_source_tracking/static/description/index.html index 5a333f7..c32bead 100644 --- a/spp_source_tracking/static/description/index.html +++ b/spp_source_tracking/static/description/index.html @@ -396,8 +396,8 @@

Key Capabilities

Key Models

--++ diff --git a/spp_starter_sp_mis/README.rst b/spp_starter_sp_mis/README.rst index 19fcc69..de494cd 100644 --- a/spp_starter_sp_mis/README.rst +++ b/spp_starter_sp_mis/README.rst @@ -46,12 +46,12 @@ Key Models This module defines no models. It extends: -+-------------------------+--------------------------------------------+ -| Model | Extension | -+=========================+============================================+ -| ``res.config.settings`` | Adds ``is_registry_admin_only_crud`` | -| | boolean field | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Extension | ++=========================+===========================================+ +| ``res.config.settings`` | Adds ``is_registry_admin_only_crud`` | +| | boolean field | ++-------------------------+-------------------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_starter_sp_mis/static/description/index.html b/spp_starter_sp_mis/static/description/index.html index e6a17de..bfd332a 100644 --- a/spp_starter_sp_mis/static/description/index.html +++ b/spp_starter_sp_mis/static/description/index.html @@ -394,8 +394,8 @@

Key Models

This module defines no models. It extends:

Model
--++ diff --git a/spp_studio/README.rst b/spp_studio/README.rst index 6766292..7273bf1 100644 --- a/spp_studio/README.rst +++ b/spp_studio/README.rst @@ -48,41 +48,41 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------+--------------------------------------+ -| Model | Description | -+===============================+======================================+ -| ``spp.cel.expression`` | Business logic definitions with CEL | -| | expressions | -+-------------------------------+--------------------------------------+ -| ``spp.cel.variable`` | Variable definitions for use in | -| | expressions | -+-------------------------------+--------------------------------------+ -| ``spp.cel.variable.category`` | Categories for organizing variables | -+-------------------------------+--------------------------------------+ -| ``spp.studio.field`` | Custom field definitions for | -| | registry extension | -+-------------------------------+--------------------------------------+ -| ``spp.studio.pack`` | Pre-built logic bundles for common | -| | use cases | -+-------------------------------+--------------------------------------+ -| ``spp.studio.pack.item`` | Individual logic definitions within | -| | a pack | -+-------------------------------+--------------------------------------+ -| ``spp.studio.test`` | Test cases for validating logic | -| | expressions | -+-------------------------------+--------------------------------------+ -| ``spp.studio.test.persona`` | Test personas with example data for | -| | logic validation | -+-------------------------------+--------------------------------------+ -| ``spp.studio.placement.zone`` | Form zones where custom fields can | -| | be placed | -+-------------------------------+--------------------------------------+ -| ``spp.studio.version`` | Version history tracking for logic | -| | changes | -+-------------------------------+--------------------------------------+ -| ``spp.studio.usage`` | Usage tracking for logic and field | -| | references | -+-------------------------------+--------------------------------------+ ++-------------------------------+-------------------------------------+ +| Model | Description | ++===============================+=====================================+ +| ``spp.cel.expression`` | Business logic definitions with CEL | +| | expressions | ++-------------------------------+-------------------------------------+ +| ``spp.cel.variable`` | Variable definitions for use in | +| | expressions | ++-------------------------------+-------------------------------------+ +| ``spp.cel.variable.category`` | Categories for organizing variables | ++-------------------------------+-------------------------------------+ +| ``spp.studio.field`` | Custom field definitions for | +| | registry extension | ++-------------------------------+-------------------------------------+ +| ``spp.studio.pack`` | Pre-built logic bundles for common | +| | use cases | ++-------------------------------+-------------------------------------+ +| ``spp.studio.pack.item`` | Individual logic definitions within | +| | a pack | ++-------------------------------+-------------------------------------+ +| ``spp.studio.test`` | Test cases for validating logic | +| | expressions | ++-------------------------------+-------------------------------------+ +| ``spp.studio.test.persona`` | Test personas with example data for | +| | logic validation | ++-------------------------------+-------------------------------------+ +| ``spp.studio.placement.zone`` | Form zones where custom fields can | +| | be placed | ++-------------------------------+-------------------------------------+ +| ``spp.studio.version`` | Version history tracking for logic | +| | changes | ++-------------------------------+-------------------------------------+ +| ``spp.studio.usage`` | Usage tracking for logic and field | +| | references | ++-------------------------------+-------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -110,16 +110,18 @@ UI Location Security ~~~~~~~~ -+--------------------------------------------+----------------------------------+ -| Group | Access | -+============================================+==================================+ -| ``spp_studio.group_studio_viewer`` | Read | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_editor_officer`` | Read/Write/Create on logic and | -| | fields (no delete on fields) | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_manager`` | Full CRUD | -+--------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| `` | Read | +| spp_studio.group_studio_viewer`` | | ++----------------------------------+----------------------------------+ +| ``spp_stud | Read/Write/Create on logic and | +| io.group_studio_editor_officer`` | fields (no delete on fields) | ++----------------------------------+----------------------------------+ +| ``s | Full CRUD | +| pp_studio.group_studio_manager`` | | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_studio/static/description/index.html b/spp_studio/static/description/index.html index edde10c..c76dd70 100644 --- a/spp_studio/static/description/index.html +++ b/spp_studio/static/description/index.html @@ -397,8 +397,8 @@

Key Capabilities

Key Models

Model
--++ @@ -480,8 +480,8 @@

UI Location

Security

Model
--++ @@ -489,14 +489,17 @@

Security

- + - + - + diff --git a/spp_studio_api_v2/README.rst b/spp_studio_api_v2/README.rst index 4a1709f..89fd4a1 100644 --- a/spp_studio_api_v2/README.rst +++ b/spp_studio_api_v2/README.rst @@ -47,21 +47,21 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------------------+----------------------------------+ -| Model | Description | -+=====================================+==================================+ -| ``spp.studio.api.individual.mixin`` | Service methods for Individual | -| | API extension and variable data | -+-------------------------------------+----------------------------------+ -| ``spp.studio.api.group.mixin`` | Service methods for Group API | -| | extension and variable data | -+-------------------------------------+----------------------------------+ -| ``spp.studio.field`` (extended) | Adds ``api_exposed`` flag and | -| | auto-registration hooks | -+-------------------------------------+----------------------------------+ -| ``fastapi.endpoint`` (extended) | Mounts Studio router on API v2 | -| | endpoint | -+-------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``s | Service methods for Individual | +| pp.studio.api.individual.mixin`` | API extension and variable data | ++----------------------------------+----------------------------------+ +| ``spp.studio.api.group.mixin`` | Service methods for Group API | +| | extension and variable data | ++----------------------------------+----------------------------------+ +| ``spp.studio.field`` (extended) | Adds ``api_exposed`` flag and | +| | auto-registration hooks | ++----------------------------------+----------------------------------+ +| ``fastapi.endpoint`` (extended) | Mounts Studio router on API v2 | +| | endpoint | ++----------------------------------+----------------------------------+ API Endpoints ~~~~~~~~~~~~~ @@ -97,16 +97,17 @@ fields are activated. Security ~~~~~~~~ -+------------------------------------+----------------------------------+ -| Group | Access | -+====================================+==================================+ -| ``spp_api_v2.group_api_v2_read`` | Read on service mixins | -+------------------------------------+----------------------------------+ -| ``spp_api_v2.group_api_v2_write`` | Read/Write on service mixins | -+------------------------------------+----------------------------------+ -| ``spp_api_v2.group_api_v2_create`` | Read/Write/Create on service | -| | mixins (no delete) | -+------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_api_v2.group_api_v2_read`` | Read on service mixins | ++----------------------------------+----------------------------------+ +| ` | Read/Write on service mixins | +| `spp_api_v2.group_api_v2_write`` | | ++----------------------------------+----------------------------------+ +| `` | Read/Write/Create on service | +| spp_api_v2.group_api_v2_create`` | mixins (no delete) | ++----------------------------------+----------------------------------+ API authorization uses scope-based authentication (``studio:read`` scope), not Odoo group checks. diff --git a/spp_studio_api_v2/static/description/index.html b/spp_studio_api_v2/static/description/index.html index 387f42b..1ec9a2d 100644 --- a/spp_studio_api_v2/static/description/index.html +++ b/spp_studio_api_v2/static/description/index.html @@ -396,8 +396,8 @@

Key Capabilities

Key Models

Group
spp_studio.group_studio_viewer
`` +spp_studio.group_studio_viewer`` Read
spp_studio.group_studio_editor_officer
spp_stud +io.group_studio_editor_officer Read/Write/Create on logic and fields (no delete on fields)
spp_studio.group_studio_manager
s +pp_studio.group_studio_manager Full CRUD
--++ @@ -405,7 +405,8 @@

Key Models

- + @@ -458,8 +459,8 @@

UI Location

Security

Model
spp.studio.api.individual.mixin
s +pp.studio.api.individual.mixin Service methods for Individual API extension and variable data
--++ @@ -470,10 +471,12 @@

Security

- + - + diff --git a/spp_studio_change_requests/README.rst b/spp_studio_change_requests/README.rst index ea6787e..56153ad 100644 --- a/spp_studio_change_requests/README.rst +++ b/spp_studio_change_requests/README.rst @@ -46,23 +46,23 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------------+----------------------------------+ -| Model | Description | -+====================================+==================================+ -| ``spp.studio.change.request.type`` | Studio-created CR type | -| | definition with lifecycle | -| | tracking | -+------------------------------------+----------------------------------+ -| ``spp.studio.cr.field.mapping`` | Field mapping from | -| | ``res.partner`` to CR detail | -| | model | -+------------------------------------+----------------------------------+ -| ``spp.cr.detail.generic`` | Generic detail template model | -| | (unused; types generate x\_\*) | -+------------------------------------+----------------------------------+ -| ``x_spp_cr_detail_*`` | Auto-generated detail models for | -| (dynamically) | each activated CR type | -+------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| `` | Studio-created CR type | +| spp.studio.change.request.type`` | definition with lifecycle | +| | tracking | ++----------------------------------+----------------------------------+ +| ``spp.studio.cr.field.mapping`` | Field mapping from | +| | ``res.partner`` to CR detail | +| | model | ++----------------------------------+----------------------------------+ +| ``spp.cr.detail.generic`` | Generic detail template model | +| | (unused; types generate x\_\*) | ++----------------------------------+----------------------------------+ +| ``x_spp_cr_detail_*`` | Auto-generated detail models for | +| (dynamically) | each activated CR type | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -88,17 +88,19 @@ UI Location Security ~~~~~~~~ -+--------------------------------------------+----------------------------------+ -| Group | Access | -+============================================+==================================+ -| ``spp_studio.group_studio_viewer`` | Read CR types and mappings | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_editor_officer`` | Read/Write/Create on CR types | -| | and mappings (no delete on CR | -| | types) | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_manager`` | Full CRUD | -+--------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| `` | Read CR types and mappings | +| spp_studio.group_studio_viewer`` | | ++----------------------------------+----------------------------------+ +| ``spp_stud | Read/Write/Create on CR types | +| io.group_studio_editor_officer`` | and mappings (no delete on CR | +| | types) | ++----------------------------------+----------------------------------+ +| ``s | Full CRUD | +| pp_studio.group_studio_manager`` | | ++----------------------------------+----------------------------------+ Detail models use ``spp_change_request_v2`` groups (user, validator, manager) with create disabled to prevent manual record creation. diff --git a/spp_studio_change_requests/static/description/index.html b/spp_studio_change_requests/static/description/index.html index a6b64c8..32cb772 100644 --- a/spp_studio_change_requests/static/description/index.html +++ b/spp_studio_change_requests/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Group
spp_api_v2.group_api_v2_read Read on service mixins
spp_api_v2.group_api_v2_write
` +spp_api_v2.group_api_v2_write` Read/Write on service mixins
spp_api_v2.group_api_v2_create
`` +spp_api_v2.group_api_v2_create`` Read/Write/Create on service mixins (no delete)
--++ @@ -404,7 +404,8 @@

Key Models

- + @@ -452,8 +453,8 @@

UI Location

Security

Model
spp.studio.change.request.type
`` +spp.studio.change.request.type`` Studio-created CR type definition with lifecycle tracking
--++ @@ -461,15 +462,18 @@

Security

- + - + - + diff --git a/spp_studio_events/README.rst b/spp_studio_events/README.rst index b939eae..2381776 100644 --- a/spp_studio_events/README.rst +++ b/spp_studio_events/README.rst @@ -50,30 +50,30 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------------------+----------------------------------+ -| Model | Description | -+==========================================+==================================+ -| ``spp.studio.event.type`` | Custom event type definition | -| | with draft/active lifecycle | -+------------------------------------------+----------------------------------+ -| ``spp.studio.event.field`` | Field definition with type, | -| | validation, and visibility | -+------------------------------------------+----------------------------------+ -| ``spp.studio.event.field.group`` | Groups fields into tabs in the | -| | data entry wizard | -+------------------------------------------+----------------------------------+ -| ``spp.studio.event.field.template`` | Reusable template containing | -| | field definitions | -+------------------------------------------+----------------------------------+ -| ``spp.studio.event.field.template.line`` | Field definition within a | -| | template | -+------------------------------------------+----------------------------------+ -| ``spp.studio.event.type.wizard`` | 3-step wizard for creating event | -| | types | -+------------------------------------------+----------------------------------+ -| ``spp.event.data.entry.wizard`` | Generated wizard for entering | -| | event data | -+------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.studio.event.type`` | Custom event type definition | +| | with draft/active lifecycle | ++----------------------------------+----------------------------------+ +| ``spp.studio.event.field`` | Field definition with type, | +| | validation, and visibility | ++----------------------------------+----------------------------------+ +| ``spp.studio.event.field.group`` | Groups fields into tabs in the | +| | data entry wizard | ++----------------------------------+----------------------------------+ +| ``s | Reusable template containing | +| pp.studio.event.field.template`` | field definitions | ++----------------------------------+----------------------------------+ +| ``spp.st | Field definition within a | +| udio.event.field.template.line`` | template | ++----------------------------------+----------------------------------+ +| ``spp.studio.event.type.wizard`` | 3-step wizard for creating event | +| | types | ++----------------------------------+----------------------------------+ +| ``spp.event.data.entry.wizard`` | Generated wizard for entering | +| | event data | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -99,18 +99,20 @@ UI Location Security ~~~~~~~~ -+--------------------------------------------+----------------------------------+ -| Group | Access | -+============================================+==================================+ -| ``spp_studio.group_studio_viewer`` | Read event types and templates | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_editor_officer`` | Read/Write/Create on event | -| | types, fields, and templates (no | -| | delete on event | -| | types/fields/templates) | -+--------------------------------------------+----------------------------------+ -| ``spp_studio.group_studio_manager`` | Full CRUD | -+--------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| `` | Read event types and templates | +| spp_studio.group_studio_viewer`` | | ++----------------------------------+----------------------------------+ +| ``spp_stud | Read/Write/Create on event | +| io.group_studio_editor_officer`` | types, fields, and templates (no | +| | delete on event | +| | types/fields/templates) | ++----------------------------------+----------------------------------+ +| ``s | Full CRUD | +| pp_studio.group_studio_manager`` | | ++----------------------------------+----------------------------------+ Extension Points ~~~~~~~~~~~~~~~~ diff --git a/spp_studio_events/static/description/index.html b/spp_studio_events/static/description/index.html index a0fb315..2b4ae47 100644 --- a/spp_studio_events/static/description/index.html +++ b/spp_studio_events/static/description/index.html @@ -399,8 +399,8 @@

Key Capabilities

Key Models

Group
spp_studio.group_studio_viewer
`` +spp_studio.group_studio_viewer`` Read CR types and mappings
spp_studio.group_studio_editor_officer
spp_stud +io.group_studio_editor_officer Read/Write/Create on CR types and mappings (no delete on CR types)
spp_studio.group_studio_manager
s +pp_studio.group_studio_manager Full CRUD
--++ @@ -420,11 +420,13 @@

Key Models

- + - + @@ -465,8 +467,8 @@

UI Location

Security

Model Groups fields into tabs in the data entry wizard
spp.studio.event.field.template
s +pp.studio.event.field.template Reusable template containing field definitions
spp.studio.event.field.template.line
spp.st +udio.event.field.template.line Field definition within a template
--++ @@ -474,16 +476,19 @@

Security

- + - + - + diff --git a/spp_user_roles/README.rst b/spp_user_roles/README.rst index 3aa4975..a5c9d54 100644 --- a/spp_user_roles/README.rst +++ b/spp_user_roles/README.rst @@ -45,17 +45,17 @@ Key Capabilities Key Models ~~~~~~~~~~ -+-------------------------+--------------------------------------------+ -| Model | Description | -+=========================+============================================+ -| ``res.users.role`` | Extended with ``role_type`` field and | -| | manual update action | -+-------------------------+--------------------------------------------+ -| ``res.users.role.line`` | Extended with related ``role_type`` field | -+-------------------------+--------------------------------------------+ -| ``res.users`` | Extended with stored roles field and | -| | custom group sync | -+-------------------------+--------------------------------------------+ ++-------------------------+-------------------------------------------+ +| Model | Description | ++=========================+===========================================+ +| ``res.users.role`` | Extended with ``role_type`` field and | +| | manual update action | ++-------------------------+-------------------------------------------+ +| ``res.users.role.line`` | Extended with related ``role_type`` field | ++-------------------------+-------------------------------------------+ +| ``res.users`` | Extended with stored roles field and | +| | custom group sync | ++-------------------------+-------------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -81,15 +81,15 @@ UI Location Security ~~~~~~~~ -+------------------------------------------+----------------------------------+ -| Group | Access | -+==========================================+==================================+ -| ``spp_user_roles.group_local_registrar`` | Read users, roles, and role | -| | lines | -+------------------------------------------+----------------------------------+ -| ``spp_security.group_spp_admin`` | Full CRUD on roles and role | -| | lines | -+------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Group | Access | ++==================================+==================================+ +| ``spp_us | Read users, roles, and role | +| er_roles.group_local_registrar`` | lines | ++----------------------------------+----------------------------------+ +| ``spp_security.group_spp_admin`` | Full CRUD on roles and role | +| | lines | ++----------------------------------+----------------------------------+ Predefined Roles ~~~~~~~~~~~~~~~~ diff --git a/spp_user_roles/static/description/index.html b/spp_user_roles/static/description/index.html index 78bf5c8..8da60c6 100644 --- a/spp_user_roles/static/description/index.html +++ b/spp_user_roles/static/description/index.html @@ -394,8 +394,8 @@

Key Capabilities

Key Models

Group
spp_studio.group_studio_viewer
`` +spp_studio.group_studio_viewer`` Read event types and templates
spp_studio.group_studio_editor_officer
spp_stud +io.group_studio_editor_officer Read/Write/Create on event types, fields, and templates (no delete on event types/fields/templates)
spp_studio.group_studio_manager
s +pp_studio.group_studio_manager Full CRUD
--++ @@ -443,8 +443,8 @@

UI Location

Security

Model
--++ @@ -452,7 +452,8 @@

Security

- + diff --git a/spp_versioning/README.rst b/spp_versioning/README.rst index c22b8d1..a7d796e 100644 --- a/spp_versioning/README.rst +++ b/spp_versioning/README.rst @@ -42,23 +42,23 @@ Key Capabilities Key Models ~~~~~~~~~~ -+------------------------------------------+----------------------------------+ -| Model | Description | -+==========================================+==================================+ -| ``spp.versioned.mixin`` | Abstract mixin to add versioning | -| | capabilities to any model | -+------------------------------------------+----------------------------------+ -| ``spp.artifact.version`` | Stores version snapshots with | -| | state machine | -| | (draft/scheduled/current) | -+------------------------------------------+----------------------------------+ -| ``spp.artifact.usage`` | Tracks where artifacts are used | -| | (prevents orphan archiving) | -+------------------------------------------+----------------------------------+ -| ``spp.artifact.version.schedule.wizard`` | Wizard for scheduling version | -| | activation with conflict | -| | detection | -+------------------------------------------+----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.versioned.mixin`` | Abstract mixin to add versioning | +| | capabilities to any model | ++----------------------------------+----------------------------------+ +| ``spp.artifact.version`` | Stores version snapshots with | +| | state machine | +| | (draft/scheduled/current) | ++----------------------------------+----------------------------------+ +| ``spp.artifact.usage`` | Tracks where artifacts are used | +| | (prevents orphan archiving) | ++----------------------------------+----------------------------------+ +| ``spp.ar | Wizard for scheduling version | +| tifact.version.schedule.wizard`` | activation with conflict | +| | detection | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_versioning/static/description/index.html b/spp_versioning/static/description/index.html index 994fed6..af8c08c 100644 --- a/spp_versioning/static/description/index.html +++ b/spp_versioning/static/description/index.html @@ -391,8 +391,8 @@

Key Capabilities

Key Models

Group
spp_user_roles.group_local_registrar
spp_us +er_roles.group_local_registrar Read users, roles, and role lines
--++ @@ -413,7 +413,8 @@

Key Models

- + diff --git a/spp_vocabulary/README.rst b/spp_vocabulary/README.rst index 8a269f9..7d99f20 100644 --- a/spp_vocabulary/README.rst +++ b/spp_vocabulary/README.rst @@ -46,28 +46,30 @@ Key Capabilities Key Models ~~~~~~~~~~ -+----------------------------------+-----------------------------------+ -| Model | Description | -+==================================+===================================+ -| ``spp.vocabulary`` | Collection of codes with a | -| | namespace (e.g., Gender, ID Type) | -+----------------------------------+-----------------------------------+ -| ``spp.vocabulary.code`` | Individual code within a | -| | vocabulary (e.g., 'M', 'female') | -+----------------------------------+-----------------------------------+ -| ``spp.vocabulary.mapping`` | Maps codes between different | -| | vocabularies | -+----------------------------------+-----------------------------------+ -| ``spp.vocabulary.concept.group`` | Semantic grouping of codes for | -| | business logic abstraction | -+----------------------------------+-----------------------------------+ -| ``spp.deployment.profile`` | Deployment-specific configuration | -| | for active code subsets | -+----------------------------------+-----------------------------------+ -| ``spp.vocabulary.selection`` | Code selection within a | -| | deployment profile with | -| | inheritance | -+----------------------------------+-----------------------------------+ ++----------------------------------+----------------------------------+ +| Model | Description | ++==================================+==================================+ +| ``spp.vocabulary`` | Collection of codes with a | +| | namespace (e.g., Gender, ID | +| | Type) | ++----------------------------------+----------------------------------+ +| ``spp.vocabulary.code`` | Individual code within a | +| | vocabulary (e.g., 'M', 'female') | ++----------------------------------+----------------------------------+ +| ``spp.vocabulary.mapping`` | Maps codes between different | +| | vocabularies | ++----------------------------------+----------------------------------+ +| ``spp.vocabulary.concept.group`` | Semantic grouping of codes for | +| | business logic abstraction | ++----------------------------------+----------------------------------+ +| ``spp.deployment.profile`` | Deployment-specific | +| | configuration for active code | +| | subsets | ++----------------------------------+----------------------------------+ +| ``spp.vocabulary.selection`` | Code selection within a | +| | deployment profile with | +| | inheritance | ++----------------------------------+----------------------------------+ Configuration ~~~~~~~~~~~~~ diff --git a/spp_vocabulary/static/description/index.html b/spp_vocabulary/static/description/index.html index a449391..031224e 100644 --- a/spp_vocabulary/static/description/index.html +++ b/spp_vocabulary/static/description/index.html @@ -395,8 +395,8 @@

Key Capabilities

Key Models

Model Tracks where artifacts are used (prevents orphan archiving)
spp.artifact.version.schedule.wizard
spp.ar +tifact.version.schedule.wizard Wizard for scheduling version activation with conflict detection
--++ @@ -406,7 +406,8 @@

Key Models

+namespace (e.g., Gender, ID +Type) - +
Model
spp.vocabulary Collection of codes with a -namespace (e.g., Gender, ID Type)
spp.vocabulary.code Individual code within a @@ -421,8 +422,9 @@

Key Models

business logic abstraction
spp.deployment.profileDeployment-specific configuration -for active code subsetsDeployment-specific +configuration for active code +subsets
spp.vocabulary.selection Code selection within a From d52e81fc1cfda2bfaf177339478444f3548acea4 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 20:27:38 +0800 Subject: [PATCH 2/9] fix(spp_grm,spp_mis_demo_v2): fix settings xpath and test assertions - spp_grm: migrate res_config_settings view to Odoo 19 app/block/setting structure (old xpath //div[hasclass('settings')] no longer exists) - spp_mis_demo_v2: update test assertions for 7th program (conditional_child_grant) added in recent merge --- spp_grm/views/res_config_settings_views.xml | 71 +++++++-------------- spp_mis_demo_v2/tests/test_demo_programs.py | 22 +++++-- 2 files changed, 41 insertions(+), 52 deletions(-) diff --git a/spp_grm/views/res_config_settings_views.xml b/spp_grm/views/res_config_settings_views.xml index 556fbd3..34c491e 100644 --- a/spp_grm/views/res_config_settings_views.xml +++ b/spp_grm/views/res_config_settings_views.xml @@ -4,57 +4,34 @@ res.config.settings - -
+ -

New ticket form (portal)

-
-
-
- -
-
-
-
-
-
- - -
-
-
-
-
-
-
-
- -
-
-
-
-
-
+ + + + + + + + + + + +
diff --git a/spp_mis_demo_v2/tests/test_demo_programs.py b/spp_mis_demo_v2/tests/test_demo_programs.py index 6fa512d..56c2181 100644 --- a/spp_mis_demo_v2/tests/test_demo_programs.py +++ b/spp_mis_demo_v2/tests/test_demo_programs.py @@ -16,16 +16,17 @@ class TestDemoPrograms(TransactionCase): """ def test_get_all_demo_programs(self): - """Test that all 6 demo programs are returned.""" + """Test that all 7 demo programs are returned.""" from odoo.addons.spp_mis_demo_v2.models import demo_programs programs = demo_programs.get_all_demo_programs() self.assertIsInstance(programs, list) - self.assertEqual(len(programs), 6, "Expected exactly 6 demo programs") + self.assertEqual(len(programs), 7, "Expected exactly 7 demo programs") # Check expected programs exist (V3 names) program_names = [p["name"] for p in programs] self.assertIn("Universal Child Grant", program_names) + self.assertIn("Conditional Child Grant", program_names) self.assertIn("Elderly Social Pension", program_names) self.assertIn("Emergency Relief Fund", program_names) self.assertIn("Cash Transfer Program", program_names) @@ -348,8 +349,10 @@ def test_get_programs_by_pack(self): from odoo.addons.spp_mis_demo_v2.models import demo_programs programs = demo_programs.get_programs_by_pack("child_benefit") - self.assertEqual(len(programs), 1) - self.assertEqual(programs[0]["name"], "Universal Child Grant") + self.assertEqual(len(programs), 2) + program_names = [p["name"] for p in programs] + self.assertIn("Universal Child Grant", program_names) + self.assertIn("Conditional Child Grant", program_names) # Non-existent pack should return empty programs = demo_programs.get_programs_by_pack("nonexistent") @@ -460,11 +463,20 @@ def test_story_program_alignment_complete(self): ) def test_all_programs_have_enrolled_stories(self): - """Test that every demo program has at least one enrolled story.""" + """Test that demo programs with story enrollments have at least one story. + + Programs like Conditional Child Grant may have no stories if they + demonstrate other features (e.g., compliance management). + """ from odoo.addons.spp_mis_demo_v2.models import demo_programs + # Programs that intentionally have no story enrollments + no_story_programs = {"Conditional Child Grant"} + for program in demo_programs.get_all_demo_programs(): program_name = program["name"] + if program_name in no_story_programs: + continue stories = program.get("stories", []) self.assertGreater( len(stories), From 3eed5217141323e05530ce88bf650a49511626f0 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 21:39:35 +0800 Subject: [PATCH 3/9] fix(pre-commit): use correct stages syntax for manual hooks `manual: true` is not valid pre-commit syntax and gets silently ignored, causing oca-gen-addon-readme and oca-gen-external-dependencies to run in CI. The README hook then fails due to platform-dependent docutils table rendering differences between Ubuntu (CI) and macOS. Replace with `stages: [manual]` which is the correct pre-commit way to exclude hooks from normal runs. --- .pre-commit-config.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 4128881..c163936 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -60,9 +60,9 @@ repos: - --if-source-changed - --keep-source-digest - --convert-fragments-to-markdown - manual: true + stages: [manual] - id: oca-gen-external-dependencies - manual: true + stages: [manual] - id: oca-gen-addons-table - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.1.7 From 600a4074f90db0a3f95eb5e9281a8ca49a0f4dd3 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 21:49:01 +0800 Subject: [PATCH 4/9] chore: add codecov.yml to make project check informational The codecov/project check fails on coverage decreases with no config. Set project status to informational so it reports but doesn't block, while keeping patch coverage as the gating check. --- codecov.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..6f33d67 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,8 @@ +coverage: + status: + project: + default: + informational: true + patch: + default: + target: auto From f2a91d1ae7680ca62597acd94e528bec180842ba Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 21:49:53 +0800 Subject: [PATCH 5/9] revert: remove codecov.yml, will add tests instead --- codecov.yml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml deleted file mode 100644 index 6f33d67..0000000 --- a/codecov.yml +++ /dev/null @@ -1,8 +0,0 @@ -coverage: - status: - project: - default: - informational: true - patch: - default: - target: auto From 94a0df2199c73c60e7d79b7fab41c96de4cd0ec1 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 21:52:14 +0800 Subject: [PATCH 6/9] fix(ci): skip doc-only files in module change detection detect_modules.py was counting README.rst, static/description/, and readme/ fragment changes as module code changes. This caused CI to test 62 modules for a docs-only PR, uploading coverage for untested modules and dropping the codecov/project percentage. Now ignores documentation-only file changes, reducing detected modules from 62 to 7 (only actual code changes + critical modules). --- scripts/detect_modules.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/scripts/detect_modules.py b/scripts/detect_modules.py index 926b4a7..f28e414 100644 --- a/scripts/detect_modules.py +++ b/scripts/detect_modules.py @@ -107,12 +107,31 @@ def get_impacted_modules( return impacted +def is_code_relevant(file_path: str) -> bool: + """Check if a changed file is relevant for testing (not just docs/static).""" + p = Path(file_path) + parts = p.parts + # Skip top-level README + if p.name == "README.rst": + return False + # Skip readme fragments directory + if len(parts) > 1 and parts[1] == "readme": + return False + # Skip static/description (auto-generated index.html, icons, etc.) + if len(parts) > 2 and parts[1] == "static" and parts[2] == "description": + return False + return True + + def extract_modules_from_files(changed_files: list[str], all_modules: set[str]) -> set[str]: - """Extract module names from changed file paths.""" + """Extract module names from changed file paths. + + Only considers code-relevant files (ignores READMEs, static descriptions). + """ modules: set[str] = set() for file_path in changed_files: parts = Path(file_path).parts - if parts and parts[0] in all_modules: + if parts and parts[0] in all_modules and is_code_relevant(file_path): modules.add(parts[0]) return modules From 95c07850a392b1756543bef9b83ff9f75a3d6087 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 22:03:23 +0800 Subject: [PATCH 7/9] fix(spp_grm): remove broken helpdesk_mgmt settings view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The res_config_settings_views.xml referenced fields (helpdesk_mgmt_portal_select_team, etc.) that were never defined in spp_grm's res.config.settings model — leftover from the helpdesk_mgmt fork. No menu pointed to its action either. Removes the dead view file and its manifest entry. --- spp_grm/__manifest__.py | 1 - spp_grm/views/res_config_settings_views.xml | 46 --------------------- 2 files changed, 47 deletions(-) delete mode 100644 spp_grm/views/res_config_settings_views.xml diff --git a/spp_grm/__manifest__.py b/spp_grm/__manifest__.py index ca70c5d..0ced382 100644 --- a/spp_grm/__manifest__.py +++ b/spp_grm/__manifest__.py @@ -42,7 +42,6 @@ "views/grm_sla_rule_views.xml", "views/grm_ticket_views.xml", "views/grm_portal_templates.xml", - "views/res_config_settings_views.xml", ], "assets": {}, "demo": [], diff --git a/spp_grm/views/res_config_settings_views.xml b/spp_grm/views/res_config_settings_views.xml deleted file mode 100644 index 34c491e..0000000 --- a/spp_grm/views/res_config_settings_views.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - - res.config.settings - - - - - - - - - - - - - - - - - - - - - Settings - ir.actions.act_window - res.config.settings - form - current - {'module' : 'helpdesk_mgmt', 'bin_size': False} - - From be0f6109f7013f43013ef992d9fba0ee4379be33 Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Fri, 20 Feb 2026 22:10:24 +0800 Subject: [PATCH 8/9] Revert "fix(ci): skip doc-only files in module change detection" This reverts commit 94a0df2199c73c60e7d79b7fab41c96de4cd0ec1. --- scripts/detect_modules.py | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-) diff --git a/scripts/detect_modules.py b/scripts/detect_modules.py index f28e414..926b4a7 100644 --- a/scripts/detect_modules.py +++ b/scripts/detect_modules.py @@ -107,31 +107,12 @@ def get_impacted_modules( return impacted -def is_code_relevant(file_path: str) -> bool: - """Check if a changed file is relevant for testing (not just docs/static).""" - p = Path(file_path) - parts = p.parts - # Skip top-level README - if p.name == "README.rst": - return False - # Skip readme fragments directory - if len(parts) > 1 and parts[1] == "readme": - return False - # Skip static/description (auto-generated index.html, icons, etc.) - if len(parts) > 2 and parts[1] == "static" and parts[2] == "description": - return False - return True - - def extract_modules_from_files(changed_files: list[str], all_modules: set[str]) -> set[str]: - """Extract module names from changed file paths. - - Only considers code-relevant files (ignores READMEs, static descriptions). - """ + """Extract module names from changed file paths.""" modules: set[str] = set() for file_path in changed_files: parts = Path(file_path).parts - if parts and parts[0] in all_modules and is_code_relevant(file_path): + if parts and parts[0] in all_modules: modules.add(parts[0]) return modules From 1b266aa81cf4edfcf136519cd3ab1084d17718ff Mon Sep 17 00:00:00 2001 From: emjay0921 Date: Mon, 23 Feb 2026 09:18:20 +0800 Subject: [PATCH 9/9] fix(ci): ignore doc-only changes in detection and add spp_demo to critical Two changes to detect_modules.py: 1. Skip README.rst, readme/ fragments, and static/description/ when detecting changed modules. These auto-generated doc files were inflating the detected count to 62 modules (from README regeneration), pushing demo modules out of the --max-modules=15 cap. 2. Add spp_demo to CRITICAL_MODULES so it's always tested on PRs. Its coverage upload was present in the base but missing in HEAD, causing the codecov/project -3.29% drop. --- scripts/detect_modules.py | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/scripts/detect_modules.py b/scripts/detect_modules.py index 926b4a7..9c28b93 100644 --- a/scripts/detect_modules.py +++ b/scripts/detect_modules.py @@ -25,7 +25,7 @@ from pathlib import Path # Critical modules that should always be tested on PRs -CRITICAL_MODULES = {"spp_security", "spp_registry", "spp_programs", "spp_base_common"} +CRITICAL_MODULES = {"spp_security", "spp_registry", "spp_programs", "spp_base_common", "spp_demo"} def parse_manifest(manifest_path: Path) -> dict: @@ -107,12 +107,31 @@ def get_impacted_modules( return impacted +def is_code_relevant(file_path: str) -> bool: + """Check if a changed file is relevant for testing (not just docs/static).""" + p = Path(file_path) + parts = p.parts + # Skip top-level README (auto-generated) + if p.name == "README.rst": + return False + # Skip readme fragments directory + if len(parts) > 1 and parts[1] == "readme": + return False + # Skip static/description (auto-generated index.html, icons, etc.) + if len(parts) > 2 and parts[1] == "static" and parts[2] == "description": + return False + return True + + def extract_modules_from_files(changed_files: list[str], all_modules: set[str]) -> set[str]: - """Extract module names from changed file paths.""" + """Extract module names from changed file paths. + + Only considers code-relevant files (ignores READMEs, static descriptions). + """ modules: set[str] = set() for file_path in changed_files: parts = Path(file_path).parts - if parts and parts[0] in all_modules: + if parts and parts[0] in all_modules and is_code_relevant(file_path): modules.add(parts[0]) return modules