Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion spp_change_request_v2/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"author": "OpenSPP.org",
"website": "https://github.com/OpenSPP/OpenSPP2",
"license": "LGPL-3",
"development_status": "Production/Stable",
"development_status": "Stable",
"depends": [
"base",
"mail",
Expand All @@ -29,6 +29,8 @@
"views/dms_file_views.xml",
"views/change_request_type_views.xml",
"views/change_request_views.xml",
"views/stage_documents_form.xml",
"views/stage_review_form.xml",
"views/detail_add_member_views.xml",
"views/detail_edit_individual_views.xml",
"views/detail_edit_group_views.xml",
Expand Down Expand Up @@ -67,6 +69,8 @@
"spp_change_request_v2/static/src/xml/create_change_request_template.xml",
"spp_change_request_v2/static/src/xml/search_delay_field.xml",
"spp_change_request_v2/static/src/xml/cr_search_results_field.xml",
"spp_change_request_v2/static/src/js/cr_review_documents.js",
"spp_change_request_v2/static/src/xml/cr_review_documents.xml",
],
},
"installable": True,
Expand Down
280 changes: 280 additions & 0 deletions spp_change_request_v2/data/default_types.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,280 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<!-- Default Change Request Types -->

<!-- Add Member to Group -->
<record id="cr_type_add_member" model="spp.change.request.type">
<field name="name">Add Group Member</field>
<field name="code">add_member</field>
<field name="description">Add a new member to an existing group/household</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.add_member</field>
<field name="detail_form_view_id" ref="spp_cr_detail_add_member_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.add_member</field>
<field name="icon">fa-user-plus</field>
<field name="sequence">10</field>
</record>

<!-- Edit Individual Information -->
<record id="cr_type_edit_individual" model="spp.change.request.type">
<field name="name">Edit Individual Information</field>
<field name="code">edit_individual</field>
<field name="description">Update personal information for an individual registrant</field>
<field name="target_type">individual</field>
<field name="detail_model">spp.cr.detail.edit_individual</field>
<field name="detail_form_view_id" ref="spp_cr_detail_edit_individual_form"/>
<field name="apply_strategy">field_mapping</field>
<field name="icon">fa-user-edit</field>
<field name="sequence">20</field>
</record>

<!-- Field mappings for Edit Individual -->
<record id="cr_type_edit_individual_mapping_given_name" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">given_name</field>
<field name="target_field">given_name</field>
<field name="sequence">10</field>
</record>
<record id="cr_type_edit_individual_mapping_family_name" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">family_name</field>
<field name="target_field">family_name</field>
<field name="sequence">20</field>
</record>
<record id="cr_type_edit_individual_mapping_birthdate" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">birthdate</field>
<field name="target_field">birthdate</field>
<field name="sequence">30</field>
</record>
<record id="cr_type_edit_individual_mapping_gender" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">gender_id</field>
<field name="target_field">gender_id</field>
<field name="sequence">40</field>
</record>
<record id="cr_type_edit_individual_mapping_phone" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">phone</field>
<field name="target_field">phone</field>
<field name="sequence">50</field>
</record>
<record id="cr_type_edit_individual_mapping_email" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">email</field>
<field name="target_field">email</field>
<field name="sequence">60</field>
</record>
<record id="cr_type_edit_individual_mapping_street" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">address_line1</field>
<field name="target_field">street</field>
<field name="sequence">70</field>
</record>
<record id="cr_type_edit_individual_mapping_street2" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">address_line2</field>
<field name="target_field">street2</field>
<field name="sequence">80</field>
</record>
<record id="cr_type_edit_individual_mapping_city" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">city</field>
<field name="target_field">city</field>
<field name="sequence">90</field>
</record>
<record id="cr_type_edit_individual_mapping_zip" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_individual"/>
<field name="source_field">postal_code</field>
<field name="target_field">zip</field>
<field name="sequence">100</field>
</record>

<!-- Edit Group Information -->
<record id="cr_type_edit_group" model="spp.change.request.type">
<field name="name">Edit Group Information</field>
<field name="code">edit_group</field>
<field name="description">Update information for a group/household</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.edit_group</field>
<field name="detail_form_view_id" ref="spp_cr_detail_edit_group_form"/>
<field name="apply_strategy">field_mapping</field>
<field name="icon">fa-users-cog</field>
<field name="sequence">30</field>
</record>

<!-- Field mappings for Edit Group -->
<record id="cr_type_edit_group_mapping_name" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">group_name</field>
<field name="target_field">name</field>
<field name="sequence">10</field>
</record>
<record id="cr_type_edit_group_mapping_phone" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">phone</field>
<field name="target_field">phone</field>
<field name="sequence">20</field>
</record>
<record id="cr_type_edit_group_mapping_email" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">email</field>
<field name="target_field">email</field>
<field name="sequence">30</field>
</record>
<record id="cr_type_edit_group_mapping_street" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">address_line1</field>
<field name="target_field">street</field>
<field name="sequence">40</field>
</record>
<record id="cr_type_edit_group_mapping_street2" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">address_line2</field>
<field name="target_field">street2</field>
<field name="sequence">50</field>
</record>
<record id="cr_type_edit_group_mapping_city" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">city</field>
<field name="target_field">city</field>
<field name="sequence">60</field>
</record>
<record id="cr_type_edit_group_mapping_zip" model="spp.change.request.type.mapping">
<field name="type_id" ref="cr_type_edit_group"/>
<field name="source_field">postal_code</field>
<field name="target_field">zip</field>
<field name="sequence">70</field>
</record>

<!-- ════════════════════════════════════════════════════════════════════════ -->
<!-- MEMBERSHIP OPERATIONS -->
<!-- ════════════════════════════════════════════════════════════════════════ -->

<!-- Remove Member from Group -->
<record id="cr_type_remove_member" model="spp.change.request.type">
<field name="name">Remove Group Member</field>
<field name="code">remove_member</field>
<field name="description">Remove a member from an existing group/household</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.remove_member</field>
<field name="detail_form_view_id" ref="spp_cr_detail_remove_member_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.remove_member</field>
<field name="icon">fa-user-minus</field>
<field name="sequence">40</field>
</record>

<!-- Change Head of Household -->
<record id="cr_type_change_hoh" model="spp.change.request.type">
<field name="name">Change Head of Household</field>
<field name="code">change_hoh</field>
<field name="description">Change the head of household for a group</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.change_hoh</field>
<field name="detail_form_view_id" ref="spp_cr_detail_change_hoh_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.change_hoh</field>
<field name="icon">fa-user-shield</field>
<field name="sequence">50</field>
</record>

<!-- Transfer Member -->
<record id="cr_type_transfer_member" model="spp.change.request.type">
<field name="name">Transfer Member</field>
<field name="code">transfer_member</field>
<field name="description">Transfer a member from one group to another</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.transfer_member</field>
<field name="detail_form_view_id" ref="spp_cr_detail_transfer_member_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.transfer_member</field>
<field name="icon">fa-exchange-alt</field>
<field name="sequence">60</field>
</record>

<!-- ════════════════════════════════════════════════════════════════════════ -->
<!-- REGISTRANT LIFECYCLE -->
<!-- ════════════════════════════════════════════════════════════════════════ -->

<!-- Exit/Deactivate Registrant -->
<record id="cr_type_exit_registrant" model="spp.change.request.type">
<field name="name">Exit Registrant</field>
<field name="code">exit_registrant</field>
<field name="description">Deactivate or exit a registrant from the system</field>
<field name="target_type">both</field>
<field name="detail_model">spp.cr.detail.exit_registrant</field>
<field name="detail_form_view_id" ref="spp_cr_detail_exit_registrant_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.exit_registrant</field>
<field name="icon">fa-user-slash</field>
<field name="sequence">70</field>
</record>

<!-- Update ID Document -->
<record id="cr_type_update_id" model="spp.change.request.type">
<field name="name">Update ID Document</field>
<field name="code">update_id</field>
<field name="description">Add, update, or remove identification documents</field>
<field name="target_type">both</field>
<field name="detail_model">spp.cr.detail.update_id</field>
<field name="detail_form_view_id" ref="spp_cr_detail_update_id_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.update_id</field>
<field name="icon">fa-id-card</field>
<field name="sequence">80</field>
</record>

<!-- ════════════════════════════════════════════════════════════════════════ -->
<!-- GROUP OPERATIONS -->
<!-- ════════════════════════════════════════════════════════════════════════ -->

<!-- Create New Group -->
<record id="cr_type_create_group" model="spp.change.request.type">
<field name="name">Create New Group</field>
<field name="code">create_group</field>
<field name="description">Create a new group/household</field>
<field name="target_type">group</field>
<field name="is_requires_registrant">0</field>
<field name="detail_model">spp.cr.detail.create_group</field>
<field name="detail_form_view_id" ref="spp_cr_detail_create_group_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.create_group</field>
<field name="icon">fa-home</field>
<field name="sequence">90</field>
</record>

<!-- Split Household -->
<record id="cr_type_split_household" model="spp.change.request.type">
<field name="name">Split Household</field>
<field name="code">split_household</field>
<field name="description">Split a household into two separate groups</field>
<field name="target_type">group</field>
<field name="detail_model">spp.cr.detail.split_household</field>
<field name="detail_form_view_id" ref="spp_cr_detail_split_household_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.split_household</field>
<field name="icon">fa-code-branch</field>
<field name="sequence">100</field>
</record>

<!-- ════════════════════════════════════════════════════════════════════════ -->
<!-- DATA QUALITY -->
<!-- ════════════════════════════════════════════════════════════════════════ -->

<!-- Merge Registrants -->
<record id="cr_type_merge_registrants" model="spp.change.request.type">
<field name="name">Merge Registrants</field>
<field name="code">merge_registrants</field>
<field name="description">Merge duplicate registrant records</field>
<field name="target_type">both</field>
<field name="detail_model">spp.cr.detail.merge_registrants</field>
<field name="detail_form_view_id" ref="spp_cr_detail_merge_registrants_form"/>
<field name="apply_strategy">custom</field>
<field name="apply_model">spp.cr.apply.merge_registrants</field>
<field name="icon">fa-compress-arrows-alt</field>
<field name="sequence">110</field>
</record>

</odoo>
4 changes: 2 additions & 2 deletions spp_change_request_v2/data/dms_directories.xml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Parent DMS Directory for all Change Requests -->
<record id="dms_directory_change_request_root" model="spp.dms.directory">
<field name="name">Change Request</field>
<field name="is_root_directory" eval="True" />
<field name="is_root_directory" eval="True"/>
</record>
</odoo>
9 changes: 3 additions & 6 deletions spp_change_request_v2/data/event_types.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,7 @@
<field name="code">cr_audit</field>
<field name="category">manual</field>
<field name="target_type">both</field>
<field
name="description"
>Audit trail events for change request state transitions</field>
<field name="description">Audit trail events for change request state transitions</field>
</record>

<!-- Event Type for CR Conflict Detection -->
Expand All @@ -17,8 +15,7 @@
<field name="code">cr_conflict</field>
<field name="category">manual</field>
<field name="target_type">both</field>
<field
name="description"
>Audit trail events for conflict detection and resolution</field>
<field name="description">Audit trail events for conflict detection and resolution</field>
</record>

</odoo>
3 changes: 2 additions & 1 deletion spp_change_request_v2/data/sequences.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
<field name="code">spp.change.request</field>
<field name="prefix">CR/%(year)s/</field>
<field name="padding">5</field>
<field name="company_id" eval="False" />
<field name="company_id" eval="False"/>
</record>

</odoo>
6 changes: 3 additions & 3 deletions spp_change_request_v2/data/user_roles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details.
User roles for Change Request module.
-->
<odoo noupdate="1">

<!-- CR Requestor Role -->
<!-- For users who can create and submit change requests -->
<record id="global_role_cr_requestor" model="res.users.role">
<field name="name">CR Requestor</field>
<field name="role_type">global</field>
<field
name="comment"
>Can create and submit change requests for approval.</field>
<field name="comment">Can create and submit change requests for approval.</field>
<field
name="implied_ids"
eval="[
Expand Down Expand Up @@ -54,4 +53,5 @@ User roles for Change Request module.
]"
/>
</record>

</odoo>
4 changes: 1 addition & 3 deletions spp_change_request_v2/details/add_member.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,7 @@ class SPPCRDetailAddMember(models.Model):
relationship_id = fields.Many2one(
"spp.vocabulary.code",
string="Relationship to Head",
domain=(
"[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]"
),
domain="[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]",
tracking=True,
)
id_number = fields.Char(string="ID Number", tracking=True)
Expand Down
4 changes: 1 addition & 3 deletions spp_change_request_v2/details/change_hoh.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,7 @@ class SPPCRDetailChangeHOH(models.Model):
previous_head_new_role_id = fields.Many2one(
"spp.vocabulary.code",
string="Previous Head's New Role",
domain=(
"[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]"
),
domain="[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]",
tracking=True,
help="The new role for the previous head (e.g., Spouse, Other Adult)",
)
Expand Down
Loading
Loading