Skip to content
This repository was archived by the owner on Mar 28, 2024. It is now read-only.

Commit ac8afe9

Browse files
committed
[UPD] improving function
1 parent 9806346 commit ac8afe9

File tree

1 file changed

+49
-41
lines changed

1 file changed

+49
-41
lines changed

Diff for: spp_programs_compliance_criteria/wizards/g2p_program_create_wizard.py

+49-41
Original file line numberDiff line numberDiff line change
@@ -85,47 +85,11 @@ def _create_compliance_manager(self, program):
8585
self.ensure_one()
8686
program.ensure_one()
8787
self._check_compliance_manager_info()
88-
if self.compliance_kind == "g2p.program_membership.manager.default":
89-
manager = (
90-
self.env[self.compliance_kind]
91-
.sudo()
92-
.create(
93-
{
94-
"name": "Default",
95-
"program_id": program.id,
96-
"admin_area_ids": [(6, 0, self.admin_area_ids.ids)],
97-
"eligibility_domain": self.compliance_domain,
98-
}
99-
)
100-
)
101-
elif self.compliance_kind == "g2p.program_membership.manager.sql":
102-
manager = (
103-
self.env[self.compliance_kind]
104-
.sudo()
105-
.create(
106-
{
107-
"name": "SQL Query",
108-
"program_id": program.id,
109-
"sql_query": self.compliance_sql,
110-
"sql_query_valid": "valid",
111-
"sql_query_valid_message": "",
112-
"sql_record_count": 0,
113-
}
114-
)
115-
)
116-
elif self.compliance_kind == "g2p.program_membership.manager.tags":
117-
manager = (
118-
self.env[self.compliance_kind]
119-
.sudo()
120-
.create(
121-
{
122-
"name": "Tags Manager",
123-
"program_id": program.id,
124-
"tags_id": self.compliance_tag_id.id,
125-
"area_id": self.area_id.id,
126-
}
127-
)
128-
)
88+
manager = (
89+
self.env[self.compliance_kind]
90+
.sudo()
91+
.create(self._prepare_compliance_criteria_create_vals(program))
92+
)
12993
program.write(
13094
{
13195
"compliance_managers": [
@@ -140,3 +104,47 @@ def _create_compliance_manager(self, program):
140104
],
141105
}
142106
)
107+
108+
def _prepare_compliance_criteria_create_vals(self, program):
109+
"""
110+
Preparing vals for creating compliance criteria manager for new program.
111+
112+
:param program: instance of g2p.program()
113+
:return (dictionary): create vals for compliance criteria manager
114+
:raise: NotImplementedError for compliance_kind not yet existed
115+
116+
How to inherit this function:
117+
```python
118+
def _prepare_compliance_criteria_create_vals(self, program):
119+
if self.compliance_kind = "new.manager.type":
120+
return {
121+
"key": "value",
122+
...
123+
}
124+
return super()._prepare_compliance_criteria_create_vals(program)
125+
```
126+
"""
127+
if self.compliance_kind == "g2p.program_membership.manager.default":
128+
return {
129+
"name": "Default",
130+
"program_id": program.id,
131+
"admin_area_ids": [(6, 0, self.admin_area_ids.ids)],
132+
"eligibility_domain": self.compliance_domain,
133+
}
134+
elif self.compliance_kind == "g2p.program_membership.manager.sql":
135+
return {
136+
"name": "SQL Query",
137+
"program_id": program.id,
138+
"sql_query": self.compliance_sql,
139+
"sql_query_valid": "valid",
140+
"sql_query_valid_message": "",
141+
"sql_record_count": 0,
142+
}
143+
elif self.compliance_kind == "g2p.program_membership.manager.tags":
144+
return {
145+
"name": "Tags Manager",
146+
"program_id": program.id,
147+
"tags_id": self.compliance_tag_id.id,
148+
"area_id": self.area_id.id,
149+
}
150+
raise NotImplementedError()

0 commit comments

Comments
 (0)