├── .copier-answers.yml
├── .cursor
└── rules
│ ├── 00-cursor-rules-mdc.mdc
│ ├── odoo17-openspp-general.mdc
│ ├── openspp-fields-naming.mdc
│ ├── openspp-testing-practices.mdc
│ └── openspp-view-customization.mdc
├── .editorconfig
├── .eslintrc.yml
├── .flake8
├── .github
├── ISSUE_TEMPLATE
│ ├── feature_request.md
│ └── issue_template.md
├── auto_assign.yml
├── dependabot.yml
├── pull_request_template.md
└── workflows
│ ├── auto-assign-pr.yml
│ ├── auto-assign.yml
│ ├── cla.yml
│ ├── code-analysis.yml
│ ├── code-review-gpt.yml
│ ├── main.yml
│ ├── pre-commit.yml
│ ├── stale.yml
│ ├── test-legacy.yml
│ ├── test-pypi.yml
│ └── test.yml
├── .gitignore
├── .isort.cfg
├── .pre-commit-config.yaml
├── .prettierrc.yml
├── .pylintrc
├── .pylintrc-mandatory
├── .ruff.toml
├── .snyk
├── .sourcery.yaml
├── COPYRIGHT
├── LICENSE
├── README.md
├── SECURITY.md
├── base_geoengine
└── i18n
│ └── base_geoengine.pot
├── code_of_conduct.md
├── farmer-requirements.txt
├── g2p_bank
└── i18n
│ └── g2p_bank.pot
├── g2p_bank_rest_api
└── i18n
│ └── g2p_bank_rest_api.pot
├── g2p_connect_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── sample_data.xml
│ └── users_data.xml
├── i18n
│ ├── g2p_connect_demo.pot
│ └── lo.po
├── models
│ ├── __init__.py
│ ├── generate_change_request.py
│ ├── generate_group.py
│ ├── group.py
│ ├── individual.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_compute_indicator_fields.py
└── views
│ ├── generate_change_request_data_view.xml
│ ├── generate_data_view.xml
│ ├── groups_view.xml
│ └── individuals_view.xml
├── g2p_encryption
└── i18n
│ └── g2p_encryption.pot
├── g2p_encryption_keymanager
└── i18n
│ └── g2p_encryption_keymanager.pot
├── g2p_encryption_rest_api
└── i18n
│ └── g2p_encryption_rest_api.pot
├── g2p_entitlement_cash
└── i18n
│ └── g2p_entitlement_cash.pot
├── g2p_enumerator
└── i18n
│ └── g2p_enumerator.pot
├── g2p_openid_vci
└── i18n
│ └── g2p_openid_vci.pot
├── g2p_openid_vci_rest_api
└── i18n
│ └── g2p_openid_vci_rest_api.pot
├── g2p_programs
└── i18n
│ └── g2p_programs.pot
├── g2p_registry_base
└── i18n
│ └── g2p_registry_base.pot
├── g2p_registry_documents
└── i18n
│ └── g2p_registry_documents.pot
├── g2p_registry_encryption
└── i18n
│ └── g2p_registry_encryption.pot
├── g2p_registry_group
└── i18n
│ └── g2p_registry_group.pot
├── g2p_registry_individual
└── i18n
│ └── g2p_registry_individual.pot
├── g2p_registry_membership
└── i18n
│ └── g2p_registry_membership.pot
├── g2p_registry_rest_api
└── i18n
│ └── g2p_registry_rest_api.pot
├── license_header.txt
├── muk_web_appsbar
└── i18n
│ ├── de.po
│ └── muk_web_appsbar.pot
├── muk_web_chatter
└── i18n
│ ├── de.po
│ └── muk_web_chatter.pot
├── muk_web_colors
└── i18n
│ ├── de.po
│ └── muk_web_colors.pot
├── muk_web_dialog
└── i18n
│ ├── de.po
│ └── muk_web_dialog.pot
├── muk_web_theme
└── i18n
│ ├── de.po
│ └── muk_web_theme.pot
├── openg2p-requirements.txt
├── openspp-requirements.txt
├── requirements.txt
├── scripts
├── lint_and_fix.py
└── sync_issue_to_odoo.py
├── setup
└── _metapackage
│ └── pyproject.toml
├── sp-mis-requirements.txt
├── spp_api
├── README.rst
├── __init__.py
├── __manifest__.py
├── config.py
├── controllers
│ ├── __init__.py
│ ├── api.py
│ ├── apijsonrequest.py
│ ├── main.py
│ └── pinguin.py
├── demo
│ ├── openapi_demo.xml
│ └── openapi_security_demo.xml
├── doc
│ ├── changelog.rst
│ └── index.rst
├── i18n
│ ├── fr.po
│ ├── lo.po
│ └── spp_api.pot
├── images
│ ├── icon.png
│ └── openapi-swagger.png
├── models
│ ├── __init__.py
│ ├── ir_exports.py
│ ├── ir_model.py
│ ├── ir_model_fields.py
│ ├── res_users.py
│ ├── spp_api_field_alias.py
│ ├── spp_api_fields.py
│ ├── spp_api_function_parameter.py
│ ├── spp_api_log.py
│ ├── spp_api_namespace.py
│ └── spp_api_path.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ ├── openapi_security.xml
│ └── res_users_token.xml
├── static
│ └── description
│ │ ├── aws.png
│ │ ├── dataiku.png
│ │ ├── dots.jpg
│ │ ├── icon.png
│ │ ├── index.html
│ │ ├── openapi-configuration-model.png
│ │ ├── openapi-configuration-namespace.png
│ │ ├── openapi-logs.png
│ │ ├── powerbi.png
│ │ ├── swagger-editor.png
│ │ └── syndesis.jpg
├── templates
│ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_apijsonrequest.py
│ ├── test_ir_model_fields.py
│ ├── test_main_controller.py
│ ├── test_namespace.py
│ ├── test_res_users.py
│ ├── test_spp_api_field_alias.py
│ ├── test_spp_api_fields.py
│ ├── test_spp_api_function_parameter.py
│ ├── test_spp_api_log.py
│ └── test_spp_api_path.py
├── tools.py
├── views
│ ├── ir_model_view.xml
│ ├── openapi_template.xml
│ ├── openapi_view.xml
│ ├── res_users_view.xml
│ └── spp_api_field_alias_views.xml
└── wizards
│ ├── __init__.py
│ ├── res_users_bearer_token.py
│ └── res_users_bearer_token_views.xml
├── spp_api_records
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── spp_api_field_alias_data.xml
│ ├── spp_api_field_data.xml
│ ├── spp_api_namespace_data.xml
│ └── spp_api_path_data.xml
├── i18n
│ ├── lo.po
│ └── spp_api_records.pot
├── models
│ ├── __init__.py
│ ├── g2p_entitlements.py
│ ├── g2p_program.py
│ ├── product.py
│ ├── spp_service_point.py
│ └── uom_uom.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_g2p_entitlement.py
│ ├── test_product_template.py
│ └── test_spp_service_point.py
└── views
│ ├── spp_service_point_views.xml
│ └── uom_category_views.xml
├── spp_area
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_area.pot
├── models
│ ├── __init__.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ ├── icon_area.png
│ │ └── index.html
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── contacts.png
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── irq_adminboundaries_tabulardata.xlsx
│ ├── pse_adminboundaries_tabulardata.xlsx
│ ├── test_area.py
│ ├── test_area_import.py
│ └── test_area_import_raw.py
└── views
│ ├── area.xml
│ ├── area_import.xml
│ ├── area_kind.xml
│ ├── group_views.xml
│ └── individual_views.xml
├── spp_area_base
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── area_kind_data.xml
│ └── queue_job_channel.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ ├── spp_area.pot
│ └── spp_area_base.pot
├── models
│ ├── __init__.py
│ ├── area.py
│ └── area_import.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ ├── icon_area.png
│ │ └── index.html
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── contacts.png
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── irq_adminboundaries_tabulardata.xlsx
│ ├── pse_adminboundaries_tabulardata.xlsx
│ ├── test_area.py
│ ├── test_area_import.py
│ └── test_area_import_raw.py
└── views
│ ├── area.xml
│ ├── area_import_views.xml
│ └── area_kind.xml
├── spp_area_gis
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_area_gis.pot
├── models
│ ├── __init__.py
│ ├── area.py
│ └── area_import.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── contacts.png
├── tests
│ ├── __init__.py
│ ├── irq_adminboundaries_tabulardata.xlsx
│ ├── pse_adminboundaries_tabulardata.xlsx
│ ├── test_area_import.py
│ └── test_area_import_raw.py
└── views
│ └── area.xml
├── spp_attendance
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── data
│ └── ir_config_parameter_data.xml
├── i18n
│ ├── lo.po
│ └── spp_attendance.pot
├── models
│ ├── __init__.py
│ ├── attendance_api_client_credentials.py
│ ├── attendance_list.py
│ ├── attendance_location.py
│ ├── attendance_subscriber.py
│ ├── attendance_type.py
│ ├── registry_config.py
│ └── res_partner.py
├── pyproject.toml
├── security
│ ├── ir.model.access.csv
│ └── security.xml
├── static
│ ├── description
│ │ └── icon.png
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── attendance.png
├── views
│ ├── attendance_api_client_views.xml
│ ├── attendance_location_views.xml
│ ├── attendance_type_views.xml
│ ├── attendance_views.xml
│ ├── main_views.xml
│ └── res_config_view.xml
└── wizard
│ ├── __init__.py
│ ├── import_attendance.py
│ └── import_attendance_view.xml
├── spp_audit_config
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── audit_rule_data.xml
├── i18n
│ ├── lo.po
│ └── spp_audit_config.pot
├── models
│ ├── __init__.py
│ └── spp_audit_rule.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
└── static
│ └── description
│ ├── icon.png
│ └── index.html
├── spp_audit_log
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_audit_log.pot
├── models
│ ├── __init__.py
│ ├── group.py
│ ├── spp_audit_log.py
│ └── spp_audit_rule.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── audit_log_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_spp_audit_rule.py
├── tools
│ ├── __init__.py
│ └── decorator.py
└── views
│ ├── spp_audit_log_views.xml
│ └── spp_audit_rule_views.xml
├── spp_audit_post
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_audit_post.pot
├── models
│ ├── __init__.py
│ ├── spp_audit_log.py
│ └── spp_audit_rule.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── views
│ └── spp_audit_rule_views.xml
├── spp_auto_update_entitlements
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_auto_update_entitlements.pot
├── models
│ ├── __init__.py
│ ├── cycle.py
│ └── entitlement.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_cycle.py
│ └── test_entitlement.py
└── views
│ ├── cycle_view.xml
│ └── entitlements_view.xml
├── spp_base
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── global_roles.xml
│ ├── local_roles.xml
│ └── top_up_card.xml
├── i18n
│ ├── lo.po
│ └── spp_base.pot
├── models
│ ├── __init__.py
│ ├── group_membership.py
│ ├── reg_id.py
│ ├── registrant.py
│ └── spp_unique_id.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ ├── icon_registry.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_top_up_id.py
└── views
│ ├── main_view.xml
│ ├── registrant_view.xml
│ └── users_view.xml
├── spp_base_api
├── README.rst
├── __init__.py
├── __manifest__.py
├── doc
│ ├── changelog.rst
│ └── index.rst
├── i18n
│ ├── fr.po
│ ├── lo.po
│ └── spp_base_api.pot
├── lib
│ ├── __init__.py
│ └── pinguin.py
├── models
│ ├── __init__.py
│ └── base.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── tests
│ ├── __init__.py
│ └── test_base.py
├── spp_base_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── gender_data.xml
│ └── users_data.xml
├── i18n
│ ├── lo.po
│ └── spp_base_demo.pot
├── locale_providers
│ ├── __init__.py
│ ├── en_KE
│ │ └── __init__.py
│ ├── lo_LA
│ │ └── __init__.py
│ ├── si_LK
│ │ └── __init__.py
│ ├── sw_KE
│ │ └── __init__.py
│ └── ta_LK
│ │ └── __init__.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── tests
│ ├── __init__.py
│ └── test_locale_providers.py
├── spp_base_gis
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── main.py
├── expression.py
├── fields.py
├── i18n
│ ├── lo.po
│ └── spp_base_gis.pot
├── models
│ ├── __init__.py
│ ├── base.py
│ ├── data_layer.py
│ ├── ir_model.py
│ ├── ir_view.py
│ ├── raster_layer.py
│ └── raster_layer_type.py
├── operators.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── security.xml
├── static
│ ├── description
│ │ └── index.html
│ ├── img
│ │ └── map-marker.png
│ ├── lib
│ │ ├── mapbox-gl-draw-1.2.0
│ │ │ ├── mapbox-gl-draw.css
│ │ │ ├── mapbox-gl-draw.js
│ │ │ └── mapbox-gl-draw.js.map
│ │ ├── maptiler-geocoding-control-1.2.0
│ │ │ ├── maptilersdk.umd.cjs.map
│ │ │ ├── maptilersdk.umd.js
│ │ │ └── style.css
│ │ ├── maptiler-sdk-js-1.2.0
│ │ │ ├── maptiler-sdk.css
│ │ │ └── maptiler-sdk.umd.min.js
│ │ └── turf-3.0.11
│ │ │ └── turf.min.js
│ └── src
│ │ ├── css
│ │ └── style.css
│ │ ├── images
│ │ ├── editing_tool_bar.png
│ │ └── laos_farm.png
│ │ └── js
│ │ ├── .eslintrc
│ │ ├── base_layers_store.esm.js
│ │ ├── data_layers_store.esm.js
│ │ ├── raster_layers_store.esm.js
│ │ ├── views
│ │ └── gis
│ │ │ ├── gis_arch_parser.esm.js
│ │ │ ├── gis_compiler.esm.js
│ │ │ ├── gis_controller
│ │ │ ├── gis_controller.esm.js
│ │ │ └── gis_controller.xml
│ │ │ ├── gis_renderer
│ │ │ ├── gis_renderer.esm.js
│ │ │ ├── gis_renderer.scss
│ │ │ └── gis_renderer.xml
│ │ │ ├── gis_view.esm.js
│ │ │ └── layers_panel
│ │ │ ├── layers_panel.esm.js
│ │ │ ├── layers_panel.scss
│ │ │ └── layers_panel.xml
│ │ └── widgets
│ │ └── gis_edit_map
│ │ ├── field_gis_edit_map.esm.js
│ │ ├── field_gis_edit_map.scss
│ │ └── field_gis_edit_map.xml
└── views
│ ├── data_layer_view.xml
│ ├── ir_model_view.xml
│ ├── ir_view_view.xml
│ └── raster_layer_view.xml
├── spp_base_gis_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_base_gis_demo.pot
├── models
│ ├── __init__.py
│ ├── partner.py
│ └── test_gis_model.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_base_gis.py
│ ├── test_fields.py
│ ├── test_gis_domain_operator.py
│ └── test_operator.py
└── views
│ └── partner.xml
├── spp_base_gis_rest
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── i18n
│ ├── lo.po
│ └── spp_base_gis_rest.pot
├── models
│ ├── __init__.py
│ └── api_client_credentials.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_api_client_credentials.py
└── views
│ └── api_client_credentials_view.xml
├── spp_base_setting
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_base_setting.pot
├── models
│ └── __init__.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ └── __init__.py
└── views
│ ├── country_office_views.xml
│ └── res_users_views.xml
├── spp_basic_cash_entitlement_spent
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_basic_cash_entitlement_spent.pot
├── models
│ ├── __init__.py
│ └── entitlement.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── tests
│ ├── __init__.py
│ └── test_g2p_entitlement.py
├── spp_change_request
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── dms.xml
│ ├── mail_activity.xml
│ └── sequences.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_change_request.pot
├── models
│ ├── __init__.py
│ ├── change_request.py
│ ├── change_request_stage.py
│ ├── change_request_targets.py
│ ├── dms_directory.py
│ ├── dms_file.py
│ ├── group_membership.py
│ ├── mixins
│ │ ├── __init__.py
│ │ ├── source_mixin.py
│ │ └── validation_sequence_mixin.py
│ └── registry.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ └── dms_preview.js
│ │ ├── scss
│ │ └── change_request.scss
│ │ └── xml
│ │ └── dms_preview_widget.xml
├── tests
│ ├── __init__.py
│ ├── common.py
│ └── test_change_requests.py
├── views
│ ├── change_request_validation_sequence_view.xml
│ ├── change_request_view.xml
│ ├── dms_file_view.xml
│ ├── main_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── cancel_change_request.py
│ ├── cancel_change_request_view.xml
│ ├── confirm_user_assignment.py
│ ├── confirm_user_assignment_view.xml
│ ├── reject_change_request.py
│ └── reject_change_request_view.xml
├── spp_change_request_add_children_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ ├── dms.xml
│ └── id_type.xml
├── i18n
│ ├── lo.po
│ └── spp_change_request_add_children_demo.pot
├── models
│ ├── __init__.py
│ ├── change_request.py
│ ├── change_request_add_children.py
│ ├── change_request_add_children_validation_sequence.py
│ ├── dms.py
│ └── group_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── sample_document.jpeg
│ └── test_create_cr.py
└── views
│ ├── change_request_add_children_view.xml
│ └── dms_file_view.xml
├── spp_change_request_add_farmer
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ ├── dms.xml
│ └── id_type.xml
├── i18n
│ ├── lo.po
│ └── spp_change_request_add_farmer.pot
├── models
│ ├── __init__.py
│ ├── change_request_add_farmer.py
│ ├── change_request_add_farmer_validation_sequence.py
│ ├── dms.py
│ └── group_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_add_farmer.py
└── views
│ ├── change_request_add_farmer_view.xml
│ └── dms_file_view.xml
├── spp_change_request_add_group_to_group
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ └── dms.xml
├── i18n
│ ├── lo.po
│ ├── spp_change_request_add_farm.pot
│ └── spp_change_request_add_group_to_group.pot
├── models
│ ├── __init__.py
│ ├── change_request_add_group_to_group.py
│ ├── change_request_add_group_to_group_validation_sequence.py
│ ├── dms.py
│ └── group_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_add_group_to_group.py
└── views
│ ├── change_request_add_group_to_group_view.xml
│ ├── change_request_view.xml
│ └── dms_file_view.xml
├── spp_change_request_base
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── mail_activity.xml
│ └── sequences.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ ├── spp_change_request.pot
│ └── spp_change_request_base.pot
├── models
│ ├── __init__.py
│ ├── change_request.py
│ ├── change_request_stage.py
│ ├── dms_directory.py
│ ├── dms_file.py
│ ├── mixins
│ │ ├── __init__.py
│ │ ├── source_mixin.py
│ │ └── validation_sequence_mixin.py
│ └── registry.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ └── dms_preview.js
│ │ ├── scss
│ │ └── change_request.scss
│ │ └── xml
│ │ └── dms_preview_widget.xml
├── tests
│ ├── __init__.py
│ ├── common.py
│ └── test_change_requests.py
├── views
│ ├── change_request_validation_sequence_view.xml
│ ├── dms_file_view.xml
│ └── main_view.xml
└── wizard
│ ├── __init__.py
│ ├── cancel_change_request.py
│ ├── cancel_change_request_view.xml
│ ├── confirm_user_assignment.py
│ ├── confirm_user_assignment_view.xml
│ ├── reject_change_request.py
│ └── reject_change_request_view.xml
├── spp_change_request_change_info
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ ├── dms.xml
│ └── id_type.xml
├── i18n
│ ├── lo.po
│ └── spp_change_request_change_info.pot
├── models
│ ├── __init__.py
│ ├── change_request.py
│ ├── change_request_change_info.py
│ ├── change_request_change_info_validation_sequence.py
│ ├── dms.py
│ └── group_membership.py
├── pyproject.toml
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── icon.png
├── tests
│ ├── __init__.py
│ ├── sample_document.jpeg
│ └── test_create_cr.py
└── views
│ ├── change_request_change_info_view.xml
│ └── dms_file_view.xml
├── spp_change_request_create_farm
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ └── dms.xml
├── i18n
│ ├── lo.po
│ └── spp_change_request_create_farm.pot
├── models
│ ├── __init__.py
│ ├── change_request_create_farm.py
│ ├── change_request_create_farm_validation_sequence.py
│ └── dms.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_create_farm.py
└── views
│ ├── change_request_create_farm_view.xml
│ ├── change_request_view.xml
│ └── dms_file_view.xml
├── spp_change_request_create_group
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ ├── dms.xml
│ └── id_type.xml
├── i18n
│ ├── lo.po
│ └── spp_change_request_create_group.pot
├── models
│ ├── __init__.py
│ ├── change_request_create_group.py
│ ├── change_request_create_group_validation_sequence.py
│ └── dms.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_create_group.py
└── views
│ ├── change_request_create_group_view.xml
│ ├── change_request_view.xml
│ └── dms_file_view.xml
├── spp_change_request_edit_farm
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ └── dms.xml
├── models
│ ├── __init__.py
│ ├── change_request_edit_farm.py
│ ├── change_request_edit_farm_validation_sequence.py
│ └── dms.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_edit_farm.py
└── views
│ ├── change_request_edit_farm_view.xml
│ ├── change_request_view.xml
│ └── dms_file_view.xml
├── spp_change_request_edit_farmer
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── change_request_sequence.xml
│ ├── change_request_stage.xml
│ ├── change_request_target.xml
│ └── dms.xml
├── models
│ ├── __init__.py
│ ├── change_request_edit_farmer.py
│ ├── change_request_edit_farmer_validation_sequence.py
│ └── dms.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── change_request_security.xml
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_change_request_edit_farmer.py
└── views
│ ├── change_request_edit_farmer_view.xml
│ ├── change_request_view.xml
│ └── dms_file_view.xml
├── spp_consent
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── default_consent_config.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_consent.pot
├── models
│ ├── __init__.py
│ ├── consent.py
│ ├── consent_config.py
│ ├── consent_mixin.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_record_consent_wizard.py
│ └── test_registrant.py
├── views
│ ├── expired_consent_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── record_consent.py
│ └── record_consent.xml
├── spp_custom_field
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_custom_field.pot
├── models
│ ├── __init__.py
│ └── cus_partner.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
└── static
│ └── description
│ ├── icon.png
│ └── index.html
├── spp_custom_field_custom_filter
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_custom_field_custom_filter.pot
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── views
│ └── ir_model_fields_views.xml
├── spp_custom_field_recompute_daily
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── ir_cron_data.xml
├── i18n
│ ├── lo.po
│ └── spp_custom_field_recompute_daily.pot
├── models
│ ├── __init__.py
│ ├── base.py
│ ├── ir_model_fields.py
│ ├── res_config_settings.py
│ └── test_daily_recompute_model.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_ir_model_fields.py
└── views
│ ├── ir_model_fields_views.xml
│ └── res_config_settings_views.xml
├── spp_custom_fields_ui
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_custom_fields_ui.pot
├── models
│ ├── __init__.py
│ └── custom_fields_ui.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_custom_fields_ui.py
└── views
│ └── custom_fields_ui.xml
├── spp_custom_filter
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_custom_filter.pot
├── models
│ ├── __init__.py
│ ├── custom_filter_mixin.py
│ └── ir_model_fields.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── views
│ └── ir_model_fields_views.xml
├── spp_custom_filter_farmer_registry
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_custom_filter_farmer_registry.pot
├── models
│ ├── __init__.py
│ └── res_partner.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
└── static
│ └── description
│ └── index.html
├── spp_custom_filter_ui
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_custom_filter_ui.pot
├── models
│ ├── __init__.py
│ └── res_partner.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
└── static
│ └── description
│ └── index.html
├── spp_cycle_attendance_compliance
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_cycle_attendance_compliance.pot
├── models
│ ├── __init__.py
│ ├── cycle_group_membership_attendance.py
│ ├── cycle_membership.py
│ ├── event_data_attendance.py
│ ├── g2p_cycle.py
│ ├── individual.py
│ ├── managers
│ │ ├── __init__.py
│ │ ├── cycle_manager.py
│ │ └── program_manager.py
│ ├── res_config_attendance_location.py
│ ├── res_config_attendance_type.py
│ └── res_config_settings.py
├── pyproject.toml
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── icon.png
└── views
│ ├── config_attendance_location_view.xml
│ ├── config_attendance_type_view.xml
│ ├── cycle_membership_view.xml
│ ├── event_data_attendance_view.xml
│ ├── g2p_cycle_views.xml
│ ├── main_attendance_view.xml
│ ├── registrant_view.xml
│ └── res_config_settings_views.xml
├── spp_dashboard_base
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_dashboard_base.pot
├── pyproject.toml
└── static
│ ├── description
│ └── icon.png
│ └── src
│ ├── card_board
│ ├── card_board.js
│ └── card_board.xml
│ ├── chart
│ ├── chart.js
│ └── chart.xml
│ └── dashboard
│ ├── dashboard.js
│ └── dashboard.xml
├── spp_data_export
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── main.py
├── i18n
│ ├── lo.po
│ └── spp_data_export.pot
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
└── static
│ └── description
│ └── index.html
├── spp_dci_api_server
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── i18n
│ ├── lo.po
│ └── spp_dci_api_server.pot
├── models
│ ├── __init__.py
│ ├── client_credentials.py
│ └── individual.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_client_credentials.py
│ └── test_individual.py
├── tools
│ ├── __init__.py
│ ├── constants.py
│ ├── private_key.pem
│ └── public_key.pub
└── views
│ └── client_credentials_view.xml
├── spp_dms
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_dms.pot
├── models
│ ├── __init__.py
│ ├── dms_category.py
│ ├── dms_directory.py
│ ├── dms_file.py
│ └── mixins_thumbnail.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── security.xml
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ ├── icons
│ │ ├── file_ai.svg
│ │ ├── file_aj.svg
│ │ ├── file_avi.svg
│ │ ├── file_c.svg
│ │ ├── file_cbl.svg
│ │ ├── file_cc.svg
│ │ ├── file_coffee.svg
│ │ ├── file_cs.svg
│ │ ├── file_css.svg
│ │ ├── file_csv.svg
│ │ ├── file_dbf.svg
│ │ ├── file_dll.svg
│ │ ├── file_doc.svg
│ │ ├── file_docx.svg
│ │ ├── file_dwg.svg
│ │ ├── file_eml.svg
│ │ ├── file_eps.svg
│ │ ├── file_exe.svg
│ │ ├── file_f.svg
│ │ ├── file_fla.svg
│ │ ├── file_gif.svg
│ │ ├── file_go.svg
│ │ ├── file_groovy.svg
│ │ ├── file_html.svg
│ │ ├── file_iso.svg
│ │ ├── file_java.svg
│ │ ├── file_jpg.svg
│ │ ├── file_js.svg
│ │ ├── file_json.svg
│ │ ├── file_less.svg
│ │ ├── file_md.svg
│ │ ├── file_mov.svg
│ │ ├── file_mp3.svg
│ │ ├── file_mp4.svg
│ │ ├── file_odp.svg
│ │ ├── file_ods.svg
│ │ ├── file_odt.svg
│ │ ├── file_pdf.svg
│ │ ├── file_php.svg
│ │ ├── file_ppt.svg
│ │ ├── file_pptx.svg
│ │ ├── file_psd.svg
│ │ ├── file_py.svg
│ │ ├── file_rar.svg
│ │ ├── file_raw.svg
│ │ ├── file_rtf.svg
│ │ ├── file_sass.svg
│ │ ├── file_sc.svg
│ │ ├── file_sh.svg
│ │ ├── file_svg.svg
│ │ ├── file_tar.svg
│ │ ├── file_ttf.svg
│ │ ├── file_txt.svg
│ │ ├── file_unknown.svg
│ │ ├── file_wav.svg
│ │ ├── file_xls.svg
│ │ ├── file_xlsx.svg
│ │ ├── file_xml.svg
│ │ ├── file_zip.svg
│ │ └── folder.svg
│ └── src
│ │ ├── js
│ │ └── preview_binary_field.esm.js
│ │ └── xml
│ │ └── preview_binary_field.xml
├── tests
│ ├── __init__.py
│ ├── test_dms_directory.py
│ ├── test_dms_file.py
│ └── test_file_tools.py
├── tools
│ ├── __init__.py
│ └── file_tools.py
└── views
│ ├── dms_category_views.xml
│ ├── dms_directory_views.xml
│ ├── dms_file_views.xml
│ └── main_view.xml
├── spp_eligibility_sql
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_eligibility_sql.pot
├── models
│ ├── __init__.py
│ ├── eligibility_manager.py
│ └── programs.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_create_program_wizard.py
│ ├── test_eligibility_manager.py
│ └── test_program.py
├── views
│ └── eligibility_manager_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_eligibility_tags
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_eligibility_tags.pot
├── models
│ ├── __init__.py
│ └── eligibility_manager.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_create_program_wizard.py
│ └── test_eligibility_manager.py
├── views
│ └── eligibility_manager_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_encryption
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_encryption.pot
├── models
│ ├── __init__.py
│ └── encryption_provider.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_encryption_provider.py
└── views
│ └── encryption_provider.xml
├── spp_ent_trans
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_ent_trans.pot
├── models
│ ├── __init__.py
│ └── transactions.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── views
│ ├── inkind_transactions_view.xml
│ └── transactions_view.xml
├── spp_entitlement_basket
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_entitlement_basket.pot
├── models
│ ├── __init__.py
│ ├── entitlement.py
│ ├── entitlement_manager.py
│ └── stock
│ │ ├── __init__.py
│ │ └── food_basket.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── css
│ │ └── spp_entitlement_basket.css
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_create_program_wizard.py
│ ├── test_entitlement_basket.py
│ ├── test_entitlement_manager.py
│ └── test_food_basket.py
├── views
│ ├── entitlement_manager_view.xml
│ └── stock
│ │ └── entitlement_basket_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_entitlement_cash
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_entitlement_cash.pot
├── models
│ ├── __init__.py
│ └── entitlement_manager.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_create_program_wizard.py
│ └── test_entitlement_manager.py
├── views
│ └── entitlement_manager_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_entitlement_in_kind
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_entitlement_in_kind.pot
├── models
│ ├── __init__.py
│ ├── entitlement.py
│ └── entitlement_manager.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_create_program_wizard.py
│ └── test_entitlement_manager.py
├── views
│ └── entitlement_manager_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_ethnic_group
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_ethnic_group.pot
├── models
│ ├── __init__.py
│ └── ethnic_group.py
├── pyproject.toml
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── views
│ └── ethnic_group_views.xml
├── spp_event_data
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_event_data.pot
├── models
│ ├── __init__.py
│ ├── event_data.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_event_data.py
├── views
│ ├── event_data_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_event_wizard.py
│ └── create_event_wizard.xml
├── spp_event_data_program_membership
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_event_data_program_membership.pot
├── models
│ ├── __init__.py
│ ├── event_data.py
│ └── program_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_create_event_wizard.py
│ ├── test_event_data.py
│ └── test_program_membership.py
├── views
│ ├── event_data_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_event_wizard.py
│ └── create_event_wizard.xml
├── spp_event_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_event_demo.pot
├── models
│ ├── __init__.py
│ ├── house_visit.py
│ ├── phone_survey.py
│ ├── registrant.py
│ └── school_enrolment.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_event_house_visit.py
│ ├── test_event_phone_survey.py
│ └── test_event_schoolenrolment_record.py
├── views
│ ├── house_visit_view.xml
│ ├── phone_survey_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_event_house_visit_wizard.py
│ ├── create_event_house_visit_wizard.xml
│ ├── create_event_phone_survey_wizard.py
│ ├── create_event_phone_survey_wizard.xml
│ ├── create_event_school_enrolment_wizard.py
│ ├── create_event_school_enrolment_wizard.xml
│ └── create_event_wizard.py
├── spp_exclusion_filter
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_exclusion_filter.pot
├── models
│ ├── __init__.py
│ └── managers
│ │ ├── __init__.py
│ │ └── eligibility_manager.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_eligibility_manager.py
├── views
│ └── managers
│ │ └── eligibility_manager_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_farmer_registry_base
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ ├── farm.py
│ └── land_record.py
├── data
│ ├── id_data.xml
│ └── kind_data.xml
├── i18n
│ ├── lo.po
│ ├── lo_LA.po
│ └── spp_farmer_registry_base.pot
├── models
│ ├── __init__.py
│ ├── agricultural_activity.py
│ ├── base_import.py
│ ├── chemical.py
│ ├── extension_services.py
│ ├── farm.py
│ ├── farm_asset.py
│ ├── farm_details.py
│ ├── farm_season.py
│ ├── farmer.py
│ ├── feed_items.py
│ ├── fertilizer.py
│ ├── group_membership.py
│ ├── land_record.py
│ └── species.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── security.xml
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── import_records
│ │ └── import_records.js
├── tests
│ ├── __init__.py
│ ├── test_farm.py
│ ├── test_farm_season.py
│ └── test_group_membership.py
└── views
│ ├── configuration_view.xml
│ ├── farm_season_view.xml
│ ├── res_partner.xml
│ └── res_users.xml
├── spp_farmer_registry_dashboard
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── dashboards.xml
│ └── files
│ │ └── farmer_registry_dashboard.json
├── i18n
│ ├── lo.po
│ └── spp_farmer_registry_dashboard.pot
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── reports
│ ├── __init__.py
│ ├── farmer_farm_details_report.py
│ ├── farmer_registry_report.py
│ ├── farmer_registry_report_views.xml
│ └── farmer_with_without_training_report.py
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
└── views
│ └── main_view.xml
├── spp_farmer_registry_default_ui
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_farmer_registry_default_ui.pot
├── models
│ └── __init__.py
├── pyproject.toml
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── icon.png
└── views
│ ├── group_view.xml
│ └── individual_view.xml
├── spp_farmer_registry_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── aqua_data.xml
│ ├── asset_type_data.xml
│ ├── chemical_data.xml
│ ├── crop_data.xml
│ ├── feed_items_data.xml
│ ├── fertilizer_data.xml
│ ├── livestock_data.xml
│ └── machinery_type_data.xml
├── i18n
│ ├── lo.po
│ └── spp_farmer_registry_demo.pot
├── models
│ ├── __init__.py
│ ├── agricultural_activity.py
│ ├── farm.py
│ ├── farm_asset.py
│ ├── farm_details.py
│ ├── farmer.py
│ ├── generate_farmer_data.py
│ └── land_record.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_farm.py
│ ├── test_generate_farmer_data.py
│ └── test_tools.py
├── tools
│ ├── __init__.py
│ ├── generate_polygon.py
│ ├── geoBoundaries-LKA-ADM0_simplified.geojson
│ ├── laos_features.json
│ ├── random_location_in_kenya.py
│ ├── random_location_in_laos.py
│ └── random_location_in_sri_lanka.py
└── views
│ ├── generate_farmer_data_view.xml
│ ├── group_view.xml
│ └── individual_view.xml
├── spp_grm
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── grm_portal.py
├── data
│ ├── grm_data.xml
│ ├── mail_alias.xml
│ ├── mail_templates.xml
│ └── user_roles.xml
├── i18n
│ ├── lo.po
│ └── spp_grm.pot
├── models
│ ├── __init__.py
│ ├── grm_ticket.py
│ ├── grm_ticket_category.py
│ ├── grm_ticket_channel.py
│ ├── grm_ticket_stage.py
│ ├── grm_ticket_tag.py
│ └── res_partner.py
├── pyproject.toml
├── security
│ ├── grm_security.xml
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ └── icon.png
│ └── src
│ │ └── img
│ │ └── ticket.svg
├── tests
│ ├── __init__.py
│ ├── test_grm_ticket.py
│ ├── test_grm_ticket_stage.py
│ └── test_res_partner.py
└── views
│ ├── grm_portal_templates.xml
│ ├── grm_ticket_category_views.xml
│ ├── grm_ticket_channel_views.xml
│ ├── grm_ticket_menu.xml
│ ├── grm_ticket_stage_views.xml
│ ├── grm_ticket_tag_views.xml
│ ├── grm_ticket_views.xml
│ ├── res_config_settings_views.xml
│ └── res_partner_views.xml
├── spp_hide_menus
├── __init__.py
├── __manifest__.py
├── data
│ └── hide_menu_data.xml
├── i18n
│ ├── lo.po
│ └── spp_hide_menus.pot
└── pyproject.toml
├── spp_hide_menus_base
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_hide_menus_base.pot
├── models
│ ├── __init__.py
│ └── hide_menu.py
├── pyproject.toml
├── security
│ ├── ir.model.access.csv
│ └── security.xml
└── views
│ └── hide_menu_view.xml
├── spp_idpass
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── id_pass.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_idpass.pot
├── models
│ ├── __init__.py
│ ├── id_pass.py
│ ├── id_type.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ ├── icon_id.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_id_pass.py
│ ├── test_id_type.py
│ └── test_registrant.py
├── views
│ ├── id_pass_view.xml
│ ├── id_type.xml
│ ├── main_view.xml
│ └── registrant.xml
└── wizard
│ ├── __init__.py
│ ├── issue_id_pass_wizard.py
│ └── issue_id_pass_wizard.xml
├── spp_idqueue
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── id_pass.xml
│ └── queue_data.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_idqueue.pot
├── models
│ ├── __init__.py
│ ├── id_batch.py
│ ├── id_queue.py
│ ├── queue_job_channel.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── g2p_security.xml
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── js
│ │ └── form_controller.js
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_batch_create_wizard.py
│ ├── test_id_batch.py
│ ├── test_id_queue.py
│ ├── test_multi_id_request_wizard.py
│ ├── test_queue_job_channel.py
│ ├── test_registrant.py
│ ├── test_request_id_wizard.py
│ └── test_res_config_settings.py
├── views
│ ├── id_batch_view.xml
│ ├── id_pass_view.xml
│ ├── id_queue_view.xml
│ ├── registrant.xml
│ └── res_config_settings.xml
└── wizard
│ ├── __init__.py
│ ├── batch_create_wizard.py
│ ├── batch_create_wizard.xml
│ ├── multi_id_request_wizard.py
│ ├── multi_id_request_wizard.xml
│ ├── request_id_wizard.py
│ └── request_id_wizard.xml
├── spp_import_dci_api
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── crvs_data_source.xml
│ └── crvs_location_data.xml
├── i18n
│ ├── lo.po
│ └── spp_import_dci_api.pot
├── models
│ ├── __init__.py
│ ├── constants.py
│ ├── eligibility_manager.py
│ ├── fetch_crvs_beneficiary.py
│ ├── group.py
│ ├── group_membership.py
│ ├── imported_individuals.py
│ ├── individual.py
│ └── res_partner.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── fetch_crvs_security.xml
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ ├── img
│ │ └── icons
│ │ │ └── contacts.png
│ │ ├── js
│ │ └── field_domain.js
│ │ └── xml
│ │ └── field_domain.xml
├── tests
│ ├── __init__.py
│ └── test_fetch_crvs_beneficiary.py
├── tools
│ ├── __init__.py
│ ├── field_onchange.py
│ ├── insert_operator.py
│ ├── private_key.pem
│ └── private_key.pem.pub
├── views
│ ├── create_program_wizard_view.xml
│ ├── eligibility_manager_view.xml
│ └── fetch_crvs_beneficiary_views.xml
└── wizard
│ ├── __init__.py
│ └── create_program_wizard.py
├── spp_import_match
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── queue_job_data.xml
├── i18n
│ ├── lo.po
│ └── spp_import_match.pot
├── models
│ ├── __init__.py
│ ├── base.py
│ ├── base_import.py
│ ├── import_match.py
│ └── queue_job.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── legacy
│ │ ├── custom_base_import.xml
│ │ ├── js
│ │ └── custom_base_import.js
│ │ └── xml
│ │ └── custom_base_import.xml
├── tests
│ ├── __init__.py
│ ├── res_partner_group_async.csv
│ ├── res_partner_group_name.csv
│ ├── res_partner_name.csv
│ └── test_res_partner_import_match.py
└── views
│ └── import_match_view.xml
├── spp_irrigation
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_irrigation.pot
├── models
│ ├── __init__.py
│ └── irrigation.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── irrigation_security.xml
├── static
│ └── description
│ │ └── index.html
└── views
│ └── irrigation_view.xml
├── spp_land_record
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_land_record.pot
├── models
│ ├── __init__.py
│ └── land_record.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
└── tests
│ ├── __init__.py
│ └── test_land_record.py
├── spp_manual_eligibility
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_manual_eligibility.pot
├── models
│ ├── __init__.py
│ ├── cycle.py
│ ├── eligibility_manager.py
│ ├── program.py
│ └── program_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_manual_eligibility.py
├── views
│ ├── cycle_view.xml
│ ├── program_membership_view.xml
│ └── program_view.xml
└── wizard
│ ├── __init__.py
│ ├── assign_to_program_wizard.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_manual_entitlement
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_manual_entitlement.pot
├── models
│ ├── __init__.py
│ ├── cycle.py
│ ├── cycle_manager.py
│ └── entitlement_manager.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_entitlement.csv
│ ├── test_entitlement.pdf
│ ├── test_entitlement.xlsx
│ └── test_manual_entitlement.py
├── views
│ └── cycle_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ ├── manual_entitlement_wizard.py
│ └── manual_entitlement_wizard.xml
├── spp_mis_demo
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── product_data.xml
│ └── res_lang_data.xml
├── i18n
│ ├── lo.po
│ ├── spp_demo.pot
│ └── spp_mis_demo.pot
├── models
│ ├── __init__.py
│ ├── generate_group.py
│ ├── generate_program.py
│ ├── group.py
│ └── individual.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_cus_partner.py
│ ├── test_generate_group.py
│ └── test_generate_program.py
└── views
│ ├── generate_data_view.xml
│ └── generate_program_view.xml
├── spp_oauth
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_oauth.pot
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_rsa_encode_decode.py
└── tools
│ ├── __init__.py
│ ├── oauth_exception.py
│ ├── private_key.pem
│ ├── public_key.pub
│ └── rsa_encode_decode.py
├── spp_openid_vci
├── README.rst
├── __init__.py
├── __manifest__.py
├── controllers
│ ├── __init__.py
│ └── controllers.py
├── data
│ └── paperformat.xml
├── i18n
│ ├── lo.po
│ └── spp_openid_vci.pot
├── models
│ ├── __init__.py
│ ├── ir_actions_report.py
│ ├── res_partner.py
│ └── vci_issuer.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ ├── security_access.xml
│ └── security_user_roles.xml
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_tools.py
│ └── test_vci_issuer.py
├── tools
│ ├── __init__.py
│ └── tools.py
├── views
│ ├── id_card.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── vci_issuer_selection.py
│ └── vci_issuer_selection_view.xml
├── spp_openid_vci_group
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── default_contexts.json
│ ├── default_credential_format.jq
│ └── default_issuer_metadata.jq
├── i18n
│ ├── lo.po
│ └── spp_openid_vci_group.pot
├── models
│ ├── __init__.py
│ └── vci_issuer.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── views
│ └── group_view.xml
├── spp_openid_vci_individual
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── default_contexts.json
│ ├── default_credential_format.jq
│ └── default_issuer_metadata.jq
├── i18n
│ ├── lo.po
│ └── spp_openid_vci_individual.pot
├── models
│ ├── __init__.py
│ └── vci_issuer.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── views
│ └── individual_view.xml
├── spp_pmt
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_pmt.pot
├── models
│ ├── __init__.py
│ ├── custom_fields_ui.py
│ └── pmt.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_pmt.py
└── views
│ ├── custom_fields_ui_view.xml
│ └── custom_registrant_view.xml
├── spp_pos
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── entitlement_product.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_pos.pot
├── models
│ ├── __init__.py
│ ├── entitlement.py
│ ├── pos_category.py
│ └── product_template.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ ├── action_button.js
│ │ ├── check_keypress_entitlement.js
│ │ └── popup_voucher.js
│ │ └── view
│ │ ├── action_button.xml
│ │ └── popup_voucher.xml
├── tests
│ ├── __init__.py
│ ├── test_g2p_entitlement.py
│ ├── test_pos_category.py
│ └── test_product_template.py
└── views
│ └── product_template_views.xml
├── spp_pos_id_redemption
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_pos_id_redemption.pot
├── models
│ ├── __init__.py
│ ├── cycle.py
│ ├── entitlement.py
│ ├── entitlement_manager.py
│ ├── pos_config.py
│ ├── pos_session.py
│ ├── product_template.py
│ ├── reg_id.py
│ └── res_partner.py
├── pyproject.toml
├── report
│ ├── id_barcode_printout.xml
│ └── paper_format.xml
├── security
│ └── ir.model.access.csv
├── static
│ └── src
│ │ ├── js
│ │ ├── customer_note.js
│ │ ├── db.js
│ │ ├── entitlement_product_list.js
│ │ ├── partner_list.js
│ │ ├── payment_screen.js
│ │ ├── popup_voucher.js
│ │ ├── pos_store.js
│ │ ├── product_card.js
│ │ ├── product_list.js
│ │ └── product_screen.js
│ │ └── view
│ │ ├── action_pad.xml
│ │ ├── customer_note.xml
│ │ ├── entitlement_product_list.xml
│ │ ├── partner_list.xml
│ │ ├── payment_screen.xml
│ │ ├── popup_voucher.xml
│ │ ├── product_card.xml
│ │ ├── product_list.xml
│ │ ├── product_screen.xml
│ │ └── ticket_screen.xml
├── views
│ ├── cycle_view.xml
│ ├── entitlements_view.xml
│ ├── pos_config_view.xml
│ ├── pos_view.xml
│ ├── product_template_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_program_id
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── ir_sequence_data.xml
├── i18n
│ ├── lo.po
│ └── spp_program_id.pot
├── models
│ ├── __init__.py
│ └── g2p_program.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
└── views
│ └── g2p_program_views.xml
├── spp_programs
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── user_roles.xml
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_programs.pot
├── models
│ ├── __init__.py
│ ├── constants.py
│ ├── cycle.py
│ ├── eligibility.py
│ ├── entitlement.py
│ ├── entitlement_cash.py
│ ├── g2p_entitlement.py
│ ├── managers
│ │ ├── __init__.py
│ │ ├── cycle_manager.py
│ │ ├── eligibility_manager.py
│ │ ├── entitlement_manager.py
│ │ └── entitlement_manager_default.py
│ ├── programs.py
│ ├── registrant.py
│ └── stock
│ │ ├── __init__.py
│ │ └── stock.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── report
│ ├── program_approval_receipt.xml
│ └── report_format.xml
├── security
│ ├── ir.model.access.csv
│ └── security_access.xml
├── static
│ ├── description
│ │ ├── icon.png
│ │ ├── icon_program.png
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ ├── create_program.js
│ │ ├── custom_open_list.js
│ │ └── domain_field.js
│ │ └── xml
│ │ └── create_program_template.xml
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_create_program_wiz.py
│ ├── test_cycle.py
│ ├── test_entitlement.py
│ ├── test_entitlement_report_wiz.py
│ ├── test_programs.py
│ ├── test_registrant.py
│ └── test_stock_rule.py
├── views
│ ├── cycle_view.xml
│ ├── entitlement_cash_view.xml
│ ├── entitlement_view.xml
│ ├── g2p_entitlement_view.xml
│ ├── inkind_entitlement_report_view.xml
│ ├── main_view.xml
│ ├── managers
│ │ ├── eligibility_manager_view.xml
│ │ └── entitlement_manager_view.xml
│ ├── payment_view.xml
│ ├── programs_view.xml
│ └── registrant_view.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ ├── create_program_wizard.xml
│ ├── inkind_entitlement_report_wiz.py
│ ├── inkind_entitlement_report_wiz.xml
│ ├── multi_entitlement_approval_wizard.py
│ ├── multi_entitlement_approval_wizard.xml
│ ├── multi_inkind_entitlement_approval_wizard.py
│ ├── multi_inkind_entitlement_approval_wizard.xml
│ ├── reject_entitlement_wizard.py
│ ├── reject_entitlement_wizard.xml
│ ├── reset_to_pending_wizard.py
│ └── reset_to_pending_wizard.xml
├── spp_programs_compliance_criteria
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_programs_compliance_criteria.pot
├── models
│ ├── __init__.py
│ ├── cycle_membership.py
│ ├── g2p_cycle.py
│ ├── g2p_program.py
│ ├── managers
│ │ ├── __init__.py
│ │ ├── g2p_cycle_manager_default.py
│ │ ├── g2p_program_entitlement_manager_default.py
│ │ └── spp_compliance_manager.py
│ └── res_config_settings.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ └── field_domain.js
│ │ └── xml
│ │ └── field_domain.xml
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_g2p_cycle.py
│ └── test_g2p_program_create_wizard.py
├── views
│ ├── cycle_membership_views.xml
│ ├── g2p_cycle_views.xml
│ ├── g2p_program_views.xml
│ └── res_config_settings_views.xml
└── wizards
│ ├── __init__.py
│ ├── g2p_program_create_wizard.py
│ └── g2p_program_create_wizard_views.xml
├── spp_programs_sp
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_programs_sp.pot
├── models
│ ├── __init__.py
│ ├── entitlement_cash.py
│ ├── entitlement_inkind.py
│ ├── entitlement_manager_cash.py
│ ├── entitlement_manager_default.py
│ ├── entitlement_manager_inkind.py
│ ├── programs.py
│ └── service_point.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_create_program_wizard.py
│ ├── test_entitlement_manager_cash.py
│ ├── test_entitlement_manager_default.py
│ └── test_entitlement_manager_inkind.py
├── views
│ ├── entitlements_view.xml
│ ├── programs_view.xml
│ └── service_point_views.xml
└── wizard
│ ├── __init__.py
│ ├── create_program_wizard.py
│ └── create_program_wizard.xml
├── spp_qr_scanner
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_qr_scanner.pot
├── pyproject.toml
└── static
│ ├── description
│ └── icon.png
│ ├── lib
│ └── jsqr-1.4.0
│ │ └── jsQR.js
│ └── src
│ └── app
│ └── components
│ └── qr_scanner
│ ├── qr_scanner.js
│ ├── qr_scanner.scss
│ └── qr_scanner.xml
├── spp_registrant_import
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registrant_import.pot
├── models
│ ├── __init__.py
│ ├── res_partner.py
│ ├── spp_area.py
│ └── spp_service_point.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_area.py
│ ├── test_registrant.py
│ └── test_service_point.py
└── views
│ ├── res_partner_views.xml
│ ├── spp_area_views.xml
│ └── spp_service_point_views.xml
├── spp_registrant_tag
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registrant_tag.pot
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
└── static
│ └── description
│ └── index.html
├── spp_registry_approval
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_approval.pot
├── models
│ ├── __init__.py
│ └── res_partner.py
├── pyproject.toml
├── security
│ └── security_access.xml
└── static
│ └── description
│ └── icon.png
├── spp_registry_approval_group
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_approval_group.pot
├── pyproject.toml
├── static
│ └── description
│ │ └── icon.png
└── views
│ └── groups_view.xml
├── spp_registry_approval_individual
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_approval_individual.pot
├── pyproject.toml
├── static
│ └── description
│ │ └── icon.png
└── views
│ └── individuals_view.xml
├── spp_registry_base
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_base.pot
├── models
│ ├── __init__.py
│ └── res_partner.py
├── pyproject.toml
├── security
│ ├── ir.model.access.csv
│ └── security_access.xml
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── icon_registry.png
│ ├── src
│ │ └── import_records
│ │ │ └── import_records.js
│ └── xls
│ │ ├── group_registry.xlsx
│ │ └── individual_registry.xlsx
├── tests
│ ├── __init__.py
│ └── test_res_partner.py
└── views
│ ├── groups_view.xml
│ ├── individuals_view.xml
│ └── main_view.xml
├── spp_registry_data_source
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_data_source.pot
├── models
│ ├── __init__.py
│ ├── data_source.py
│ └── data_source_key_value_pair.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── contacts.png
├── tests
│ ├── __init__.py
│ └── test_data_source.py
└── views
│ └── data_source_view.xml
├── spp_registry_group_hierarchy
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_registry_group_hierarchy.pot
├── models
│ ├── __init__.py
│ ├── group_kind.py
│ └── group_membership.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_group_membership.py
└── views
│ ├── group_kind_views.xml
│ ├── group_membership_views.xml
│ └── group_views.xml
├── spp_scan_id_document
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_scan_id_document.pot
├── model
│ ├── __init__.py
│ └── registrant.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ ├── js
│ │ └── registrant.js
│ │ └── xml
│ │ └── registrant_widget.xml
├── tests
│ ├── __init__.py
│ └── test_registrant.py
└── views
│ └── registrant.xml
├── spp_service_point_device
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── spp_service_point_device.pot
├── models
│ ├── __init__.py
│ ├── spp_service_point.py
│ └── spp_service_point_device.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── common.py
│ ├── test_spp_service_point.py
│ └── test_spp_service_point_device.py
└── views
│ ├── spp_service_point_device_views.xml
│ └── spp_service_point_views.xml
├── spp_service_points
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── ar.po
│ ├── ckb.po
│ ├── fr.po
│ ├── lo.po
│ └── spp_service_points.pot
├── models
│ ├── __init__.py
│ ├── registrant.py
│ └── res_user.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── security_group.xml
├── static
│ └── description
│ │ ├── icon.png
│ │ └── index.html
├── tests
│ ├── __init__.py
│ └── test_service_point.py
└── views
│ ├── group_views.xml
│ ├── main_view.xml
│ └── service_points_view.xml
├── spp_starter
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ └── ir_config_parameter_data.xml
├── i18n
│ ├── lo.po
│ └── spp_starter.pot
├── models
│ ├── __init__.py
│ └── ir_ui_menu.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ └── ir.model.access.csv
├── static
│ └── description
│ │ └── index.html
├── tests
│ ├── __init__.py
│ ├── test_ir_ui_menu.py
│ └── test_spp_starter.py
└── wizards
│ ├── __init__.py
│ ├── spp_starter.py
│ └── spp_starter_views.xml
├── spp_user_roles
├── README.rst
├── __init__.py
├── __manifest__.py
├── data
│ ├── global_roles.xml
│ ├── ir_cron.xml
│ └── local_roles.xml
├── i18n
│ ├── lo.po
│ └── spp_user_roles.pot
├── models
│ ├── __init__.py
│ ├── area.py
│ ├── res_partner.py
│ ├── role.py
│ └── user.py
├── pyproject.toml
├── readme
│ └── DESCRIPTION.md
├── security
│ ├── ir.model.access.csv
│ └── security.xml
├── static
│ ├── description
│ │ ├── icon.png
│ │ └── index.html
│ └── src
│ │ └── img
│ │ └── icons
│ │ └── contacts.png
├── tests
│ ├── __init__.py
│ ├── test_res_partner.py
│ └── test_user.py
└── views
│ ├── role.xml
│ └── user.xml
├── test-requirements.txt
├── theme_openspp_muk
├── README.rst
├── __init__.py
├── __manifest__.py
├── i18n
│ ├── lo.po
│ └── theme_openspp_muk.pot
├── models
│ ├── __init__.py
│ └── res_config_settings.py
├── pyproject.toml
├── static
│ ├── description
│ │ ├── icon.png
│ │ ├── icon_registry.png
│ │ └── index.html
│ └── src
│ │ └── scss
│ │ ├── colors.scss
│ │ ├── colors_dark.scss
│ │ ├── colors_light.scss
│ │ └── navbar.scss
└── views
│ └── main_view.xml
└── vulnerability_disclosure_policy.md
/.flake8:
--------------------------------------------------------------------------------
1 | [flake8]
2 | max-line-length = 110
3 | max-complexity = 16
4 | # B = bugbear
5 | # B9 = bugbear opinionated (incl line length)
6 | select = C,E,F,W,B,B9
7 | # E203: whitespace before ':' (black behaviour)
8 | # E501: flake8 line length (covered by bugbear B950)
9 | # W503: line break before binary operator (black behaviour)
10 | ignore = E203,E501,W503
11 | per-file-ignores=
12 | __init__.py:F401
13 |
--------------------------------------------------------------------------------
/.github/pull_request_template.md:
--------------------------------------------------------------------------------
1 | ## **Why is this change needed?**
2 |
3 | ## **How was the change implemented?**
4 |
5 | ## **New unit tests**
6 |
7 | ## **Unit tests executed by the author**
8 |
9 | ## **How to test manually**
10 |
11 | ## **Related links**
12 |
13 |
--------------------------------------------------------------------------------
/.github/workflows/auto-assign-pr.yml:
--------------------------------------------------------------------------------
1 | name: Auto Assign PR
2 | on:
3 | pull_request:
4 | types: [opened, ready_for_review]
5 | jobs:
6 | add-reviews:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: kentaro-m/auto-assign-action@v2.0.0
10 |
--------------------------------------------------------------------------------
/.github/workflows/auto-assign.yml:
--------------------------------------------------------------------------------
1 | name: Auto Assign
2 | on:
3 | issues:
4 | types: [opened]
5 | pull_request:
6 | types: [opened]
7 | jobs:
8 | run:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: bubkoo/auto-assign@v1
12 | with:
13 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
14 | CONFIG_FILE: .github/auto-assign.yml
15 |
--------------------------------------------------------------------------------
/.isort.cfg:
--------------------------------------------------------------------------------
1 | [settings]
2 | ; see https://github.com/psf/black
3 | multi_line_output=3
4 | include_trailing_comma=True
5 | force_grid_wrap=0
6 | combine_as_imports=True
7 | use_parentheses=True
8 | line_length=110
9 | known_odoo=odoo
10 | known_odoo_addons=odoo.addons
11 | sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
12 | default_section=THIRDPARTY
13 | ensure_newline_before_comments = True
14 |
--------------------------------------------------------------------------------
/.prettierrc.yml:
--------------------------------------------------------------------------------
1 | # Defaults for all prettier-supported languages.
2 | # Prettier will complete this with settings from .editorconfig file.
3 | bracketSpacing: false
4 | printWidth: 110
5 | proseWrap: always
6 | semi: true
7 | trailingComma: "es5"
8 | xmlWhitespaceSensitivity: "strict"
9 |
--------------------------------------------------------------------------------
/.snyk:
--------------------------------------------------------------------------------
1 | # Snyk (https://snyk.io) policy file
2 |
3 | exclude:
4 | global:
5 | - test-requirements.txt
6 | - tests/**
7 |
--------------------------------------------------------------------------------
/farmer-requirements.txt:
--------------------------------------------------------------------------------
1 | --extra-index-url=https://pypi.openspp.org/simple/
2 | odoo-addon-spp-farmer-registry-base==17.0.1.0.0.34
3 |
--------------------------------------------------------------------------------
/g2p_connect_demo/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/g2p_connect_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import registrant
4 | from . import generate_group
5 |
6 | from . import individual
7 | from . import group
8 |
--------------------------------------------------------------------------------
/g2p_connect_demo/models/registrant.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
--------------------------------------------------------------------------------
/g2p_connect_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/g2p_connect_demo/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | g2p_generate_data_admin,Generate Data Admin Access,g2p_connect_demo.model_g2p_generate_data,g2p_registry_base.group_g2p_admin,1,1,1,1
3 |
--------------------------------------------------------------------------------
/g2p_connect_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/g2p_connect_demo/static/description/icon.png
--------------------------------------------------------------------------------
/g2p_connect_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P Registry. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import test_compute_indicator_fields
4 |
--------------------------------------------------------------------------------
/license_header.txt:
--------------------------------------------------------------------------------
1 | Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | # generated from manifests external_dependencies
2 | Pillow>=9.0.1
3 | PyLD
4 | bravado_core
5 | extendable_pydantic==1.3.0
6 | faker
7 | fastapi==0.112.2
8 | geojson
9 | jsonschema
10 | jwcrypto>=1.5.6
11 | numpy>=1.22.2
12 | pyjwt>=2.4.0
13 | pyproj
14 | python-magic
15 | pytz
16 | qrcode
17 | requests>=2.25.1
18 | shapely
19 | simplejson
20 | swagger_spec_validator
21 | urllib3>=1.26.5
22 | xlrd
23 | zipp>=3.19.1
24 |
--------------------------------------------------------------------------------
/sp-mis-requirements.txt:
--------------------------------------------------------------------------------
1 | --extra-index-url=https://pypi.openspp.org/simple/
2 | odoo-addon-spp-base==17.0.1.0.0.20
3 | odoo-addon-spp-service-points==17.0.1.0.0.10
4 |
--------------------------------------------------------------------------------
/spp_api/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
2 |
3 |
4 | def post_load():
5 | # make import in post_load to avoid applying monkey patches when this
6 | # module is not installed
7 | from . import models
8 | from . import controllers
9 | from . import wizards
10 |
--------------------------------------------------------------------------------
/spp_api/config.py:
--------------------------------------------------------------------------------
1 | BASE_API = "api"
2 |
--------------------------------------------------------------------------------
/spp_api/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
2 |
3 | from . import apijsonrequest
4 | from . import main
5 | from . import api
6 | from . import pinguin
7 |
--------------------------------------------------------------------------------
/spp_api/demo/openapi_security_demo.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/spp_api/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/images/icon.png
--------------------------------------------------------------------------------
/spp_api/images/openapi-swagger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/images/openapi-swagger.png
--------------------------------------------------------------------------------
/spp_api/models/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl.html).
2 | from . import spp_api_log
3 | from . import spp_api_namespace
4 | from . import ir_model_fields
5 | from . import ir_model
6 | from . import spp_api_path
7 | from . import spp_api_field_alias
8 | from . import spp_api_fields
9 | from . import spp_api_function_parameter
10 | from . import res_users
11 | from . import ir_exports
12 |
--------------------------------------------------------------------------------
/spp_api/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_api/security/res_users_token.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/spp_api/static/description/aws.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/aws.png
--------------------------------------------------------------------------------
/spp_api/static/description/dataiku.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/dataiku.png
--------------------------------------------------------------------------------
/spp_api/static/description/dots.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/dots.jpg
--------------------------------------------------------------------------------
/spp_api/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/icon.png
--------------------------------------------------------------------------------
/spp_api/static/description/openapi-configuration-model.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/openapi-configuration-model.png
--------------------------------------------------------------------------------
/spp_api/static/description/openapi-configuration-namespace.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/openapi-configuration-namespace.png
--------------------------------------------------------------------------------
/spp_api/static/description/openapi-logs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/openapi-logs.png
--------------------------------------------------------------------------------
/spp_api/static/description/powerbi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/powerbi.png
--------------------------------------------------------------------------------
/spp_api/static/description/swagger-editor.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/swagger-editor.png
--------------------------------------------------------------------------------
/spp_api/static/description/syndesis.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_api/static/description/syndesis.jpg
--------------------------------------------------------------------------------
/spp_api/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_spp_api_path
2 | from . import test_namespace
3 | from . import test_spp_api_log
4 | from . import test_spp_api_field_alias
5 | from . import test_spp_api_fields
6 | from . import test_spp_api_function_parameter
7 | from . import test_res_users
8 | from . import test_ir_model_fields
9 | from . import test_apijsonrequest
10 | from . import test_main_controller
11 |
--------------------------------------------------------------------------------
/spp_api/tools.py:
--------------------------------------------------------------------------------
1 | from datetime import date, datetime
2 |
3 |
4 | def datetime_format(inp):
5 | if not isinstance(inp, datetime) or not isinstance(inp, date):
6 | return inp
7 | return inp.strftime("%Y-%m-%dT%H:%M:%S.%f")[:-3] + "Z"
8 |
--------------------------------------------------------------------------------
/spp_api/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_users_bearer_token
2 |
--------------------------------------------------------------------------------
/spp_api_records/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_api_records/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_service_point
2 | from . import uom_uom
3 | from . import g2p_entitlements
4 | from . import g2p_program
5 | from . import product
6 |
--------------------------------------------------------------------------------
/spp_api_records/models/g2p_program.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class G2PPrograms(models.Model):
5 | _inherit = "g2p.program"
6 |
7 | company_id = fields.Many2one(
8 | comodel_name="res.company",
9 | string="Company",
10 | default=lambda self: self.env.company,
11 | )
12 |
--------------------------------------------------------------------------------
/spp_api_records/models/uom_uom.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class UomUom(models.Model):
5 | _inherit = "uom.uom"
6 |
7 | symbol = fields.Char(size=3)
8 |
--------------------------------------------------------------------------------
/spp_api_records/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_api_records/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_g2p_entitlement
2 | from . import test_product_template
3 | from . import test_spp_service_point
4 |
--------------------------------------------------------------------------------
/spp_area/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 |
4 | from . import models
5 |
6 | # from . import controllers
7 |
--------------------------------------------------------------------------------
/spp_area/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 |
4 | from . import registrant
5 |
--------------------------------------------------------------------------------
/spp_area/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_area/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area/static/description/icon.png
--------------------------------------------------------------------------------
/spp_area/static/description/icon_area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area/static/description/icon_area.png
--------------------------------------------------------------------------------
/spp_area/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_area/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P Registry. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import common
4 | from . import test_area
5 | from . import test_area_import
6 | from . import test_area_import_raw
7 |
--------------------------------------------------------------------------------
/spp_area/tests/irq_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area/tests/irq_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_area/tests/pse_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area/tests/pse_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_area/views/area.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_area/views/area_import.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_area/views/area_kind.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_area_base/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 |
4 | from . import models
5 |
--------------------------------------------------------------------------------
/spp_area_base/data/area_kind_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Admin Area
4 |
5 |
6 |
--------------------------------------------------------------------------------
/spp_area_base/data/queue_job_channel.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | area_import
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_area_base/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 |
4 | from . import area
5 | from . import area_import
6 |
--------------------------------------------------------------------------------
/spp_area_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_area_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_area_base/static/description/icon_area.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_base/static/description/icon_area.png
--------------------------------------------------------------------------------
/spp_area_base/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_base/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_area_base/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P Registry. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import common
4 | from . import test_area
5 | from . import test_area_import
6 | from . import test_area_import_raw
7 |
--------------------------------------------------------------------------------
/spp_area_base/tests/irq_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_base/tests/irq_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_area_base/tests/pse_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_base/tests/pse_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_area_gis/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_area_gis/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import area
2 | from . import area_import
3 |
--------------------------------------------------------------------------------
/spp_area_gis/models/area.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class OpenSPPArea(models.Model):
5 | _inherit = "spp.area"
6 |
7 | coordinates = fields.GeoPointField()
8 | geo_polygon = fields.GeoPolygonField()
9 |
--------------------------------------------------------------------------------
/spp_area_gis/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_area_gis/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_gis/static/description/icon.png
--------------------------------------------------------------------------------
/spp_area_gis/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_gis/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_area_gis/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_area_import
2 | from . import test_area_import_raw
3 |
--------------------------------------------------------------------------------
/spp_area_gis/tests/irq_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_gis/tests/irq_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_area_gis/tests/pse_adminboundaries_tabulardata.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_area_gis/tests/pse_adminboundaries_tabulardata.xlsx
--------------------------------------------------------------------------------
/spp_attendance/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 | from . import models
3 | from . import wizard
4 |
--------------------------------------------------------------------------------
/spp_attendance/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 |
--------------------------------------------------------------------------------
/spp_attendance/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import attendance_subscriber
2 | from . import attendance_list
3 | from . import attendance_api_client_credentials
4 | from . import attendance_type
5 | from . import registry_config
6 | from . import attendance_location
7 | from . import res_partner
8 |
--------------------------------------------------------------------------------
/spp_attendance/models/attendance_location.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPAttendanceLocation(models.Model):
5 | _name = "spp.attendance.location"
6 | _description = "Attendance Location"
7 | _order = "name ASC"
8 |
9 | name = fields.Char(required=True)
10 | description = fields.Char()
11 |
--------------------------------------------------------------------------------
/spp_attendance/models/attendance_type.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPAttendanceType(models.Model):
5 | _name = "spp.attendance.type"
6 | _description = "Attendance Type"
7 | _order = "name ASC"
8 |
9 | name = fields.Char(required=True)
10 | description = fields.Char()
11 |
12 | _sql_constraints = [("name_uniq", "unique(name)", "Attendance Type must be unique!")]
13 |
--------------------------------------------------------------------------------
/spp_attendance/models/res_partner.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class ResPartnerInherit(models.Model):
5 | _inherit = "res.partner"
6 |
7 | family_name = fields.Char(translate=False)
8 | given_name = fields.Char(translate=False)
9 | addl_name = fields.Char(translate=False, string="Additional Name")
10 | identifier = fields.Char()
11 | gender_char = fields.Char(translate=False, default="Male", string="Gender")
12 |
--------------------------------------------------------------------------------
/spp_attendance/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_attendance/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_attendance/static/description/icon.png
--------------------------------------------------------------------------------
/spp_attendance/static/src/img/icons/attendance.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_attendance/static/src/img/icons/attendance.png
--------------------------------------------------------------------------------
/spp_attendance/views/main_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/spp_attendance/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import import_attendance
2 |
--------------------------------------------------------------------------------
/spp_audit_config/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_audit_config/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_audit_rule
2 |
--------------------------------------------------------------------------------
/spp_audit_config/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_audit_config/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_audit_config/static/description/icon.png
--------------------------------------------------------------------------------
/spp_audit_log/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_audit_log/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_audit_rule
2 | from . import spp_audit_log
3 | from . import group
4 |
--------------------------------------------------------------------------------
/spp_audit_log/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_audit_log/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_audit_log/static/description/icon.png
--------------------------------------------------------------------------------
/spp_audit_log/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_spp_audit_rule
2 |
--------------------------------------------------------------------------------
/spp_audit_log/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from .decorator import audit_decorator
2 |
--------------------------------------------------------------------------------
/spp_audit_post/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_audit_post/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_audit_log
2 | from . import spp_audit_rule
3 |
--------------------------------------------------------------------------------
/spp_audit_post/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_audit_post/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 |
--------------------------------------------------------------------------------
/spp_audit_post/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_audit_post/static/description/icon.png
--------------------------------------------------------------------------------
/spp_auto_update_entitlements/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_auto_update_entitlements/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement
4 | from . import cycle
5 |
--------------------------------------------------------------------------------
/spp_auto_update_entitlements/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_auto_update_entitlements/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_auto_update_entitlements/static/description/icon.png
--------------------------------------------------------------------------------
/spp_auto_update_entitlements/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import common
2 | from . import test_cycle
3 | from . import test_entitlement
4 |
--------------------------------------------------------------------------------
/spp_base/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_base/data/top_up_card.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Top-up Card
4 |
5 |
6 |
--------------------------------------------------------------------------------
/spp_base/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import reg_id
4 | from . import spp_unique_id
5 | from . import registrant
6 | from . import group_membership
7 |
--------------------------------------------------------------------------------
/spp_base/models/group_membership.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class G2PGroupMembership(models.Model):
5 | _inherit = "g2p.group.membership"
6 |
7 | individual_gender = fields.Many2one("gender.type", related="individual.gender", readonly=True)
8 |
--------------------------------------------------------------------------------
/spp_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_ir_actions_act_window_user,IR Actions Act Window User Access,base.model_ir_actions_act_window,base.group_user,1,0,0,0
3 | spp_ir_actions_act_window_view_user,IR Actions Act Window View User Access,base.model_ir_actions_act_window_view,base.group_user,1,0,0,0
4 |
--------------------------------------------------------------------------------
/spp_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_base/static/description/icon_registry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base/static/description/icon_registry.png
--------------------------------------------------------------------------------
/spp_base/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP Registry. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import test_top_up_id
4 |
--------------------------------------------------------------------------------
/spp_base/views/main_view.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
13 |
14 |
--------------------------------------------------------------------------------
/spp_base_api/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
2 |
3 | from . import models
4 | from . import lib
5 |
--------------------------------------------------------------------------------
/spp_base_api/doc/changelog.rst:
--------------------------------------------------------------------------------
1 | `1.0.1`
2 | -------
3 | - **Improvement:** Compatibility with python 3.9
4 |
5 | `1.0.0`
6 | -------
7 |
8 | - **Init version**
9 |
--------------------------------------------------------------------------------
/spp_base_api/lib/__init__.py:
--------------------------------------------------------------------------------
1 | from . import pinguin
2 |
--------------------------------------------------------------------------------
/spp_base_api/models/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
2 |
3 | from . import base
4 |
--------------------------------------------------------------------------------
/spp_base_api/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_api/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_api/static/description/icon.png
--------------------------------------------------------------------------------
/spp_base_api/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html)
2 |
3 | from . import test_base
4 |
--------------------------------------------------------------------------------
/spp_base_demo/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | # from . import models
4 |
--------------------------------------------------------------------------------
/spp_base_demo/data/gender_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Male
4 | Male
5 |
6 |
7 | Female
8 | Female
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_base_demo/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: 8bit\n"
13 | "Plural-Forms: \n"
14 | "Language: lo\n"
15 |
--------------------------------------------------------------------------------
/spp_base_demo/i18n/spp_base_demo.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_base_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_demo/static/description/icon.png
--------------------------------------------------------------------------------
/spp_base_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_locale_providers
2 |
--------------------------------------------------------------------------------
/spp_base_gis/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import main
2 |
--------------------------------------------------------------------------------
/spp_base_gis/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | from . import base
3 | from . import raster_layer
4 | from . import raster_layer_type
5 | from . import data_layer
6 | from . import ir_view
7 | from . import ir_model
8 |
--------------------------------------------------------------------------------
/spp_base_gis/models/raster_layer_type.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class OpenSPPGisRasterLayerType(models.Model):
5 | _name = "spp.gis.raster.layer.type"
6 | _description = "Raster Layer Type"
7 |
8 | name = fields.Char(translate=True, required=True)
9 | code = fields.Char(required=True)
10 | service = fields.Char(required=True)
11 |
--------------------------------------------------------------------------------
/spp_base_gis/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_gis/static/img/map-marker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_gis/static/img/map-marker.png
--------------------------------------------------------------------------------
/spp_base_gis/static/src/images/editing_tool_bar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_gis/static/src/images/editing_tool_bar.png
--------------------------------------------------------------------------------
/spp_base_gis/static/src/images/laos_farm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_gis/static/src/images/laos_farm.png
--------------------------------------------------------------------------------
/spp_base_gis/static/src/js/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "globals": {
3 | "$": false,
4 | "_": false,
5 | "ol": false,
6 | "chroma": false,
7 | "geostats": false
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/spp_base_gis/static/src/js/data_layers_store.esm.js:
--------------------------------------------------------------------------------
1 | /** @odoo-module */
2 | import {LayerStore} from "./base_layers_store.esm";
3 | import {reactive} from "@odoo/owl";
4 |
5 | class DataLayersStore extends LayerStore {
6 | getIsVisible(layer) {
7 | return layer.active_on_startup;
8 | }
9 | }
10 |
11 | export const dataLayersStore = reactive(new DataLayersStore());
12 |
--------------------------------------------------------------------------------
/spp_base_gis/static/src/js/views/gis/gis_compiler.esm.js:
--------------------------------------------------------------------------------
1 | /** @odoo-module */
2 |
3 | import {ViewCompiler} from "@web/views/view_compiler";
4 |
5 | export class GisCompiler extends ViewCompiler {}
6 |
--------------------------------------------------------------------------------
/spp_base_gis/static/src/js/widgets/gis_edit_map/field_gis_edit_map.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import partner
2 | from . import test_gis_model
3 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/models/partner.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class ResPartner(models.Model):
5 | """Add geo_point to partner using a function filed"""
6 |
7 | _inherit = "res.partner"
8 |
9 | geo_point = fields.GeoPointField()
10 | geo_line = fields.GeoLineStringField()
11 | geo_polygon_field = fields.GeoPolygonField()
12 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/models/test_gis_model.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class GisTestModel(models.Model):
5 | _name = "spp.base.gis.test.model"
6 | _description = "GIS Test Model"
7 |
8 | name = fields.Char()
9 | geo_polygon_field = fields.GeoPolygonField()
10 | geo_line = fields.GeoLineStringField()
11 | geo_point = fields.GeoPointField()
12 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_gis_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_base_gis
2 | from . import test_operator
3 | from . import test_fields
4 | from . import test_gis_domain_operator
5 | from . import common
6 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import api_client_credentials
2 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 |
3 | access_spp_gis_api_client_credential,SPP GIS API Client Credential Access,model_spp_gis_api_client_credential,spp_base_gis.group_gis_admin,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_base_gis_rest/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_api_client_credentials
2 |
--------------------------------------------------------------------------------
/spp_base_setting/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_base_setting/models/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_setting/models/__init__.py
--------------------------------------------------------------------------------
/spp_base_setting/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_base_setting/tests/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_base_setting/tests/__init__.py
--------------------------------------------------------------------------------
/spp_basic_cash_entitlement_spent/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_basic_cash_entitlement_spent/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement
4 |
--------------------------------------------------------------------------------
/spp_basic_cash_entitlement_spent/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_basic_cash_entitlement_spent/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_g2p_entitlement
2 |
--------------------------------------------------------------------------------
/spp_change_request/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_change_request/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import group_membership
4 | from . import change_request
5 | from . import change_request_stage
6 | from . import dms_file
7 | from . import dms_directory
8 | from . import registry
9 | from . import mixins
10 | from . import change_request_targets
11 |
--------------------------------------------------------------------------------
/spp_change_request/models/change_request_stage.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | import logging
3 |
4 | from odoo import fields, models
5 |
6 | _logger = logging.getLogger(__name__)
7 |
8 |
9 | class ChangeRequestValidationStages(models.Model):
10 | _name = "spp.change.request.validation.stage"
11 | _description = "Change Request Validation Stage"
12 | _order = "id"
13 |
14 | name = fields.Char("Stage")
15 |
--------------------------------------------------------------------------------
/spp_change_request/models/dms_directory.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPDMSDirectoryCustom(models.Model):
5 | _inherit = "spp.dms.directory"
6 |
7 | change_request_id = fields.Many2one("spp.change.request", "Change Request")
8 |
--------------------------------------------------------------------------------
/spp_change_request/models/mixins/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import source_mixin
4 | from . import validation_sequence_mixin
5 |
--------------------------------------------------------------------------------
/spp_change_request/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request/static/src/xml/dms_preview_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_change_request/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_requests
2 |
--------------------------------------------------------------------------------
/spp_change_request/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import confirm_user_assignment
4 | from . import reject_change_request
5 | from . import cancel_change_request
6 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.add.children
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Add Children Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/data/id_type.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Add Children: Unified ID
6 | individual
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import group_membership
2 | from . import change_request
3 | from . import change_request_add_children
4 | from . import change_request_add_children_validation_sequence
5 | from . import dms
6 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/models/group_membership.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPGroupMembership(models.Model):
5 | _inherit = "spp.change.request.group.members"
6 |
7 | group_add_children_id = fields.Many2one("spp.change.request.add.children")
8 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_add_children_demo/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_cr
2 |
--------------------------------------------------------------------------------
/spp_change_request_add_children_demo/tests/sample_document.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_add_children_demo/tests/sample_document.jpeg
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.add.farmer
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Add Farmer Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/data/id_type.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Unified ID
6 | individual
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import group_membership
2 | from . import change_request_add_farmer
3 | from . import change_request_add_farmer_validation_sequence
4 | from . import dms
5 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/models/dms.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPDMSDirectoryCustom(models.Model):
5 | _inherit = "spp.dms.directory"
6 |
7 | change_request_add_farmer_id = fields.Many2one("spp.change.request.add.farmer", "Change request")
8 |
9 |
10 | class SPPDMSFileCustom(models.Model):
11 | _inherit = "spp.dms.file"
12 |
13 | change_request_add_farmer_id = fields.Many2one("spp.change.request.add.farmer", "Change request")
14 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_add_farmer/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_add_farmer/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_add_farmer
2 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.add.group.to.group
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Add Group to a Group Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import group_membership
2 | from . import change_request_add_group_to_group
3 | from . import change_request_add_group_to_group_validation_sequence
4 | from . import dms
5 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_add_group_to_group/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_add_group_to_group/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_add_group_to_group
2 |
--------------------------------------------------------------------------------
/spp_change_request_base/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_change_request_base/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import change_request
4 | from . import change_request_stage
5 | from . import dms_file
6 | from . import dms_directory
7 | from . import registry
8 | from . import mixins
9 |
--------------------------------------------------------------------------------
/spp_change_request_base/models/change_request_stage.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | from odoo import fields, models
3 |
4 |
5 | class ChangeRequestValidationStages(models.Model):
6 | _name = "spp.change.request.validation.stage"
7 | _description = "Change Request Validation Stage"
8 | _order = "id"
9 |
10 | name = fields.Char("Stage")
11 |
--------------------------------------------------------------------------------
/spp_change_request_base/models/dms_directory.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPDMSDirectoryCustom(models.Model):
5 | _inherit = "spp.dms.directory"
6 |
7 | change_request_id = fields.Many2one("spp.change.request", "Change Request")
8 |
--------------------------------------------------------------------------------
/spp_change_request_base/models/mixins/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import source_mixin
4 | from . import validation_sequence_mixin
5 |
--------------------------------------------------------------------------------
/spp_change_request_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_base/security/change_request_security.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Change Request Module Access
4 | User access level for the OpenSPP change request module
5 | 4
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_change_request_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_base/static/src/xml/dms_preview_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_change_request_base/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_requests
2 |
--------------------------------------------------------------------------------
/spp_change_request_base/views/main_view.xml:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/spp_change_request_base/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import confirm_user_assignment
4 | from . import reject_change_request
5 | from . import cancel_change_request
6 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/README.rst:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_change_info/README.rst
--------------------------------------------------------------------------------
/spp_change_request_change_info/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.change.info
9 | individual
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Change Info Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/data/id_type.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | National ID
6 | individual
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import change_request
2 | from . import change_request_change_info
3 | from . import change_request_change_info_validation_sequence
4 | from . import dms
5 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/models/dms.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPDMSDirectoryCustom(models.Model):
5 | _inherit = "spp.dms.directory"
6 |
7 | change_request_change_info_id = fields.Many2one("spp.change.request.change.info", "Change request")
8 |
9 |
10 | class SPPDMSFileCustom(models.Model):
11 | _inherit = "spp.dms.file"
12 |
13 | change_request_change_info_id = fields.Many2one("spp.change.request.change.info", "Change request")
14 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/models/group_membership.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPGroupMembership(models.Model):
5 | _inherit = "spp.change.request.group.members"
6 |
7 | group_add_farmer_id = fields.Many2one("spp.change.request.add.farmer")
8 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_change_info/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_change_info/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_cr
2 |
--------------------------------------------------------------------------------
/spp_change_request_change_info/tests/sample_document.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_change_info/tests/sample_document.jpeg
--------------------------------------------------------------------------------
/spp_change_request_create_farm/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_create_farm/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.create.farm
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_create_farm/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Create Farm Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_create_farm/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import change_request_create_farm
2 | from . import change_request_create_farm_validation_sequence
3 | from . import dms
4 |
--------------------------------------------------------------------------------
/spp_change_request_create_farm/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_create_farm/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_create_farm/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_create_farm/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_create_farm
2 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.create.group
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Create Group Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/data/id_type.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Unified ID
6 | individual
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import change_request_create_group
2 | from . import change_request_create_group_validation_sequence
3 | from . import dms
4 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_create_group/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_create_group/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_create_group/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_create_group
2 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.edit.farm
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Edit Farm Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import change_request_edit_farm
2 | from . import change_request_edit_farm_validation_sequence
3 | from . import dms
4 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/models/dms.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPDMSDirectoryCustom(models.Model):
5 | _inherit = "spp.dms.directory"
6 |
7 | change_request_edit_farm_id = fields.Many2one("spp.change.request.edit.farm", "Change request")
8 |
9 |
10 | class SPPDMSFileCustom(models.Model):
11 | _inherit = "spp.dms.file"
12 |
13 | change_request_edit_farm_id = fields.Many2one("spp.change.request.edit.farm", "Change request")
14 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_edit_farm/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_edit_farm/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_edit_farm
2 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/data/change_request_target.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 | spp.change.request.edit.farmer
9 | group
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/data/dms.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Edit Farmer Request Form
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import change_request_edit_farmer
2 | from . import change_request_edit_farmer_validation_sequence
3 | from . import dms
4 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_change_request_edit_farmer/static/description/icon.png
--------------------------------------------------------------------------------
/spp_change_request_edit_farmer/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_change_request_edit_farmer
2 |
--------------------------------------------------------------------------------
/spp_consent/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_consent/data/default_consent_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Default
4 |
5 |
6 |
--------------------------------------------------------------------------------
/spp_consent/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import consent_mixin
4 | from . import consent
5 | from . import registrant
6 | from . import consent_config
7 |
--------------------------------------------------------------------------------
/spp_consent/models/consent_config.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from odoo import fields, models
4 |
5 |
6 | class OpenSPPConsentConfig(models.Model):
7 | _name = "spp.consent.config"
8 | _description = "OpenSPP Consent Config"
9 |
10 | name = fields.Char(required=True)
11 |
--------------------------------------------------------------------------------
/spp_consent/models/registrant.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from odoo import models
4 |
5 |
6 | class OpenSPPRegistrant(models.Model):
7 | _name = "res.partner"
8 | _inherit = [_name, "spp.consent.mixin"]
9 |
--------------------------------------------------------------------------------
/spp_consent/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_consent/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_consent/static/description/icon.png
--------------------------------------------------------------------------------
/spp_consent/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_record_consent_wizard
2 | from . import test_registrant
3 |
--------------------------------------------------------------------------------
/spp_consent/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import record_consent
2 |
--------------------------------------------------------------------------------
/spp_custom_field/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_custom_field/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import cus_partner
4 |
--------------------------------------------------------------------------------
/spp_custom_field/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_field/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_custom_field/static/description/icon.png
--------------------------------------------------------------------------------
/spp_custom_field_custom_filter/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_custom_field_custom_filter/__init__.py
--------------------------------------------------------------------------------
/spp_custom_field_custom_filter/i18n/spp_custom_field_custom_filter.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_custom_field_custom_filter/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/data/ir_cron_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import base
2 | from . import ir_model_fields
3 | from . import res_config_settings
4 | from . import test_daily_recompute_model
5 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/models/base.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class Base(models.AbstractModel):
5 | _inherit = "base"
6 |
7 | def _valid_field_parameter(self, field, name):
8 | return name == "recompute_daily" or super()._valid_field_parameter(field, name)
9 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_custom_field_recompute_daily.access_spp_test_daily_recompute_model,access_spp_test_daily_recompute_model,spp_custom_field_recompute_daily.model_spp_test_daily_recompute_model,base.group_user,1,0,0,0
3 |
--------------------------------------------------------------------------------
/spp_custom_field_recompute_daily/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_ir_model_fields
2 |
--------------------------------------------------------------------------------
/spp_custom_fields_ui/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_custom_fields_ui/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import custom_fields_ui
4 |
--------------------------------------------------------------------------------
/spp_custom_fields_ui/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_fields_ui/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_custom_fields_ui/static/description/icon.png
--------------------------------------------------------------------------------
/spp_custom_fields_ui/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_custom_fields_ui
2 |
--------------------------------------------------------------------------------
/spp_custom_filter/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_custom_filter/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import custom_filter_mixin
2 | from . import ir_model_fields
3 |
--------------------------------------------------------------------------------
/spp_custom_filter/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_filter_farmer_registry/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_custom_filter_farmer_registry/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 |
--------------------------------------------------------------------------------
/spp_custom_filter_farmer_registry/models/res_partner.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class ResPartner(models.Model):
5 | _name = "res.partner"
6 | _inherit = ["res.partner", "custom.filter.mixin"]
7 |
8 | farmer_national_id = fields.Char(allow_filter=True)
9 | farmer_postal_address = fields.Char(allow_filter=True)
10 | marital_status = fields.Selection(allow_filter=True)
11 | highest_education_level = fields.Selection(allow_filter=True)
12 |
--------------------------------------------------------------------------------
/spp_custom_filter_farmer_registry/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_custom_filter_ui/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_custom_filter_ui/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 |
--------------------------------------------------------------------------------
/spp_custom_filter_ui/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | # from . import wizard
3 |
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_config_settings
2 | from . import g2p_cycle
3 | from . import managers
4 | from . import individual
5 | from . import res_config_attendance_type
6 | from . import res_config_attendance_location
7 | from . import event_data_attendance
8 | from . import cycle_group_membership_attendance
9 | from . import cycle_membership
10 |
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/models/managers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import cycle_manager
2 | from . import program_manager
3 |
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_cycle_attendance_compliance/static/description/icon.png
--------------------------------------------------------------------------------
/spp_cycle_attendance_compliance/views/main_attendance_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/spp_dashboard_base/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dashboard_base/__init__.py
--------------------------------------------------------------------------------
/spp_dashboard_base/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "Language: lo\n"
11 | "MIME-Version: 1.0\n"
12 | "Content-Type: text/plain; charset=UTF-8\n"
13 | "Content-Transfer-Encoding: 8bit\n"
14 | "Plural-Forms: \n"
15 |
--------------------------------------------------------------------------------
/spp_dashboard_base/i18n/spp_dashboard_base.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_dashboard_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_dashboard_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dashboard_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_data_export/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 |
--------------------------------------------------------------------------------
/spp_data_export/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import main
2 |
--------------------------------------------------------------------------------
/spp_data_export/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_dci_api_server/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_dci_api_server/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 |
--------------------------------------------------------------------------------
/spp_dci_api_server/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import client_credentials
2 | from . import individual
3 |
--------------------------------------------------------------------------------
/spp_dci_api_server/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_dci_api_server/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | access_spp_dci_api_client_credential,SPP DCI API Client Credential Access,model_spp_dci_api_client_credential,base.group_system,1,1,1,1
3 |
--------------------------------------------------------------------------------
/spp_dci_api_server/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dci_api_server/static/description/icon.png
--------------------------------------------------------------------------------
/spp_dci_api_server/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_client_credentials
2 | from . import test_individual
3 |
--------------------------------------------------------------------------------
/spp_dci_api_server/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from . import constants
2 |
--------------------------------------------------------------------------------
/spp_dci_api_server/tools/private_key.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dci_api_server/tools/private_key.pem
--------------------------------------------------------------------------------
/spp_dci_api_server/tools/public_key.pub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dci_api_server/tools/public_key.pub
--------------------------------------------------------------------------------
/spp_dms/__init__.py:
--------------------------------------------------------------------------------
1 | from . import tools
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_dms/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import mixins_thumbnail
2 | from . import dms_directory
3 | from . import dms_file
4 | from . import dms_category
5 |
--------------------------------------------------------------------------------
/spp_dms/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_dms/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_dms/static/description/icon.png
--------------------------------------------------------------------------------
/spp_dms/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_file_tools
2 | from . import test_dms_directory
3 |
--------------------------------------------------------------------------------
/spp_dms/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from . import file_tools
2 |
--------------------------------------------------------------------------------
/spp_dms/views/main_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/spp_eligibility_sql/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_eligibility_sql/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import eligibility_manager
4 | from . import programs
5 |
--------------------------------------------------------------------------------
/spp_eligibility_sql/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_eligibility_sql/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_program_wizard
2 | from . import test_eligibility_manager
3 | from . import test_program
4 |
--------------------------------------------------------------------------------
/spp_eligibility_sql/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_eligibility_tags/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_eligibility_tags/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import eligibility_manager
2 |
--------------------------------------------------------------------------------
/spp_eligibility_tags/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_eligibility_tags/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_eligibility_tags/static/description/icon.png
--------------------------------------------------------------------------------
/spp_eligibility_tags/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_eligibility_manager
2 | from . import test_create_program_wizard
3 |
--------------------------------------------------------------------------------
/spp_eligibility_tags/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_program_wizard
2 |
--------------------------------------------------------------------------------
/spp_encryption/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_encryption/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import encryption_provider
2 |
--------------------------------------------------------------------------------
/spp_encryption/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_encryption/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_encryption_provider
2 |
--------------------------------------------------------------------------------
/spp_ent_trans/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_ent_trans/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import transactions
4 |
--------------------------------------------------------------------------------
/spp_ent_trans/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_ent_trans/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_ent_trans/static/description/icon.png
--------------------------------------------------------------------------------
/spp_entitlement_basket/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement_manager
4 | from . import entitlement
5 | from . import stock
6 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/models/stock/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import food_basket
4 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_entitlement_basket/static/description/icon.png
--------------------------------------------------------------------------------
/spp_entitlement_basket/static/src/css/spp_entitlement_basket.css:
--------------------------------------------------------------------------------
1 | .o_form_sheet_scrollable {
2 | max-height: 10vh;
3 | overflow-y: scroll;
4 | }
5 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import test_create_program_wizard
4 | from . import test_entitlement_basket
5 | from . import test_entitlement_manager
6 | from . import test_food_basket
7 |
--------------------------------------------------------------------------------
/spp_entitlement_basket/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_entitlement_cash/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_entitlement_cash/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement_manager
4 |
--------------------------------------------------------------------------------
/spp_entitlement_cash/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_entitlement_cash/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_entitlement_cash/static/description/icon.png
--------------------------------------------------------------------------------
/spp_entitlement_cash/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_program_wizard
2 | from . import test_entitlement_manager
3 |
--------------------------------------------------------------------------------
/spp_entitlement_cash/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement
4 | from . import entitlement_manager
5 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/models/entitlement.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | import logging
4 |
5 | from odoo import fields, models
6 |
7 | _logger = logging.getLogger(__name__)
8 |
9 |
10 | class SPPInKindEntitlement(models.Model):
11 | _inherit = "g2p.entitlement.inkind"
12 |
13 | inkind_item_id = fields.Many2one("g2p.program.entitlement.manager.inkind.item", "In-Kind Entitlement Condition")
14 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_entitlement_in_kind/static/description/icon.png
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_program_wizard
2 | from . import test_entitlement_manager
3 |
--------------------------------------------------------------------------------
/spp_entitlement_in_kind/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_ethnic_group/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_ethnic_group/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import ethnic_group
2 |
--------------------------------------------------------------------------------
/spp_ethnic_group/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_ethnic_group/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 |
3 | spp_ethnic_group_registrar,SPP Ethnic Group Registrar Access,spp_ethnic_group.model_spp_ethnic_group,g2p_registry_base.group_g2p_registrar,1,1,1,1
4 | spp_ethnic_group_admin,SPP Ethnic Group Admin Access,spp_ethnic_group.model_spp_ethnic_group,g2p_registry_base.group_g2p_admin,1,1,1,1
5 |
--------------------------------------------------------------------------------
/spp_ethnic_group/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_ethnic_group/static/description/icon.png
--------------------------------------------------------------------------------
/spp_event_data/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_event_data/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import event_data
4 | from . import registrant
5 |
--------------------------------------------------------------------------------
/spp_event_data/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_event_data/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_event_data/static/description/icon.png
--------------------------------------------------------------------------------
/spp_event_data/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_event_data
2 |
--------------------------------------------------------------------------------
/spp_event_data/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_event_wizard
2 |
--------------------------------------------------------------------------------
/spp_event_data_program_membership/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizard
3 |
--------------------------------------------------------------------------------
/spp_event_data_program_membership/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import event_data
2 | from . import program_membership
3 |
--------------------------------------------------------------------------------
/spp_event_data_program_membership/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_event_data_program_membership/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_event_data_program_membership/static/description/icon.png
--------------------------------------------------------------------------------
/spp_event_data_program_membership/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_event_data
2 | from . import test_program_membership
3 | from . import test_create_event_wizard
4 |
--------------------------------------------------------------------------------
/spp_event_data_program_membership/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_event_wizard
2 |
--------------------------------------------------------------------------------
/spp_event_demo/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_event_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import house_visit
4 | from . import phone_survey
5 | from . import school_enrolment
6 | from . import registrant
7 |
--------------------------------------------------------------------------------
/spp_event_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_event_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_event_demo/static/description/icon.png
--------------------------------------------------------------------------------
/spp_event_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of Newlogic G2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import test_event_house_visit
4 | from . import test_event_phone_survey
5 | from . import test_event_schoolenrolment_record
6 |
--------------------------------------------------------------------------------
/spp_event_demo/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_event_wizard
2 | from . import create_event_house_visit_wizard
3 | from . import create_event_phone_survey_wizard
4 | from . import create_event_school_enrolment_wizard
5 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizard
3 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import managers
2 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/models/managers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import eligibility_manager
2 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_eligibility_manager
2 |
--------------------------------------------------------------------------------
/spp_exclusion_filter/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_program_wizard
2 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import controllers
5 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import farm
4 | from . import land_record
5 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/data/id_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Farmer National ID
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/data/kind_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Farm
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/models/chemical.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | from odoo import fields, models
4 |
5 | _logger = logging.getLogger(__name__)
6 |
7 |
8 | class SPPFarmChemical(models.Model):
9 | _name = "spp.farm.chemical"
10 | _description = "Chemical Interventions Types"
11 |
12 | name = fields.Char("Chemical Interventions Type")
13 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/models/feed_items.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | from odoo import fields, models
4 |
5 | _logger = logging.getLogger(__name__)
6 |
7 |
8 | class SPPFeedItems(models.Model):
9 | _name = "spp.feed.items"
10 | _description = "Feed Items Types"
11 |
12 | name = fields.Char("Feed Items Type")
13 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/models/fertilizer.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | from odoo import fields, models
4 |
5 | _logger = logging.getLogger(__name__)
6 |
7 |
8 | class SPPFertilizer(models.Model):
9 | _name = "spp.fertilizer"
10 | _description = "Fertilizer Interventions Types"
11 |
12 | name = fields.Char("Fertilizer Interventions Type")
13 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_farmer_registry_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_farmer_registry_base/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_farm
2 | from . import test_farm_season
3 | from . import test_group_membership
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_dashboard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import reports
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_dashboard/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_dashboard/reports/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import farmer_registry_report
4 | from . import farmer_with_without_training_report
5 | from . import farmer_farm_details_report
6 |
--------------------------------------------------------------------------------
/spp_farmer_registry_default_ui/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_farmer_registry_default_ui/models/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_farmer_registry_default_ui/models/__init__.py
--------------------------------------------------------------------------------
/spp_farmer_registry_default_ui/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_default_ui/security/ir.model.access.csv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_farmer_registry_default_ui/security/ir.model.access.csv
--------------------------------------------------------------------------------
/spp_farmer_registry_default_ui/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_farmer_registry_default_ui/static/description/icon.png
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import agricultural_activity
4 | from . import farm
5 | from . import farm_asset
6 | from . import farm_details
7 | from . import farmer
8 | from . import generate_farmer_data
9 | from . import land_record
10 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/models/farm.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class Farm(models.Model):
5 | _inherit = "res.partner"
6 |
7 | household_size = fields.Integer(allow_filter=True)
8 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/models/land_record.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class LandRecord(models.Model):
5 | _inherit = "spp.land.record"
6 |
7 | ke_access_cities_reg = fields.Float(
8 | string="Estimated cumulative travel time/cost to the nearest regional city",
9 | readonly=True,
10 | )
11 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_generate_farmer_data_admin,SPP Generate Farmer Data Admin Access,spp_farmer_registry_demo.model_spp_generate_farmer_data,g2p_registry_base.group_g2p_admin,1,1,1,1
3 | spp_generate_farmer_data_registrar,SPP Generate Farmer Data Registrar Access,spp_farmer_registry_demo.model_spp_generate_farmer_data,g2p_registry_base.group_g2p_registrar,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_farmer_registry_demo/static/description/icon.png
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_tools
2 | from . import test_farm
3 | from . import test_generate_farmer_data
4 |
--------------------------------------------------------------------------------
/spp_farmer_registry_demo/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from .random_location_in_kenya import random_location_in_kenya
2 | from .random_location_in_laos import random_location_in_laos
3 | from .random_location_in_sri_lanka import random_location_in_sri_lanka
4 | from .generate_polygon import generate_polygon
5 |
--------------------------------------------------------------------------------
/spp_grm/README.rst:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_grm/README.rst
--------------------------------------------------------------------------------
/spp_grm/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 | from . import models
3 |
--------------------------------------------------------------------------------
/spp_grm/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import grm_portal
2 |
--------------------------------------------------------------------------------
/spp_grm/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import grm_ticket
2 | from . import grm_ticket_stage
3 | from . import grm_ticket_tag
4 | from . import grm_ticket_channel
5 | from . import grm_ticket_category
6 | from . import res_partner
7 |
--------------------------------------------------------------------------------
/spp_grm/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_grm/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_grm/static/description/icon.png
--------------------------------------------------------------------------------
/spp_grm/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_grm_ticket
2 | from . import test_grm_ticket_stage
3 | from . import test_res_partner
4 |
--------------------------------------------------------------------------------
/spp_hide_menus/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
--------------------------------------------------------------------------------
/spp_hide_menus/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "Language: lo\n"
11 | "MIME-Version: 1.0\n"
12 | "Content-Type: text/plain; charset=UTF-8\n"
13 | "Content-Transfer-Encoding: 8bit\n"
14 | "Plural-Forms: \n"
15 |
--------------------------------------------------------------------------------
/spp_hide_menus/i18n/spp_hide_menus.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_hide_menus/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_hide_menus_base/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_hide_menus_base/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import hide_menu
2 |
--------------------------------------------------------------------------------
/spp_hide_menus_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_hide_menus_base/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_hide_menu_admin,Hide Menu Configuration Admin Access,spp_hide_menus_base.model_spp_hide_menu,base.group_system,1,1,1,1
3 |
--------------------------------------------------------------------------------
/spp_hide_menus_base/security/security.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_idpass/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_idpass/data/id_pass.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ID PASS Lite
5 | both
6 |
7 |
8 |
9 | ID PASS Template
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/spp_idpass/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import id_pass
4 | from . import registrant
5 | from . import id_type
6 |
--------------------------------------------------------------------------------
/spp_idpass/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_idpass/readme/DESCRIPTION.md:
--------------------------------------------------------------------------------
1 | OpenSPP ID PASS
2 |
--------------------------------------------------------------------------------
/spp_idpass/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_idpass_admin,ID Pass Admin Access,spp_idpass.model_spp_id_pass,g2p_registry_base.group_g2p_admin,1,1,1,1
3 | spp_issue_idpass_wizard_admin,Issue ID Pass Wizard Admin Access,spp_idpass.model_spp_issue_idpass_wizard,g2p_registry_base.group_g2p_admin,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_idpass/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_idpass/static/description/icon.png
--------------------------------------------------------------------------------
/spp_idpass/static/description/icon_id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_idpass/static/description/icon_id.png
--------------------------------------------------------------------------------
/spp_idpass/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_id_pass
2 | from . import test_id_type
3 | from . import test_registrant
4 |
--------------------------------------------------------------------------------
/spp_idpass/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import issue_id_pass_wizard
4 |
--------------------------------------------------------------------------------
/spp_idqueue/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_idqueue/data/id_pass.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ID Batch Print
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_idqueue/data/queue_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | root_id_batch
5 |
6 |
7 | id_batch
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_idqueue/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import id_queue
4 | from . import id_batch
5 | from . import registrant
6 | from . import queue_job_channel
7 |
--------------------------------------------------------------------------------
/spp_idqueue/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_idqueue/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_idqueue/static/description/icon.png
--------------------------------------------------------------------------------
/spp_idqueue/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_batch_create_wizard
2 | from . import test_id_batch
3 | from . import test_id_queue
4 | from . import test_multi_id_request_wizard
5 | from . import test_registrant
6 | from . import test_request_id_wizard
7 | from . import test_res_config_settings
8 | from . import test_queue_job_channel
9 |
--------------------------------------------------------------------------------
/spp_idqueue/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import request_id_wizard
4 | from . import batch_create_wizard
5 | from . import multi_id_request_wizard
6 |
--------------------------------------------------------------------------------
/spp_import_dci_api/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizard
3 |
--------------------------------------------------------------------------------
/spp_import_dci_api/data/crvs_location_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_import_dci_api/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import individual
2 | from . import eligibility_manager
3 | from . import constants
4 | from . import fetch_crvs_beneficiary
5 | from . import group
6 | from . import group_membership
7 | from . import imported_individuals
8 | from . import res_partner
9 |
--------------------------------------------------------------------------------
/spp_import_dci_api/models/res_partner.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class OpenSPPRegistry(models.Model):
5 | # Applicable to both Individual and Group Registry
6 |
7 | _inherit = "res.partner"
8 |
9 | data_source_id = fields.Many2one(
10 | "spp.data.source",
11 | readonly=True,
12 | )
13 |
--------------------------------------------------------------------------------
/spp_import_dci_api/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_import_dci_api/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_import_dci_api/static/description/icon.png
--------------------------------------------------------------------------------
/spp_import_dci_api/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_import_dci_api/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_import_dci_api/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_fetch_crvs_beneficiary
2 |
--------------------------------------------------------------------------------
/spp_import_dci_api/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from .field_onchange import field_onchange
2 |
--------------------------------------------------------------------------------
/spp_import_dci_api/tools/insert_operator.py:
--------------------------------------------------------------------------------
1 | from odoo.osv.expression import AND, OR
2 |
3 |
4 | def insert_operator(domain):
5 | if not domain:
6 | return domain
7 | operator_used = AND
8 | if domain[0] == "|":
9 | operator_used = OR
10 | new_domain = []
11 | domain = list(filter(lambda a: a not in ["&", "|", "!"], domain))
12 | for dom in domain:
13 | new_domain = operator_used([new_domain, [dom]])
14 | return new_domain
15 |
--------------------------------------------------------------------------------
/spp_import_dci_api/tools/private_key.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_import_dci_api/tools/private_key.pem
--------------------------------------------------------------------------------
/spp_import_dci_api/tools/private_key.pem.pub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_import_dci_api/tools/private_key.pem.pub
--------------------------------------------------------------------------------
/spp_import_dci_api/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import create_program_wizard
2 |
--------------------------------------------------------------------------------
/spp_import_match/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_import_match/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import base
4 | from . import base_import
5 | from . import import_match
6 | from . import queue_job
7 |
--------------------------------------------------------------------------------
/spp_import_match/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_import_match/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_import_match_admin,SPP Import Matching Admin Access,spp_import_match.model_spp_import_match,g2p_registry_base.group_g2p_admin,1,1,1,1
3 | spp_import_match_fields_admin,SPP Import Matching Fields Admin Access,spp_import_match.model_spp_import_match_fields,g2p_registry_base.group_g2p_admin,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_import_match/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_import_match/static/description/icon.png
--------------------------------------------------------------------------------
/spp_import_match/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_res_partner_import_match
2 |
--------------------------------------------------------------------------------
/spp_import_match/tests/res_partner_group_name.csv:
--------------------------------------------------------------------------------
1 | Name,Email
2 | Renaud,renaudhh@gmail.com
3 |
--------------------------------------------------------------------------------
/spp_import_match/tests/res_partner_name.csv:
--------------------------------------------------------------------------------
1 | given_name,family_name,name,email
2 | Renaud,Rufino,Renaud Rufino,rufinorenaud@gmail.com
3 |
--------------------------------------------------------------------------------
/spp_irrigation/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_irrigation/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import irrigation
2 |
--------------------------------------------------------------------------------
/spp_irrigation/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_irrigation/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 |
3 | access_spp_irrigation_asset,SPP Irrigation Asset Access,model_spp_irrigation_asset,spp_irrigation.group_manager,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_land_record/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_land_record/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import land_record
4 |
--------------------------------------------------------------------------------
/spp_land_record/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_land_record/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_land_record_admin,Land Record Details Admin Access,spp_land_record.model_spp_land_record,g2p_registry_base.group_g2p_admin,1,1,1,1
3 | spp_land_record_registrar,Land Record Details Registrar Access,spp_land_record.model_spp_land_record,g2p_registry_base.group_g2p_registrar,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_land_record/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_land_record/static/description/icon.png
--------------------------------------------------------------------------------
/spp_land_record/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_land_record
2 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import eligibility_manager
4 | from . import program
5 | from . import program_membership
6 | from . import cycle
7 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/models/cycle.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | import logging
3 |
4 | from odoo import fields, models
5 |
6 | _logger = logging.getLogger(__name__)
7 |
8 |
9 | class G2PCycle(models.Model):
10 | _inherit = "g2p.cycle"
11 |
12 | is_manual_eligibility = fields.Boolean(related="program_id.is_manual_eligibility")
13 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/models/eligibility_manager.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | import logging
3 |
4 | from odoo import fields, models
5 |
6 | _logger = logging.getLogger(__name__)
7 |
8 |
9 | class DefaultEligibilityManager(models.Model):
10 | _inherit = "g2p.program_membership.manager.default"
11 |
12 | is_manual_eligibility = fields.Boolean(default=False)
13 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/readme/DESCRIPTION.md:
--------------------------------------------------------------------------------
1 | OpenSPP Manual Eligibility
2 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_manual_eligibility/static/description/icon.png
--------------------------------------------------------------------------------
/spp_manual_eligibility/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_manual_eligibility
2 |
--------------------------------------------------------------------------------
/spp_manual_eligibility/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 | from . import assign_to_program_wizard
5 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import entitlement_manager
4 | from . import cycle
5 | from . import cycle_manager
6 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_manual_entitlement/static/description/icon.png
--------------------------------------------------------------------------------
/spp_manual_entitlement/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_manual_entitlement
2 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/tests/test_entitlement.csv:
--------------------------------------------------------------------------------
1 | ID,Amount
2 | GRP_VKW59J49,10
3 | GRP_VKW59J48,10
4 |
--------------------------------------------------------------------------------
/spp_manual_entitlement/tests/test_entitlement.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_manual_entitlement/tests/test_entitlement.pdf
--------------------------------------------------------------------------------
/spp_manual_entitlement/tests/test_entitlement.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_manual_entitlement/tests/test_entitlement.xlsx
--------------------------------------------------------------------------------
/spp_manual_entitlement/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 | from . import manual_entitlement_wizard
5 |
--------------------------------------------------------------------------------
/spp_mis_demo/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_mis_demo/data/res_lang_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_mis_demo/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | # from . import individual
4 | # from . import group
5 | from . import generate_group
6 | from . import generate_program
7 | from . import individual
8 | from . import group
9 |
--------------------------------------------------------------------------------
/spp_mis_demo/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_mis_demo/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_generate_data_admin,Generate Data Admin Access,spp_mis_demo.model_spp_generate_data,g2p_registry_base.group_g2p_admin,1,1,1,1
3 | spp_generate_program_data_admin,Generate Program Data Admin Access,spp_mis_demo.model_spp_generate_program_data,g2p_registry_base.group_g2p_admin,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_mis_demo/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_mis_demo/static/description/icon.png
--------------------------------------------------------------------------------
/spp_mis_demo/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_cus_partner
2 | from . import test_generate_group
3 | from . import test_generate_program
4 |
--------------------------------------------------------------------------------
/spp_oauth/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_oauth/__init__.py
--------------------------------------------------------------------------------
/spp_oauth/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: 8bit\n"
13 | "Plural-Forms: \n"
14 | "Language: lo\n"
15 |
--------------------------------------------------------------------------------
/spp_oauth/i18n/spp_oauth.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_oauth/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_oauth/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_rsa_encode_decode
2 |
--------------------------------------------------------------------------------
/spp_oauth/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from .rsa_encode_decode import calculate_signature
2 | from .rsa_encode_decode import verify_and_decode_signature
3 | from .oauth_exception import OpenSPPOAuthJWTException
4 |
--------------------------------------------------------------------------------
/spp_oauth/tools/oauth_exception.py:
--------------------------------------------------------------------------------
1 | import logging
2 |
3 | # Configure the logging
4 | logging.basicConfig(level=logging.ERROR, format="%(asctime)s - %(levelname)s - %(message)s")
5 |
6 |
7 | class OpenSPPOAuthJWTException(Exception):
8 | def __init__(self, message):
9 | super().__init__(message)
10 | logging.error(message)
11 |
--------------------------------------------------------------------------------
/spp_oauth/tools/private_key.pem:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_oauth/tools/private_key.pem
--------------------------------------------------------------------------------
/spp_oauth/tools/public_key.pub:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_oauth/tools/public_key.pub
--------------------------------------------------------------------------------
/spp_openid_vci/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizard
3 | from . import controllers
4 |
--------------------------------------------------------------------------------
/spp_openid_vci/controllers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import controllers
2 |
--------------------------------------------------------------------------------
/spp_openid_vci/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 | from . import vci_issuer
3 | from . import ir_actions_report
4 |
--------------------------------------------------------------------------------
/spp_openid_vci/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_openid_vci/security/security_user_roles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Verifiable Credential Generator
4 | global
5 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/spp_openid_vci/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_openid_vci/static/description/icon.png
--------------------------------------------------------------------------------
/spp_openid_vci/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_vci_issuer
2 | from . import test_tools
3 |
--------------------------------------------------------------------------------
/spp_openid_vci/tools/__init__.py:
--------------------------------------------------------------------------------
1 | from .tools import delete_keys_except
2 | from .tools import qr_image
3 | from .tools import create_qr_code
4 |
--------------------------------------------------------------------------------
/spp_openid_vci/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | from . import vci_issuer_selection
2 |
--------------------------------------------------------------------------------
/spp_openid_vci/wizard/vci_issuer_selection.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class IssueCardWiz(models.TransientModel):
5 | _name = "spp.issue.card.wizard"
6 |
7 | issuer_id = fields.Many2one("g2p.openid.vci.issuers", "Issuer", required=True)
8 |
9 | def issue_card(self):
10 | partner_ids = self.env["res.partner"].search([("id", "in", self.env.context.get("active_ids"))])
11 | return partner_ids._issue_vc_qr(self.issuer_id)
12 |
--------------------------------------------------------------------------------
/spp_openid_vci_group/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_openid_vci_group/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import vci_issuer
2 |
--------------------------------------------------------------------------------
/spp_openid_vci_group/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_openid_vci_individual/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_openid_vci_individual/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import vci_issuer
2 |
--------------------------------------------------------------------------------
/spp_openid_vci_individual/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_pmt/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_pmt/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import pmt
4 | from . import custom_fields_ui
5 |
--------------------------------------------------------------------------------
/spp_pmt/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_pmt/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | spp_fields_area_admin,Fields Area Admin Access,spp_pmt.model_spp_fields_area,g2p_registry_base.group_g2p_admin,1,1,1,1
3 |
--------------------------------------------------------------------------------
/spp_pmt/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_pmt/static/description/icon.png
--------------------------------------------------------------------------------
/spp_pmt/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_pmt
2 |
--------------------------------------------------------------------------------
/spp_pos/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_pos/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import pos_category
4 | from . import entitlement
5 | from . import product_template
6 |
--------------------------------------------------------------------------------
/spp_pos/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_pos/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_pos/static/description/icon.png
--------------------------------------------------------------------------------
/spp_pos/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_g2p_entitlement
2 | from . import test_pos_category
3 | from . import test_product_template
4 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizard
3 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import entitlement
2 | from . import entitlement_manager
3 | from . import cycle
4 | from . import product_template
5 | from . import pos_session
6 | from . import res_partner
7 | from . import pos_config
8 | from . import reg_id
9 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/models/entitlement_manager.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | import logging
3 |
4 | from odoo import fields, models
5 |
6 | _logger = logging.getLogger(__name__)
7 |
8 |
9 | class DefaultCashEntitlementManager(models.Model):
10 | _inherit = "g2p.program.entitlement.manager.default"
11 |
12 | is_pos_cash = fields.Boolean(default=False)
13 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/models/pos_config.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class PosConfig(models.Model):
5 | _inherit = "pos.config"
6 |
7 | area_id = fields.Many2one("spp.area", string="Area")
8 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/models/reg_id.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P Registry. See LICENSE file for full copyright and licensing details.
2 |
3 |
4 | from odoo import models
5 |
6 |
7 | class G2PRegistrantID(models.Model):
8 | _inherit = "g2p.reg.id"
9 |
10 | def generate_id_card(self):
11 | for rec in self:
12 | id_card = self.env.ref("spp_pos_id_redemption.action_report_id_barcode_printout").report_action(rec)
13 | return id_card
14 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | g2p_entitlements_pos_user,G2P Entitlements POS User Access,g2p_programs.model_g2p_entitlement,point_of_sale.group_pos_user,1,1,1,0
3 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/static/src/js/db.js:
--------------------------------------------------------------------------------
1 | /** @odoo-module */
2 |
3 | import {PosDB} from "@point_of_sale/app/store/db";
4 | import {patch} from "@web/core/utils/patch";
5 |
6 | patch(PosDB.prototype, {
7 | get_product_by_category(category_id) {
8 | this.limit = 999999;
9 | return super.get_product_by_category(category_id);
10 | },
11 | });
12 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/static/src/js/product_screen.js:
--------------------------------------------------------------------------------
1 | /** @odoo-module */
2 |
3 | import {ProductScreen} from "@point_of_sale/app/screens/product_screen/product_screen";
4 |
5 | ProductScreen.template = "spp_pos_id_redemption.ProductScreen";
6 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/static/src/view/customer_note.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Beneficiary Note
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/static/src/view/ticket_screen.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Beneficiary
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_pos_id_redemption/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenG2P. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_program_id/__init__.py:
--------------------------------------------------------------------------------
1 | from odoo import SUPERUSER_ID, api
2 |
3 | from . import models
4 |
5 |
6 | def post_init_hook(env):
7 | programs = env["g2p.program"].search([("program_id", "=", False)])
8 | for prog in programs:
9 | prog.program_id = env["ir.sequence"].next_by_code("program.id.sequence")
10 |
--------------------------------------------------------------------------------
/spp_program_id/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import g2p_program
2 |
--------------------------------------------------------------------------------
/spp_program_id/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_programs/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_programs/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import constants
4 | from . import cycle
5 | from . import entitlement
6 | from . import entitlement_cash
7 | from . import registrant
8 | from . import stock
9 | from . import managers
10 | from . import programs
11 | from . import eligibility
12 | from . import g2p_entitlement
13 |
--------------------------------------------------------------------------------
/spp_programs/models/managers/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import eligibility_manager
4 | from . import cycle_manager
5 | from . import entitlement_manager
6 | from . import entitlement_manager_default
7 |
--------------------------------------------------------------------------------
/spp_programs/models/managers/entitlement_manager.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 | from odoo import fields, models
3 |
4 |
5 | class BaseEntitlementManager(models.AbstractModel):
6 | _inherit = "g2p.base.program.entitlement.manager"
7 |
8 | id_type = fields.Many2one("g2p.id.type", "ID Type to store in entitlements")
9 |
--------------------------------------------------------------------------------
/spp_programs/models/stock/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import stock
4 |
--------------------------------------------------------------------------------
/spp_programs/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_programs/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_programs/static/description/icon.png
--------------------------------------------------------------------------------
/spp_programs/static/description/icon_program.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_programs/static/description/icon_program.png
--------------------------------------------------------------------------------
/spp_programs/static/src/xml/create_program_template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | model.root.resModel == 'g2p.program' and canCreateProgram
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_programs/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_create_program_wiz
2 | from . import test_entitlement_report_wiz
3 | from . import test_entitlement
4 | from . import test_programs
5 | from . import test_registrant
6 | from . import test_stock_rule
7 | from . import test_cycle
8 |
--------------------------------------------------------------------------------
/spp_programs/tests/test_registrant.py:
--------------------------------------------------------------------------------
1 | from .common import Common
2 |
3 |
4 | class TestRegistrant(Common):
5 | def test_01_compute_inkind_entitlements_count(self):
6 | self.registrant._compute_inkind_entitlements_count()
7 | self.assertEqual(
8 | self.registrant.inkind_entitlements_count,
9 | 1,
10 | "Registrant should have correct inkind entitlements count!",
11 | )
12 |
--------------------------------------------------------------------------------
/spp_programs/tests/test_stock_rule.py:
--------------------------------------------------------------------------------
1 | from odoo.tests import TransactionCase
2 |
3 |
4 | class TestStockRule(TransactionCase):
5 | def test_01_get_custom_move_fields(self):
6 | res = self.env["stock.rule"]._get_custom_move_fields()
7 | self.assertIn("entitlement_id", res, "`entitlement_id` should be in custom move fields!")
8 |
--------------------------------------------------------------------------------
/spp_programs/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import inkind_entitlement_report_wiz
4 | from . import create_program_wizard
5 | from . import multi_inkind_entitlement_approval_wizard
6 | from . import reject_entitlement_wizard
7 | from . import reset_to_pending_wizard
8 | from . import multi_entitlement_approval_wizard
9 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizards
3 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import managers
2 | from . import g2p_cycle
3 | from . import g2p_program
4 | from . import res_config_settings
5 | from . import cycle_membership
6 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/models/cycle_membership.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class G2PCycleMembership(models.Model):
5 | _inherit = "g2p.cycle.membership"
6 |
7 | state = fields.Selection(
8 | selection_add=[
9 | ("non_compliant", "Non-Compliant"),
10 | ],
11 | default="draft",
12 | copy=False,
13 | )
14 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/models/g2p_program.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class G2pProgram(models.Model):
5 | _inherit = "g2p.program"
6 |
7 | compliance_managers = fields.One2many(
8 | comodel_name="spp.compliance.manager",
9 | inverse_name="program_id",
10 | auto_join=True,
11 | )
12 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/models/managers/__init__.py:
--------------------------------------------------------------------------------
1 | from . import g2p_cycle_manager_default
2 | from . import g2p_program_entitlement_manager_default
3 | from . import spp_compliance_manager
4 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_g2p_cycle
2 | from . import test_g2p_program_create_wizard
3 |
--------------------------------------------------------------------------------
/spp_programs_compliance_criteria/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import g2p_program_create_wizard
2 |
--------------------------------------------------------------------------------
/spp_programs_sp/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 | from . import wizard
5 |
--------------------------------------------------------------------------------
/spp_programs_sp/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import programs
4 | from . import entitlement_cash
5 | from . import entitlement_inkind
6 | from . import entitlement_manager_default
7 | from . import entitlement_manager_cash
8 | from . import entitlement_manager_inkind
9 | from . import service_point
10 |
--------------------------------------------------------------------------------
/spp_programs_sp/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_programs_sp/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_programs_sp/static/description/icon.png
--------------------------------------------------------------------------------
/spp_programs_sp/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import common
2 | from . import test_entitlement_manager_cash
3 | from . import test_entitlement_manager_default
4 | from . import test_entitlement_manager_inkind
5 | from . import test_create_program_wizard
6 |
--------------------------------------------------------------------------------
/spp_programs_sp/wizard/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import create_program_wizard
4 |
--------------------------------------------------------------------------------
/spp_qr_scanner/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_qr_scanner/__init__.py
--------------------------------------------------------------------------------
/spp_qr_scanner/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: 8bit\n"
13 | "Plural-Forms: \n"
14 | "Language: lo\n"
15 |
--------------------------------------------------------------------------------
/spp_qr_scanner/i18n/spp_qr_scanner.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_qr_scanner/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_qr_scanner/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_qr_scanner/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registrant_import/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 | from . import spp_area
3 | from . import spp_service_point
4 |
--------------------------------------------------------------------------------
/spp_registrant_import/models/spp_area.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class SppArea(models.Model):
5 | _name = "spp.area"
6 | _inherit = ["spp.area", "spp.unique.id"]
7 |
8 | def _get_spp_id_prefix(self):
9 | return "LOC"
10 |
11 | def _get_match_spp_id_pattern(self):
12 | return r"^LOC_[0-9A-Z]{8}$"
13 |
--------------------------------------------------------------------------------
/spp_registrant_import/models/spp_service_point.py:
--------------------------------------------------------------------------------
1 | from odoo import models
2 |
3 |
4 | class SppServicePoint(models.Model):
5 | _name = "spp.service.point"
6 | _inherit = ["spp.service.point", "spp.unique.id"]
7 |
8 | def _get_spp_id_prefix(self):
9 | return "SVP"
10 |
11 | def _get_match_spp_id_pattern(self):
12 | return r"^SVP_[0-9A-Z]{8}$"
13 |
--------------------------------------------------------------------------------
/spp_registrant_import/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registrant_import/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_area
2 | from . import test_registrant
3 | from . import test_service_point
4 |
--------------------------------------------------------------------------------
/spp_registrant_tag/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registrant_tag/__init__.py
--------------------------------------------------------------------------------
/spp_registrant_tag/i18n/lo.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: Automatically generated\n"
9 | "Language-Team: none\n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: 8bit\n"
13 | "Plural-Forms: \n"
14 | "Language: lo\n"
15 |
--------------------------------------------------------------------------------
/spp_registrant_tag/i18n/spp_registrant_tag.pot:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | #
4 | msgid ""
5 | msgstr ""
6 | "Project-Id-Version: Odoo Server 17.0\n"
7 | "Report-Msgid-Bugs-To: \n"
8 | "Last-Translator: \n"
9 | "Language-Team: \n"
10 | "MIME-Version: 1.0\n"
11 | "Content-Type: text/plain; charset=UTF-8\n"
12 | "Content-Transfer-Encoding: \n"
13 | "Plural-Forms: \n"
14 |
--------------------------------------------------------------------------------
/spp_registrant_tag/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registrant_tag/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | g2p_registrant_tags_registrar,Registrant Tags Registrant Access,g2p_registry_base.model_g2p_registrant_tags,g2p_registry_base.group_g2p_registrar,1,1,1,1
3 |
--------------------------------------------------------------------------------
/spp_registry_approval/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_registry_approval/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 |
--------------------------------------------------------------------------------
/spp_registry_approval/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_approval/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_approval/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registry_approval_group/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_approval_group/__init__.py
--------------------------------------------------------------------------------
/spp_registry_approval_group/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_approval_group/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_approval_group/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registry_approval_individual/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_approval_individual/__init__.py
--------------------------------------------------------------------------------
/spp_registry_approval_individual/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_approval_individual/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_approval_individual/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registry_base/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_registry_base/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_partner
2 |
--------------------------------------------------------------------------------
/spp_registry_base/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_base/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_base/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registry_base/static/description/icon_registry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_base/static/description/icon_registry.png
--------------------------------------------------------------------------------
/spp_registry_base/static/xls/group_registry.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_base/static/xls/group_registry.xlsx
--------------------------------------------------------------------------------
/spp_registry_base/static/xls/individual_registry.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_base/static/xls/individual_registry.xlsx
--------------------------------------------------------------------------------
/spp_registry_base/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_res_partner
2 |
--------------------------------------------------------------------------------
/spp_registry_base/views/groups_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_registry_base/views/individuals_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_registry_base/views/main_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
10 |
11 |
--------------------------------------------------------------------------------
/spp_registry_data_source/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_registry_data_source/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import data_source
2 | from . import data_source_key_value_pair
3 |
--------------------------------------------------------------------------------
/spp_registry_data_source/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_data_source/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_data_source/static/description/icon.png
--------------------------------------------------------------------------------
/spp_registry_data_source/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_registry_data_source/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_registry_data_source/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_data_source
2 |
--------------------------------------------------------------------------------
/spp_registry_group_hierarchy/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_registry_group_hierarchy/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import group_kind
2 | from . import group_membership
3 |
--------------------------------------------------------------------------------
/spp_registry_group_hierarchy/models/group_kind.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class SPPGroupKind(models.Model):
5 | _inherit = "g2p.group.kind"
6 |
7 | allow_all_member_type = fields.Boolean("Allow group and individual members", default=False)
8 |
--------------------------------------------------------------------------------
/spp_registry_group_hierarchy/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_registry_group_hierarchy/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_group_membership
2 |
--------------------------------------------------------------------------------
/spp_scan_id_document/__init__.py:
--------------------------------------------------------------------------------
1 | from . import model
2 |
--------------------------------------------------------------------------------
/spp_scan_id_document/model/__init__.py:
--------------------------------------------------------------------------------
1 | from . import registrant
2 |
--------------------------------------------------------------------------------
/spp_scan_id_document/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_scan_id_document/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_scan_id_document/static/description/icon.png
--------------------------------------------------------------------------------
/spp_scan_id_document/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_registrant
2 |
--------------------------------------------------------------------------------
/spp_service_point_device/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/spp_service_point_device/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_service_point
2 | from . import spp_service_point_device
3 |
--------------------------------------------------------------------------------
/spp_service_point_device/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_service_point_device/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | access_spp_service_point_device_all,spp.service.point.device.all,model_spp_service_point_device,,1,1,1,1
3 |
--------------------------------------------------------------------------------
/spp_service_point_device/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_spp_service_point_device
2 | from . import test_spp_service_point
3 |
--------------------------------------------------------------------------------
/spp_service_points/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_service_points/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import registrant
4 | from . import res_user
5 |
--------------------------------------------------------------------------------
/spp_service_points/models/res_user.py:
--------------------------------------------------------------------------------
1 | from odoo import fields, models
2 |
3 |
4 | class Users(models.Model):
5 | _inherit = "res.users"
6 |
7 | service_point_ids = fields.Many2many(related="partner_id.ind_service_points_ids", string="Service Points")
8 |
--------------------------------------------------------------------------------
/spp_service_points/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_service_points/security/security_group.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Service Point User
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/spp_service_points/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_service_points/static/description/icon.png
--------------------------------------------------------------------------------
/spp_service_points/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_service_point
2 |
--------------------------------------------------------------------------------
/spp_starter/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 | from . import wizards
3 |
--------------------------------------------------------------------------------
/spp_starter/data/ir_config_parameter_data.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | spp_starter.show_spp_starter
6 | True
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/spp_starter/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import ir_ui_menu
2 |
--------------------------------------------------------------------------------
/spp_starter/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_starter/security/ir.model.access.csv:
--------------------------------------------------------------------------------
1 | id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
2 | access_spp_starter_all,spp.stater.all,model_spp_starter,,1,0,0,0
3 | access_spp_starter_group_system,spp.starter.group.system,model_spp_starter,base.group_system,1,1,1,1
4 |
--------------------------------------------------------------------------------
/spp_starter/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_ir_ui_menu
2 | from . import test_spp_starter
3 |
--------------------------------------------------------------------------------
/spp_starter/wizards/__init__.py:
--------------------------------------------------------------------------------
1 | from . import spp_starter
2 |
--------------------------------------------------------------------------------
/spp_user_roles/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import models
4 |
--------------------------------------------------------------------------------
/spp_user_roles/data/ir_cron.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 | Update User Roles
6 | False
7 |
8 |
9 |
--------------------------------------------------------------------------------
/spp_user_roles/models/__init__.py:
--------------------------------------------------------------------------------
1 | # Part of OpenSPP. See LICENSE file for full copyright and licensing details.
2 |
3 | from . import role
4 | from . import user
5 | from . import area
6 | from . import res_partner
7 |
--------------------------------------------------------------------------------
/spp_user_roles/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/spp_user_roles/security/security.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | Local Registrar
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/spp_user_roles/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_user_roles/static/description/icon.png
--------------------------------------------------------------------------------
/spp_user_roles/static/src/img/icons/contacts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/spp_user_roles/static/src/img/icons/contacts.png
--------------------------------------------------------------------------------
/spp_user_roles/tests/__init__.py:
--------------------------------------------------------------------------------
1 | from . import test_res_partner
2 | from . import test_user
3 |
--------------------------------------------------------------------------------
/test-requirements.txt:
--------------------------------------------------------------------------------
1 | odoo-test-helper
2 |
--------------------------------------------------------------------------------
/theme_openspp_muk/README.rst:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/theme_openspp_muk/README.rst
--------------------------------------------------------------------------------
/theme_openspp_muk/__init__.py:
--------------------------------------------------------------------------------
1 | from . import models
2 |
--------------------------------------------------------------------------------
/theme_openspp_muk/models/__init__.py:
--------------------------------------------------------------------------------
1 | from . import res_config_settings
2 |
--------------------------------------------------------------------------------
/theme_openspp_muk/pyproject.toml:
--------------------------------------------------------------------------------
1 | [build-system]
2 | requires = ["whool"]
3 | build-backend = "whool.buildapi"
4 |
--------------------------------------------------------------------------------
/theme_openspp_muk/static/description/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/theme_openspp_muk/static/description/icon.png
--------------------------------------------------------------------------------
/theme_openspp_muk/static/description/icon_registry.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/OpenSPP/openspp-modules/9783d4150a596167e276f941b23db0abfb41fd5f/theme_openspp_muk/static/description/icon_registry.png
--------------------------------------------------------------------------------
/theme_openspp_muk/static/src/scss/colors.scss:
--------------------------------------------------------------------------------
1 | // Colors
2 |
3 | $mk_color_appsmenu_text: #f8f9fa;
4 | $mk_color_appbar_text: #dee2e6;
5 | $mk_color_appbar_active: #5d8da8;
6 | $mk_color_appbar_background: #3264c8;
7 |
8 | // Override
9 |
10 | $mk-appsmenu-color: $mk_color_appsmenu_text;
11 | $mk-appbar-color: $mk_color_appbar_text;
12 | $mk-appbar-active: $mk_color_appbar_active;
13 | $mk-appbar-background: $mk_color_appbar_background;
14 |
--------------------------------------------------------------------------------
/theme_openspp_muk/static/src/scss/navbar.scss:
--------------------------------------------------------------------------------
1 | .o_main_navbar {
2 | border-bottom: none !important;
3 | background-color: #3264c8 !important;
4 | }
5 |
6 | .o_main_navbar > .o_menu_sections > .dropdown-item,
7 | .o_main_navbar > .o_menu_sections > .o-dropdown > .dropdown-toggle {
8 | background-color: #3264c8 !important;
9 | }
10 |
--------------------------------------------------------------------------------
/theme_openspp_muk/views/main_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
11 |
12 |
--------------------------------------------------------------------------------