Skip to content

Commit a8c88c4

Browse files
authored
Merge pull request #61 from OpenSPP/feat/cr-wizard-ux-redesign
feat(spp_change_request_v2): CR UX redesign with stage-based workflow
2 parents a3fec68 + bdef7dc commit a8c88c4

50 files changed

Lines changed: 3324 additions & 436 deletions

Some content is hidden

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

spp_change_request_v2/__manifest__.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
"views/dms_file_views.xml",
3030
"views/change_request_type_views.xml",
3131
"views/change_request_views.xml",
32+
"views/stage_documents_form.xml",
33+
"views/stage_review_form.xml",
3234
"views/detail_add_member_views.xml",
3335
"views/detail_edit_individual_views.xml",
3436
"views/detail_edit_group_views.xml",
@@ -57,6 +59,9 @@
5759
"data/event_types.xml",
5860
"data/user_roles.xml",
5961
],
62+
"oca_data_manual": [
63+
"data/default_types.xml",
64+
],
6065
"assets": {
6166
"web.assets_backend": [
6267
"spp_change_request_v2/static/src/components/**/*",
@@ -67,6 +72,8 @@
6772
"spp_change_request_v2/static/src/xml/create_change_request_template.xml",
6873
"spp_change_request_v2/static/src/xml/search_delay_field.xml",
6974
"spp_change_request_v2/static/src/xml/cr_search_results_field.xml",
75+
"spp_change_request_v2/static/src/js/cr_review_documents.js",
76+
"spp_change_request_v2/static/src/xml/cr_review_documents.xml",
7077
],
7178
},
7279
"installable": True,

spp_change_request_v2/data/default_types.xml

Lines changed: 337 additions & 0 deletions
Large diffs are not rendered by default.

spp_change_request_v2/details/add_member.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,8 @@ class SPPCRDetailAddMember(models.Model):
2929
relationship_id = fields.Many2one(
3030
"spp.vocabulary.code",
3131
string="Relationship to Head",
32-
domain=(
33-
"[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]"
34-
),
32+
domain="[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'),"
33+
" ('code', '!=', 'head')]",
3534
tracking=True,
3635
)
3736
id_number = fields.Char(string="ID Number", tracking=True)

spp_change_request_v2/details/change_hoh.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,8 @@ class SPPCRDetailChangeHOH(models.Model):
4141
previous_head_new_role_id = fields.Many2one(
4242
"spp.vocabulary.code",
4343
string="Previous Head's New Role",
44-
domain=(
45-
"[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]"
46-
),
44+
domain="[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'),"
45+
" ('code', '!=', 'head')]",
4746
tracking=True,
4847
help="The new role for the previous head (e.g., Spouse, Other Adult)",
4948
)

spp_change_request_v2/details/split_household.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ class SPPCRDetailSplitHousehold(models.Model):
9494
# New group address
9595
copy_address = fields.Boolean(
9696
string="Copy Address from Source",
97-
default=True,
97+
default=False,
9898
tracking=True,
9999
)
100100
address_line1 = fields.Char(string="Address Line 1", tracking=True)
@@ -166,9 +166,8 @@ def _compute_available_member_ids(self):
166166
)
167167

168168
# Filter out head member
169-
non_head_memberships = memberships.filtered(
170-
lambda m, _head_type=head_type: _head_type not in m.membership_type_ids
171-
)
169+
_head_type = head_type
170+
non_head_memberships = memberships.filtered(lambda m, ht=_head_type: ht not in m.membership_type_ids)
172171

173172
rec.available_member_ids = non_head_memberships.mapped("individual")
174173

@@ -249,7 +248,7 @@ def _check_minimum_remaining(self):
249248

250249
@api.onchange("copy_address")
251250
def _onchange_copy_address(self):
252-
"""Copy address from source group when toggled."""
251+
"""Copy address from source group when toggled on, clear when toggled off."""
253252
if self.copy_address and self.source_group_id:
254253
self.address_line1 = self.source_group_id.street
255254
self.address_line2 = self.source_group_id.street2
@@ -259,3 +258,12 @@ def _onchange_copy_address(self):
259258
self.country_id = self.source_group_id.country_id
260259
self.phone = self.source_group_id.phone
261260
self.email = self.source_group_id.email
261+
elif not self.copy_address:
262+
self.address_line1 = False
263+
self.address_line2 = False
264+
self.city = False
265+
self.state_id = False
266+
self.postal_code = False
267+
self.country_id = False
268+
self.phone = False
269+
self.email = False

spp_change_request_v2/details/transfer_member.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,8 @@ class SPPCRDetailTransferMember(models.Model):
4848
new_role_id = fields.Many2one(
4949
"spp.vocabulary.code",
5050
string="Role in New Group",
51-
domain=(
52-
"[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'), ('code', '!=', 'head')]"
53-
),
51+
domain="[('vocabulary_id.namespace_uri', '=', 'urn:openspp:vocab:group-membership-type'),"
52+
" ('code', '!=', 'head')]",
5453
tracking=True,
5554
help="The role/relationship in the new group",
5655
)

spp_change_request_v2/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@
99
from . import dms_directory
1010
from . import dms_file
1111
from . import res_partner
12+
from . import change_request_log

0 commit comments

Comments
 (0)