[IMP] odex_benefit: Add Researcher Supervisor security group and related record rules for Family Member

This commit is contained in:
younes 2025-10-20 08:59:45 +01:00
parent c2906bf12e
commit 308bbac2e6
3 changed files with 50 additions and 15 deletions

View File

@ -16488,3 +16488,8 @@ msgstr "اعتماد إدارة المشاريع"
msgid "Beneficiary Approve"
msgstr "اعتماد مساعد المدير العام"
#. module: odex_benefit
#: model:res.groups,name:odex_benefit.group_benefit_supervisor
msgid "Researcher Supervisor"
msgstr "مشرف الأخصائي"

View File

@ -233,16 +233,6 @@ class ServiceRequest(models.Model):
rec.attachment_lines = commands
@api.model
def search(self, args, offset=0, limit=None, order=None, count=False):
if self.env.user and self.env.user.id and self.env.user.has_group("odex_benefit.group_benefit_accountant_accept")\
and not self.env.user.has_group("odex_benefit.group_benefit_payment_accountant_accept") :
args += [('accountant_id', '=', self.env.user.id)]
if self.env.user and self.env.user.id and self.env.user.has_group("odex_benefit.group_benefit_accountant_accept")\
and self.env.user.has_group("odex_benefit.group_benefit_payment_accountant_accept") :
args += []
return super(ServiceRequest, self).search(args, offset, limit, order, count)
@api.model
def create(self, vals):
# Define the list of fields to check

View File

@ -64,6 +64,13 @@
<field name="implied_ids" eval="[(4, ref('group_benefit_info'))]"/>
</record>
<record id="group_benefit_supervisor" model="res.groups">
<field name="name">Researcher Supervisor</field>
<field name="category_id" ref="module_category_benefit"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
<field name="implied_ids" eval="[(4, ref('group_benefit_researcher'))]"/>
</record>
<record id="group_benefit_woman_commitee" model="res.groups">
<field name="name">Head of the Women's Committee</field>
<field name="category_id" ref="module_category_benefit"/>
@ -143,7 +150,7 @@
<field name="name">Show All Benefits Profiles</field>
<field name="model_id" ref="model_grant_benefit"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_benefit_manager'))]"/>
<field name="groups" eval="[(4, ref('group_benefit_manager')),(4, ref('group_benefit_supervisor'))]"/>
<field name="active" eval="True" />
</record>
@ -176,7 +183,7 @@
<field name="name">Show All Visit Location</field>
<field name="model_id" ref="model_visit_location"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_benefit_manager'))]"/>
<field name="groups" eval="[(4, ref('group_benefit_manager')),(4, ref('group_benefit_supervisor'))]"/>
<field name="active" eval="True" />
</record>
@ -224,7 +231,7 @@
<field name="name">Show All Family Complaints</field>
<field name="model_id" ref="model_family_complaints"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_benefit_manager'))]"/>
<field name="groups" eval="[(4, ref('group_benefit_manager')),(4, ref('group_benefit_supervisor'))]"/>
<field name="active" eval="True" />
</record>
@ -261,8 +268,8 @@
<field name="name">Show All Service Requests</field>
<field name="model_id" ref="model_service_request"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_benefit_requests_manager'))]"/>
<field name="active" eval="True" />
<field name="groups" eval="[(4, ref('group_benefit_requests_manager')),(4, ref('group_benefit_supervisor')),(4, ref('group_benefit_accountant_accept')),(4, ref('group_benefit_payment_accountant_accept'))]"/>
<field name="active" eval="True"/>
</record>
<record id="service_request_restrict_only_created_by_rule" model="ir.rule">
@ -296,5 +303,38 @@
<field name="domain_force">[('service_cat.needs_legal_approval', '=', True)]</field>
<field name="active" eval="True"/>
</record>
<!-- Add rules for family.member -->
<record id="family_member_show_all_rule" model="ir.rule">
<field name="name">Show All Family Members</field>
<field name="model_id" ref="model_family_member"/>
<field name="domain_force">[(1, '=', 1)]</field>
<field name="groups" eval="[(4, ref('group_benefit_manager')),(4, ref('group_benefit_supervisor'))]"/>
<field name="active" eval="True" />
</record>
<record id="family_member_rule_branch_manager" model="ir.rule">
<field name="name">Show Family Members of Own Branch</field>
<field name="model_id" ref="model_family_member"/>
<field name="domain_force">[('benefit_id.branch_custom_id.branch.manager_id', '=', user.employee_id.id)]</field>
<field name="groups" eval="[(4, ref('group_benefit_branch_manager'))]"/>
<field name="active" eval="True" />
</record>
<record id="family_member_rule_operation_manager" model="ir.rule">
<field name="name">Show Family Members of Assigned Branch (Operations Manager)</field>
<field name="model_id" ref="model_family_member"/>
<field name="domain_force">[('benefit_id.branch_custom_id.branch.operation_manager_id', '=', user.employee_id.id)]</field>
<field name="groups" eval="[(4, ref('group_benefit_woman_commitee'))]"/>
<field name="active" eval="True" />
</record>
<record id="family_member_rule_researcher" model="ir.rule">
<field name="name">Show Family Members Created or Assigned (Researcher)</field>
<field name="model_id" ref="model_family_member"/>
<field name="domain_force">['|', ('create_uid','=',user.id),('benefit_id.researcher_id.employee_id', 'in', user.employee_id.ids)]</field>
<field name="groups" eval="[(4, ref('group_benefit_researcher'))]"/>
<field name="active" eval="True" />
</record>
</data>
</odoo>