Skip to content

Commit 42daacf

Browse files
committed
add target types on change requests
1 parent fe4d58d commit 42daacf

File tree

11 files changed

+108
-0
lines changed

11 files changed

+108
-0
lines changed

spp_change_request/models/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
from . import dms_directory
88
from . import registry
99
from . import mixins
10+
from . import change_request_targets

spp_change_request/models/change_request.py

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,19 @@ class ChangeRequestBase(models.Model):
4949
company_id = fields.Many2one("res.company", default=lambda self: self.env.company)
5050
date_requested = fields.Datetime() # Date the change request was submitted
5151
request_type = fields.Selection(selection="_selection_request_type_ref_id", required=True)
52+
request_type_target = fields.Many2one(
53+
"spp.change.request.targets", compute="_compute_request_type_target", store=True
54+
)
5255
registrant_id = fields.Many2one(
5356
"res.partner",
5457
"Registrant",
5558
domain=[("is_registrant", "=", True)],
5659
) #: Registrant who submitted the change request
60+
registrant_id_domain = fields.Binary(
61+
compute="_compute_registrant_id_domain",
62+
readonly=True,
63+
store=False,
64+
)
5765

5866
# For ID Scanner Widget
5967
id_document_details = fields.Text("Scanned ID Document")
@@ -140,6 +148,42 @@ class ChangeRequestBase(models.Model):
140148
auto_join=True,
141149
)
142150

151+
@api.onchange("request_type")
152+
def _onchange_request_type(self):
153+
self._compute_request_type_target()
154+
self.registrant_id = None
155+
156+
def _compute_request_type_target(self):
157+
request_type_target = None
158+
for rec in self:
159+
if rec.request_type:
160+
request_type_targets = self.env["spp.change.request.targets"].search(
161+
[("name", "=", rec.request_type)], limit=1
162+
)
163+
if request_type_targets:
164+
request_type_target = request_type_targets.id
165+
166+
rec.request_type_target = request_type_target
167+
168+
@api.depends("request_type_target")
169+
def _compute_registrant_id_domain(self):
170+
"""
171+
Called whenever request_type_target field is changed
172+
173+
This method is used for dynamic domain of registrant_id field
174+
"""
175+
for rec in self:
176+
domain = [("id", "=", 0)]
177+
if rec.request_type_target:
178+
if rec.request_type_target.target == "individual":
179+
domain = [("is_registrant", "=", True), ("is_group", "=", False)]
180+
elif rec.request_type_target.target == "group":
181+
domain = [("is_registrant", "=", True), ("is_group", "=", True)]
182+
else:
183+
domain = [("is_registrant", "=", True)]
184+
185+
rec.registrant_id_domain = domain
186+
143187
@api.model
144188
def create(self, vals):
145189
"""
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
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 ChangeRequestTargets(models.Model):
10+
_name = "spp.change.request.targets"
11+
_description = "Change Requests' Targets"
12+
13+
name = fields.Char("Model Name", required=True)
14+
target = fields.Selection([("individual", "Individual"), ("group", "Group"), ("both", "Both")], default="group")

spp_change_request/security/ir.model.access.csv

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ spp_change_request_group_members_admin,Change Request Group Membership Admin Acc
77
spp_change_request_user_assign_wizard_admin,Change Request User Assignment Admin Access,spp_change_request.model_spp_change_request_user_assign_wizard,g2p_registry_base.group_g2p_admin,1,1,1,1
88
spp_change_request_reject_wizard_admin,Change Request Reject Admin Access,spp_change_request.model_spp_change_request_reject_wizard,g2p_registry_base.group_g2p_admin,1,1,1,1
99
spp_change_request_cancel_wizard_admin,Change Request Cancel Admin Access,spp_change_request.model_spp_change_request_cancel_wizard,g2p_registry_base.group_g2p_admin,1,1,1,1
10+
spp_change_request_targets_admin,Change Request Targets Admin Access,spp_change_request.model_spp_change_request_targets,g2p_registry_base.group_g2p_admin,1,1,1,1
1011

1112
spp_change_request_registrar,Change Request Registrar Access,spp_change_request.model_spp_change_request,g2p_registry_base.group_g2p_registrar,1,1,0,0
1213
spp_change_request_validators_registrar,Change Request Validators Registrar Access,spp_change_request.model_spp_change_request_validators,g2p_registry_base.group_g2p_registrar,1,0,0,0
@@ -16,6 +17,7 @@ spp_change_request_group_members_registrar,Change Request Group Membership Regis
1617
spp_change_request_user_assign_wizard_registrar,Change Request User Assignment Registrar Access,spp_change_request.model_spp_change_request_user_assign_wizard,g2p_registry_base.group_g2p_registrar,1,1,1,0
1718
spp_change_request_reject_wizard_registrar,Change Request Reject Registrar Access,spp_change_request.model_spp_change_request_reject_wizard,g2p_registry_base.group_g2p_registrar,1,1,1,0
1819
spp_change_request_cancel_wizard_registrar,Change Request Cancel Registrar Access,spp_change_request.model_spp_change_request_cancel_wizard,g2p_registry_base.group_g2p_registrar,1,1,1,0
20+
spp_change_request_targets_registrar,Change Request Targets Registrar Access,spp_change_request.model_spp_change_request_targets,g2p_registry_base.group_g2p_registrar,1,1,1,0
1921

2022
spp_change_request_validator,Change Request Validator Access,spp_change_request.model_spp_change_request,spp_change_request.group_spp_change_request_validator,1,1,0,0
2123
spp_change_request_validators_validator,Change Request Validators Validator Access,spp_change_request.model_spp_change_request_validators,spp_change_request.group_spp_change_request_validator,1,1,1,0
@@ -32,6 +34,7 @@ spp_change_request_g2p_reg_rel_validator,G2P Registry Relationship CR Validator
3234
spp_change_request_g2p_phone_number_validator,G2P Phone Number CR Validator Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_validator,1,1,1,0
3335
spp_change_request_g2p_reg_id_validator,G2P Registrant ID CR Validator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_validator,1,1,1,0
3436
spp_change_request_cancel_wizard_validator,Change Request Cancel Validator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_validator,1,1,1,1
37+
spp_change_request_targets_validator,Change Request Targets Validator Access,spp_change_request.model_spp_change_request_targets,spp_change_request.group_spp_change_request_validator,1,1,1,0
3538

3639
spp_dms_directory_validator,SPP DMS Directory Validator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_validator,1,0,0,0
3740
spp_dms_category_validator,SPP DMS Category Validator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_validator,1,0,0,0
@@ -57,6 +60,7 @@ spp_change_request_g2p_reg_rel_hq_validator,G2P Registry Relationship CR HQ Vali
5760
spp_change_request_g2p_phone_number_hq_validator,G2P Phone Number CR HQ Validator Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_hq_validator,1,1,1,0
5861
spp_change_request_g2p_reg_id_hq_validator,G2P Registrant ID CR HQ Validator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_hq_validator,1,1,1,0
5962
spp_change_request_cancel_wizard_hq_validator,Change Request Cancel HQ Validator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_hq_validator,1,1,1,1
63+
spp_change_request_targets_hq_validator,Change Request Targets HQ Validator Access,spp_change_request.model_spp_change_request_targets,spp_change_request.group_spp_change_request_hq_validator,1,1,1,0
6064

6165
spp_dms_directory_hq_validator,SPP DMS Directory HQ Validator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
6266
spp_dms_category_hq_validator,SPP DMS Category HQ Validator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_hq_validator,1,0,0,0
@@ -82,6 +86,7 @@ spp_change_request_g2p_reg_rel_administrator,G2P Registry Relationship CR Admini
8286
spp_change_request_g2p_phone_number_administrator,G2P Phone Number CR Administrator Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_administrator,1,1,1,0
8387
spp_change_request_g2p_reg_id_administrator,G2P Registrant ID CR Administrator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_administrator,1,1,1,0
8488
spp_change_request_cancel_wizard_administrator,Change Request Cancel Administrator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_administrator,1,1,1,1
89+
spp_change_request_targets_administrator,Change Request Targets Administrator Access,spp_change_request.model_spp_change_request_targets,spp_change_request.group_spp_change_request_administrator,1,1,1,0
8590

8691
spp_dms_directory_administrator,SPP DMS Directory Administrator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_administrator,1,1,1,0
8792
spp_dms_category_administrator,SPP DMS Category Administrator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_administrator,1,1,1,0
@@ -107,6 +112,7 @@ spp_change_request_g2p_reg_rel_applicator,G2P Registry Relationship CR Applicato
107112
spp_change_request_g2p_phone_number_applicator,G2P Phone Number CR Applicator Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_applicator,1,1,1,0
108113
spp_change_request_g2p_reg_id_applicator,G2P Registrant ID CR Applicator Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_applicator,1,1,1,0
109114
spp_change_request_cancel_wizard_applicator,Change Request Cancel Applicator Access,spp_change_request.model_spp_change_request_cancel_wizard,spp_change_request.group_spp_change_request_applicator,1,1,1,1
115+
spp_change_request_targets_applicator,Change Request Targets Applicator Access,spp_change_request.model_spp_change_request_targets,spp_change_request.group_spp_change_request_applicator,1,1,1,0
110116

111117
spp_dms_directory_applicator,SPP DMS Directory Applicator Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_applicator,1,0,0,0
112118
spp_dms_category_applicator,SPP DMS Category Applicator Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_applicator,1,0,0,0
@@ -129,6 +135,7 @@ spp_change_request_g2p_group_membership_kind_agent,G2P Group Membership Kind Age
129135
spp_change_request_g2p_reg_rel_agent,G2P Registry Relationship CR Agent Access,g2p_registry_base.model_g2p_reg_rel,spp_change_request.group_spp_change_request_agent,1,0,0,0
130136
spp_change_request_g2p_phone_number_agent,G2P Phone Number CR Agent Access,g2p_registry_base.model_g2p_phone_number,spp_change_request.group_spp_change_request_agent,1,0,0,0
131137
spp_change_request_g2p_reg_id_agent,G2P Registrant ID CR Agent Access,g2p_registry_base.model_g2p_reg_id,spp_change_request.group_spp_change_request_agent,1,0,0,0
138+
spp_change_request_targets_agent,Change Request Targets Agent Access,spp_change_request.model_spp_change_request_targets,spp_change_request.group_spp_change_request_agent,1,0,0,0
132139

133140
spp_dms_directory_agent,SPP DMS Directory Agent Access,spp_dms.model_spp_dms_directory,spp_change_request.group_spp_change_request_agent,1,1,1,0
134141
spp_dms_category_agent,SPP DMS Category Agent Access,spp_dms.model_spp_dms_category,spp_change_request.group_spp_change_request_agent,1,0,0,0

spp_change_request/views/change_request_view.xml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,16 @@ Part of OpenSPP. See LICENSE file for full copyright and licensing details.
176176
<h2>
177177
<field name="request_type" readonly="state != 'draft' or request_type_ref_id" />
178178
</h2>
179+
<field name="request_type_target" invisible="1" />
180+
<field name="registrant_id_domain" invisible="1" />
179181
<label for="registrant_id" string="Registrant:" />
180182
<h2>
181183
<field
182184
name="registrant_id"
183185
options="{'no_create': True,'no_open':True}"
184186
readonly="state != 'draft' or request_type_ref_id"
185187
class="oe_inline"
188+
domain="registrant_id_domain"
186189
/>
187190
<!-- <field
188191
name="qr_code_details"

spp_change_request_add_children_demo/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
"data/dms.xml",
2323
"data/change_request_stage.xml",
2424
"data/change_request_sequence.xml",
25+
"data/change_request_target.xml",
2526
"views/change_request_add_children_view.xml",
2627
"views/dms_file_view.xml",
2728
],
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!--
3+
Part of OpenSPP. See LICENSE file for full copyright and licensing details.
4+
-->
5+
<odoo noupdate="0">
6+
7+
<record id="spp_cr_add_children_target" model="spp.change.request.targets">
8+
<field name="name">spp.change.request.add.children</field>
9+
<field name="target">group</field>
10+
</record>
11+
12+
</odoo>

spp_change_request_add_farmer/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"data/dms.xml",
2424
"data/change_request_stage.xml",
2525
"data/change_request_sequence.xml",
26+
"data/change_request_target.xml",
2627
"views/change_request_add_farmer_view.xml",
2728
"views/dms_file_view.xml",
2829
],
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<!--
3+
Part of OpenSPP. See LICENSE file for full copyright and licensing details.
4+
-->
5+
<odoo noupdate="0">
6+
7+
<record id="spp_cr_add_farmer_target" model="spp.change.request.targets">
8+
<field name="name">spp.change.request.add.farmer</field>
9+
<field name="target">group</field>
10+
</record>
11+
12+
</odoo>

spp_change_request_change_info/__manifest__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"data/dms.xml",
2222
"data/change_request_stage.xml",
2323
"data/change_request_sequence.xml",
24+
"data/change_request_target.xml",
2425
"views/change_request_change_info_view.xml",
2526
"views/dms_file_view.xml",
2627
],

0 commit comments

Comments
 (0)