IMP benefit

This commit is contained in:
younes 2025-08-18 12:39:47 +01:00
parent 5a0f672866
commit ef6dfa7515
9 changed files with 120 additions and 91 deletions

View File

@ -2505,8 +2505,8 @@ msgstr ""
#. module: odex_benefit
#: model:ir.actions.act_window,name:odex_benefit.grant_benefit_dashboard_action
msgid "Benefits Dashboard"
msgstr "لوحة معلومات"
msgid "Family Profile"
msgstr "ملفات الاسر"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_generate_reports__benefits_need_ids
@ -3848,8 +3848,8 @@ msgstr "رتبة العميل"
#. module: odex_benefit
#: model:ir.ui.menu,name:odex_benefit.benefit_dashboard_menu
msgid "Dashboard"
msgstr "لوحات المعلومات"
msgid "Family Profile"
msgstr "ملفات الاسر"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_benefit_zkat_line__date
@ -10453,6 +10453,7 @@ msgstr "طلبات الخدمات"
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__services_settings_id
#: model:ir.model.fields,field_description:odex_benefit.field_rent_lines__services_settings_id
#: model:ir.ui.menu,name:odex_benefit.services_settings_menu
#: model:ir.ui.menu,name:odex_benefit.benefit_tools_services_settings_menu
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_tree
msgid "Services Settings"
@ -14683,21 +14684,25 @@ msgstr "اسم مقدم الطلب"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__new
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search
msgid "Researcher Assignment"
msgstr "اسناد الاخصائي"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__complete_info
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search
msgid "Waiting for Researcher"
msgstr "بانتظار الاخصائي"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__waiting_approve
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search
msgid "Waiting for Operation Manager"
msgstr "بانتظار رئيسة العمليات"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__grant_benefit__state__first_approve
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_search
msgid "Waiting for Branch Manager"
msgstr "بانتظار مدير الفرع"

View File

@ -1093,6 +1093,9 @@ class GrantBenefitProfile(models.Model):
if not force_unlink and record.state not in ['draft']:
raise UserError(_('You cannot delete this record'))
if record.member_ids:
record.member_ids.unlink()
if not skip_user and record.user_id:
other_benefits = self.env['grant.benefit'].search([
('user_id', '=', record.user_id.id),

View File

@ -7,7 +7,7 @@ class EducationStatus(models.Model):
mother_grant_benefit_id = fields.Many2one('grant.benefit', string='Grant Benefit')
replacement_grant_benefit_id = fields.Many2one('grant.benefit', string='Grant Benefit')
family_member_id = fields.Many2one('family.member', string='Grant Benefit',ondelete="restrict")
family_member_id = fields.Many2one('family.member', string='Grant Benefit')
name = fields.Char(
string="Sequence",

View File

@ -293,6 +293,24 @@ class FamilyMemberProfile(models.Model):
for order in self:
if order.state not in ['draft']:
raise UserError(_('You cannot delete this record'))
# if order.attachment_ids:
# order.attachment_ids.unlink()
# if order.hobbies_attachment_ids:
# order.hobbies_attachment_ids.unlink()
# if order.diseases_attachment_ids:
# order.diseases_attachment_ids.unlink()
# if order.disabilities_attachment_ids:
# order.disabilities_attachment_ids.unlink()
self.env['ir.attachment'].search([('member_id', 'in', order.id)]).unlink()
if order.hobbies_ids:
order.hobbies_ids.unlink()
if order.diseases_ids:
order.diseases_ids.unlink()
if order.disabilities_ids:
order.disabilities_ids.unlink()
if order.member_education_status_ids:
order.member_education_status_ids.unlink()
return super(FamilyMemberProfile, self).unlink()
@api.depends('is_member_workflow', 'benefit_id.state','state_a')

View File

@ -4,7 +4,7 @@ class MemberDisabilities(models.Model):
_name = 'member.disabilities'
name = fields.Char(string="Name")
member_id = fields.Many2one('family.member',string="Member",ondelete="restrict")
member_id = fields.Many2one('family.member',string="Member")
disabilities_id = fields.Many2one('disabilities.settings', string="disability")
disability_attach = fields.Binary(attachment=True, string="disability Attach")
expiration_date = fields.Date(string='Expiration date')

View File

@ -4,7 +4,7 @@ class MemberDiseases(models.Model):
_name = 'member.diseases'
name = fields.Char(string="Name")
member_id = fields.Many2one('family.member',string="Member",ondelete="restrict")
member_id = fields.Many2one('family.member',string="Member")
diseases_id = fields.Many2one('diseases.settings', string="Disease")
disease_attach = fields.Binary(attachment=True, string="Diseases Attach")
expiration_date = fields.Date(string='Expiration date')

View File

@ -4,7 +4,7 @@ class MemberHobbies(models.Model):
_name = 'member.hobbies'
name = fields.Char(string="Name")
member_id = fields.Many2one('family.member',string="Member",ondelete="restrict")
member_id = fields.Many2one('family.member',string="Member")
hobbies_id = fields.Many2one('hobbies.settings',string="Hobby")
hobby_attach = fields.Binary(attachment=True,string="Hobby Attach")
expiration_date = fields.Date(string='Expiration date')

View File

@ -3,7 +3,7 @@
<!--Benefit Actions-->
<record model="ir.actions.act_window" id="grant_benefit_dashboard_action">
<field name="name">Benefits Dashboard</field>
<field name="name">Family Profile</field>
<field name="res_model">grant.benefit</field>
<!-- <field name="view_type">form</field>-->
<field name="view_mode">kanban,form,tree,activity,google_map</field>
@ -766,10 +766,10 @@
<!--البحث الاجتماعي-->
<menuitem id='social_search_menu' name='social search' parent='benefits_root_menu'
sequence="2"/>
<menuitem id='change_requests_menu' name='Change Requests' parent='benefits_root_menu'
sequence="3"/>
<!-- <menuitem id='change_requests_menu' name='Change Requests' parent='social_search_menu'-->
<!-- sequence="3"/>-->
<menuitem id='benefit_services' name='Services'
parent="benefits_root_menu" sequence="7"/>
parent="benefits_root_menu" sequence="3"/>
<!-- family complaints -->
<menuitem id='family_complaints_menu' name='شكاوى عائلية ' parent='benefits_root_menu'
sequence="3"/>
@ -779,25 +779,25 @@
<!--#ملفات المستفيدين-->
<!--#طلب تسجيل مستفيد مبدئ-->
<menuitem id="benefit_dashboard_menu" name="Dashboard"
<menuitem id="benefit_dashboard_menu" name="Family Profile"
parent="benefit_main_menu" action="grant_benefit_dashboard_action" sequence="0"/>
<menuitem id="benefit_draft_menu" name="Beneficiaries To Draft"
parent="benefit_main_menu" action="grant_benefit_list_draft_action" sequence="1"/>
<!-- <menuitem id="benefit_draft_menu" name="Beneficiaries To Draft"-->
<!-- parent="benefit_main_menu" action="grant_benefit_list_draft_action" sequence="1"/>-->
<!-- #تسجيل البيانات التفصلية للمستفيدين-->
<menuitem id="benefit_to_complete_menu" name="Beneficiaries To Complete"
parent="benefit_main_menu" action="grant_benefit_list_complete_action" sequence="2"/>
<!-- #ملفات في انتظار الاعتماد-->
<menuitem id="benefit_waiting_approve_menu" name="Beneficiaries To Waiting Approve"
parent="benefit_main_menu" action="grant_benefit_to_waiting_approve_action" sequence="3"/>
<!--#ملفات معتمده-->
<menuitem id="benefit_approve_menu" name="Beneficiaries Approve"
parent="benefit_main_menu" action="grant_benefit_approve_action" sequence="4"/>
<!-- #ملفات مستبعده-->
<menuitem id="benefit_reject_menu" name="Beneficiaries Reject"
parent="benefit_main_menu" action="grant_benefit_reject_action" sequence="5"/>
<!--#ملفات في القائمة السوداء-->
<menuitem id="benefit_black_list_menu" name="Beneficiaries Black List"
parent="benefit_main_menu" action="grant_benefit_black_list_action" sequence="6"/>
<!-- <menuitem id="benefit_to_complete_menu" name="Beneficiaries To Complete"-->
<!-- parent="benefit_main_menu" action="grant_benefit_list_complete_action" sequence="2"/>-->
<!-- &lt;!&ndash; #ملفات في انتظار الاعتماد&ndash;&gt;-->
<!-- <menuitem id="benefit_waiting_approve_menu" name="Beneficiaries To Waiting Approve"-->
<!-- parent="benefit_main_menu" action="grant_benefit_to_waiting_approve_action" sequence="3"/>-->
<!-- &lt;!&ndash;#ملفات معتمده&ndash;&gt;-->
<!-- <menuitem id="benefit_approve_menu" name="Beneficiaries Approve"-->
<!-- parent="benefit_main_menu" action="grant_benefit_approve_action" sequence="4"/>-->
<!-- &lt;!&ndash; #ملفات مستبعده&ndash;&gt;-->
<!-- <menuitem id="benefit_reject_menu" name="Beneficiaries Reject"-->
<!-- parent="benefit_main_menu" action="grant_benefit_reject_action" sequence="5"/>-->
<!-- &lt;!&ndash;#ملفات في القائمة السوداء&ndash;&gt;-->
<!-- <menuitem id="benefit_black_list_menu" name="Beneficiaries Black List"-->
<!-- parent="benefit_main_menu" action="grant_benefit_black_list_action" sequence="6"/>-->
<!-- <menuitem id="benefit_to_accept_menu" name="Beneficiaries To Accept"-->
<!-- parent="benefit_main_menu" action="grant_benefit_to_accept_action" sequence="1"/>-->
@ -825,12 +825,12 @@
<menuitem id='social_search_combined' name='committees combined' parent='social_search_menu'
action="committees_combined_action"
sequence="3"/>
<menuitem id='changes_requests_men' name='Changes Requests' parent='change_requests_menu'
<menuitem id='changes_requests_men' name='Changes Requests' parent='social_search_menu'
action="changes_requests_action"
sequence="4"/>
<!-- <menuitem id="benefit_generate_needs" name="needs Screen" parent="benefits_root_menu"-->
<!-- action="benefit_benefits_needs_action_2" sequence="5"/>-->
<menuitem id="visits_menu" name="Visits" parent="benefits_root_menu"
<menuitem id="visits_menu" name="Visits" parent="social_search_menu"
action="visits_action" sequence="5"/>
<!-- <menuitem id='benefit_report' name='Reports' parent='benefits_root_menu'-->
<!-- sequence="6"/>-->
@ -1017,19 +1017,22 @@
<!--##########################################-->
<!-- Benefit Services menu-->
<!--##########################################-->
<!-- <menuitem id="services_settings_menu" name="Services Settings" sequence="100"-->
<!-- parent="odex_benefit.benefit_services"/>-->
<menuitem id="benefit_tools_services_settings_menu" name="Services Settings"
parent="odex_benefit.benefit_tools" sequence="4"/>
<menuitem id="services_settings_menu" name="Services Settings" sequence="100"
parent="odex_benefit.benefit_services"/>
<menuitem id="services_settings_menu" name="Services Settings" sequence="100"
parent="odex_benefit.benefit_services" action="services_settings_action" groups="odex_benefit.group_benefit_manager"/>
parent="odex_benefit.benefit_tools_services_settings_menu" action="services_settings_action" groups="odex_benefit.group_benefit_manager"/>
<menuitem id="services_requests_menu" name="Services Requests" sequence="2"
parent="odex_benefit.benefit_services" action="service_request_action"/>
<menuitem id="menu_service_request_accounting_accept" name="Services Requests" parent="account.menu_finance_payables"
action="service_request_accounting_action" sequence="9"/>
<menuitem id="family_member_main_menu" name="Family Members"
parent="benefits_root_menu" sequence="2"/>
<!-- <menuitem id="family_member_main_menu" name="Family Members"-->
<!-- parent="benefits_root_menu" sequence="2"/>-->
<menuitem id="family_member_menu" name="Family Members"
parent="family_member_main_menu" action="family_member_action" sequence="0"/>
parent="benefit_main_menu" action="family_member_action" sequence="0"/>
<menuitem id="education_main_menu" name="Education Settings"
parent="odex_benefit.benefit_tools" sequence="3"/>
<menuitem id="education_entities_menu" name="Education Entities"

View File

@ -738,48 +738,6 @@
</tree>
</field>
</page>
<page string="Bank Account Information" groups="odex_benefit.group_benefit_bank_info">
<form>
<sheet>
<group>
<group>
<field name="is_family_member"/>
<field name="account_relation"
attrs="{'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
options='{"no_open": True,"no_create_edit": True}'
groups="!odex_benefit.group_benefit_manager"/>
<label for="acc_number"/>
<div class="o_row">
<field name="acc_number" width="100%"
attrs="{'required':[('state','in',['first_approve'])],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"/>
<field name="sa_iban"/>
</div>
<field name="iban_document"
attrs="{'required':[('state','in',['first_approve'])], 'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
</group>
<group>
<field name="bank_id"
attrs="{'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="acc_holder_name"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve']),('is_family_member','=',False)]}"/>
<field name="family_member_id"
attrs="{'invisible':[('is_family_member','=',False)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve']),('is_family_member','=',True)]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="owner_identity_attachment_ids"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
<field name="family_approval_attachment_ids"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
</group>
</group>
</sheet>
</form>
</page>
<page string="Housing information">
<form string="Housing">
<sheet>
@ -1147,6 +1105,48 @@
attrs="{'required':[('state','not in',['draft','new'])]}"/>
</group>
</page>
<page string="Bank Account Information" groups="odex_benefit.group_benefit_bank_info">
<form>
<sheet>
<group>
<group>
<field name="is_family_member"/>
<field name="account_relation"
attrs="{'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
options='{"no_open": True,"no_create_edit": True}'
groups="!odex_benefit.group_benefit_manager"/>
<label for="acc_number"/>
<div class="o_row">
<field name="acc_number" width="100%"
attrs="{'required':[('state','in',['first_approve'])],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"/>
<field name="sa_iban"/>
</div>
<field name="iban_document"
attrs="{'required':[('state','in',['first_approve'])], 'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
</group>
<group>
<field name="bank_id"
attrs="{'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve'])]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="acc_holder_name"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve']),('is_family_member','=',False)]}"/>
<field name="family_member_id"
attrs="{'invisible':[('is_family_member','=',False)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])],'required':[('state','in',['first_approve']),('is_family_member','=',True)]}"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="owner_identity_attachment_ids"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
<field name="family_approval_attachment_ids"
attrs="{'invisible':[('is_family_member','=',True)],'readonly':[('state','not in',['complete_info','waiting_approve','first_approve'])]}"
widget="many2many_attachment_preview"/>
</group>
</group>
</sheet>
</form>
</page>
<page string="First Refusal Reason"
attrs="{'invisible': [('state', 'not in', ['first_refusal'])]}">
<group>
@ -1417,34 +1417,34 @@
<field name="code"/>
<group string="Group By">
<filter string="Branch" name="branch_custom_id" context="{'group_by': 'branch_custom_id'}"/>
<filter string="Suspend Type" name="suspend_type" context="{'group_by': 'suspend_type'}"/>
<filter string="Suspend Method" name="suspend_method" context="{'group_by': 'suspend_method'}"/>
<filter string="Family Category" name="benefit_category_id"
context="{'group_by': 'benefit_category_id'}"/>
<filter string="State" name="state" context="{'group_by': 'state'}"/>
<filter string="Researcher" name="researcher_id" context="{'group_by': 'researcher_id'}"/>
<separator/>
<filter string="Suspend Type" name="suspend_type" context="{'group_by': 'suspend_type'}"/>
<filter string="Suspend Method" name="suspend_method" context="{'group_by': 'suspend_method'}"/>
</group>
<separator/>
<filter string="Researcher Assignment" name="new"
domain="[('state','=','new')]"/>
<filter string="Waiting for Researcher" name="complete_info"
domain="[('state','=','complete_info')]"/>
<filter string="Waiting for Operation Manager" name="waiting_approve"
domain="[('state','=','waiting_approve')]"/>
<filter string="Waiting for Branch Manager" name="first_approve"
domain="[('state','=','first_approve')]"/>
<separator/>
<filter string="Temporarily Suspended" name="temporarily_suspended"
domain="[('state','=','temporarily_suspended')]"/>
<separator/>
<separator/>
<filter string="Suspended First Approve" name="suspended_first_approve"
domain="[('state', '=', 'suspended_first_approve')]"/>
<separator/>
<separator/>
<filter string="Suspended Second Approve" name="suspended_second_approve"
domain="[('state', '=', 'suspended_second_approve')]"/>
<separator/>
<separator/>
<filter string="Manual Suspended" name="manual_suspend"
domain="[('suspend_method', '=', 'manual')]"/>
<separator/>
<separator/>
<filter string="Auto Suspended" name="auto_suspend" domain="[('suspend_method', '=', 'auto')]"/>
<separator/>
<filter string="New" name="new" domain="[('state', '=', 'new')]"/>
<separator/>
</search>
</field>
</record>