Merge pull request #4336 from expsa/younes_dev_odex25_ensan

Younes dev odex25 ensan
This commit is contained in:
kchyounes19 2025-08-26 14:03:01 +01:00 committed by GitHub
commit 85a7aa4b68
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 325 additions and 186 deletions

View File

@ -5226,9 +5226,16 @@ msgstr "التغذية الشهرية للأسرة"
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__family_name
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__family_name
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__family_name
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Family Name"
msgstr "اسم الأسرة"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.family_member_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Member Name"
msgstr "اسم الفرد"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_generate_reports__family_need_ids
msgid "Family Need"
@ -5412,6 +5419,8 @@ msgstr "الاعتماد المبدئي"
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__first_name
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__first_name
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__first_name
#: model_terms:ir.ui.view,arch_db:odex_benefit.family_member_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "First Name"
msgstr "الاسم الاول"
@ -8234,6 +8243,11 @@ msgstr "الحالة الاجتماعية"
msgid "Mother Name"
msgstr "الاسم الأول للأم"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Mother Name"
msgstr "اسم الأم"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_country_id
msgid "Mother Nationality"
@ -9924,6 +9938,11 @@ msgstr "الحالة الاجتماعية للأم البديلة"
msgid "Replacement Mother Name"
msgstr "الاسم الاول"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Replacement Mother Name"
msgstr "اسم الام البديلة"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_country_id
msgid "Replacement Mother Nationality"
@ -10357,6 +10376,8 @@ msgstr "الاعتماد النهائي"
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__second_name
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__second_name
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__second_name
#: model_terms:ir.ui.view,arch_db:odex_benefit.family_member_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Second Name"
msgstr "الاسم الثاني"
@ -11321,6 +11342,8 @@ msgstr ""
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__middle_name
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__middle_name
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__middle_name
#: model_terms:ir.ui.view,arch_db:odex_benefit.family_member_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Third Name"
msgstr "الاسم الثالث"

View File

@ -5,6 +5,7 @@ access_benefit_branch_manager_record,access_benefit_branch_manager_record,model_
access_benefit_manager_record,access_benefit_manager_record,model_grant_benefit,odex_benefit.group_benefit_manager,1,1,1,1
access_benefit_edit_record,access_benefit_edit_record,model_grant_benefit,odex_benefit.group_benefit_edit,1,1,1,1
access_education_status_all,education_status,model_education_status,odex_benefit.group_benefit_info,1,1,1,1
access_education_status_all,education_status,model_education_status,,1,0,0,0
access_weak_course_all,weak_course,model_weak_course,odex_benefit.group_benefit_info,1,1,1,1
access_benefit_family_record,access_benefit_family_record,model_benefit_family,,1,1,1,0
access_benefit_record_city,access_benefit_record_city,model_res_country_city,,1,1,0,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
5 access_benefit_manager_record access_benefit_manager_record model_grant_benefit odex_benefit.group_benefit_manager 1 1 1 1
6 access_benefit_edit_record access_benefit_edit_record model_grant_benefit odex_benefit.group_benefit_edit 1 1 1 1
7 access_education_status_all education_status model_education_status odex_benefit.group_benefit_info 1 1 1 1
8 access_education_status_all education_status model_education_status 1 0 0 0
9 access_weak_course_all weak_course model_weak_course odex_benefit.group_benefit_info 1 1 1 1
10 access_benefit_family_record access_benefit_family_record model_benefit_family 1 1 1 0
11 access_benefit_record_city access_benefit_record_city model_res_country_city 1 1 0 0

View File

@ -91,6 +91,16 @@
decoration-info="state not in ('waiting_approve','draft','new','first_approve', 'second_approve','first_refusal','refused','suspended_second_approve')"/>
</strong>
</div>
<div>
<strong>نوع الاجراء:
<field name="action_type" widget="badge"
decoration-success="action_type in ['first_approve', 'second_approve']"
decoration-muted="action_type in ['draft','new']"
decoration-danger="action_type in ['refused','suspended_second_approve']"
decoration-warning="action_type in ['first_refusal','waiting_approve']"
decoration-info="action_type not in ('waiting_approve','draft','new','first_approve', 'second_approve','first_refusal','refused','suspended_second_approve')"/>
</strong>
</div>
</div>
</div>
</t>
@ -335,34 +345,26 @@
</group>
<notebook>
<page string="Father Information">
<h3>Father</h3>
<h2>
<label for="father_name" string="Father Name"/>
<div class="col-md-7">
<div class="row">
<div class="col-md-3">
<field name="father_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
<div class="col-md-3">
<field name="father_second_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
<div class="col-md-3">
<field name="father_third_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
<div class="col-md-3">
<field name="father_family_name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
<group>
<group>
<label for="father_name" string="Father Name"/>
<div class="o_row">
<field name="father_name" placeholder="First Name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_second_name" placeholder="Second Name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_third_name" placeholder="Third Name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
<field name="father_family_name" placeholder="Family Name"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" nolabel="1"/>
</div>
</div>
</h2>
</group>
<group/>
</group>
<group>
<group>
<field name="father_dead_reason"
@ -399,11 +401,26 @@
</group>
</page>
<page string="Mother">
<h3>Mother</h3>
<widget name="web_ribbon" title="Non Benefit Mother" bg_color="bg-danger"
attrs="{'invisible': [('mother_status', '!=', 'non_benefit')]}"/>
<widget name="web_ribbon" title="Benefit Mother" bg_color="bg-success"
attrs="{'invisible': [('mother_status', '!=', 'benefit')]}"/>
<group>
<group>
<label for="mother_name" string="Mother Name"/>
<div class="o_row">
<field name="mother_name" nolabel="1" placeholder="First Name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_second_name" nolabel="1" placeholder="Second Name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_third_name" nolabel="1" placeholder="Third Name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_family_name" nolabel="1" placeholder="Family Name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</div>
</group>
<group/>
</group>
<group>
<group>
<field name="add_replacement_mother"
@ -411,10 +428,6 @@
<field name="mother_relation" class="oe_inline" invisible="1"/>
<field name="mother_relationn" class="oe_inline"
options='{"no_open": True,"no_create_edit": True}' invisible="1"/>
<field name="mother_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_second_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_id_number"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
@ -433,10 +446,6 @@
decoration-danger="mother_status == 'non_benefit'"/>
</group>
<group>
<field name="mother_third_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_family_name"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
@ -479,20 +488,34 @@
</page>
<page string="Replacement Mother"
attrs="{'invisible':[('add_replacement_mother','=',False)]}">
<h3>Replacement Mother</h3>
<widget name="web_ribbon" title="Non Benefit Replacement Mother" bg_color="bg-danger"
attrs="{'invisible': [('replacement_mother_status', '!=', 'non_benefit')]}"/>
<widget name="web_ribbon" title="Benefit Replacement Mother" bg_color="bg-success"
attrs="{'invisible': [('replacement_mother_status', '!=', 'benefit')]}"/>
<group>
<group>
<label for="replacement_mother_name" string="Replacement Mother Name"/>
<div class="o_row">
<field name="replacement_mother_name" nolabel="1" placeholder="First Name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_second_name" nolabel="1"
placeholder="Second Name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_third_name" nolabel="1"
placeholder="Third Name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_family_name" nolabel="1"
placeholder="Family Name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</div>
</group>
<group/>
</group>
<group>
<group>
<field name="replacement_mother_relation" class="oe_inline"
options='{"no_open": True,"no_create_edit": True}'
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_second_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_id_number"
attrs="{'required':[('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_id_number_type"
@ -508,10 +531,6 @@
decoration-danger="replacement_mother_status == 'non_benefit'"/>
</group>
<group>
<field name="replacement_mother_third_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_family_name"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_marital_conf"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
@ -575,14 +594,26 @@
<field name="relation" class="oe_inline" nolabel="1" invisible="1"/>
</div>
</group>
<group>
<group>
<label for="member_first_name" string="Member Name"/>
<div class="o_row">
<field name="member_first_name" force_save="1" nolabel="1" placeholder="First Name"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="member_second_name" force_save="1" nolabel="1" placeholder="Second Name"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="member_third_name" force_save="1" nolabel="1" placeholder="Third Name"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="member_family_name" force_save="1" nolabel="1" placeholder="Famil yname"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
</div>
</group>
<group/>
</group>
<group>
<group>
<field placeholder="Name" name="name" class="oe_inline" readonly="1"
force_save="1" invisible="1"/>
<field name="member_first_name" force_save="1"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="member_third_name" force_save="1"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="is_mother" invisible="1"/>
<field name="mother_first_name" force_save="1"
attrs="{'invisible':[('is_mother','=',False)],'required':[('is_mother','=',True)]}"/>
@ -596,10 +627,6 @@
attrs="{'invisible':[('is_mother','=',True)]}"/>
</group>
<group>
<field name="member_second_name" force_save="1"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="member_family_name" force_save="1"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
<field name="mother_second_name" force_save="1"
attrs="{'invisible':[('is_mother','=',False)],'required':[('is_mother','=',True)]}"/>
<field name="mother_family_name" force_save="1"

View File

@ -4,107 +4,162 @@
<field name="name">family.member.form</field>
<field name="model">family.member</field>
<field name="arch" type="xml">
<form string="Family Member">
<header>
<form string="Family Member">
<header>
<button name="action_suspend" type="object"
string="Temporarily Suspended" class="oe_highlight"
attrs="{'invisible': ['|',('state','not in',['second_approve']),('is_member_workflow','=',True)]}"
confirm="Are you sure you want to move to Temporarily Suspended ?"/>
<button name="action_suspend_first_accept" type="object"
string="First Approve" class="oe_highlight" attrs="{'invisible': [('state','not in',['temporarily_suspended'])]}"/>
<button name="action_suspend_second_accept" type="object"
string="Second Approve" class="oe_highlight" attrs="{'invisible': [('state','not in',['suspended_first_approve'])]}"/>
<button name="action_suspend_refuse" type="object"
string="Suspend Refuse" class="oe_highlight" attrs="{'invisible': [('state','not in',['temporarily_suspended','suspended_first_approve'])]}"/>
<button name="action_suspend_first_accept" type="object"
string="First Approve" class="oe_highlight"
attrs="{'invisible': [('state','not in',['temporarily_suspended'])]}"/>
<button name="action_suspend_second_accept" type="object"
string="Second Approve" class="oe_highlight"
attrs="{'invisible': [('state','not in',['suspended_first_approve'])]}"/>
<button name="action_suspend_refuse" type="object"
string="Suspend Refuse" class="oe_highlight"
attrs="{'invisible': [('state','not in',['temporarily_suspended','suspended_first_approve'])]}"/>
<!-- Exception -->
<button name="action_exception" type="object"
string="Temporarily Exception" class="oe_highlight"
confirm="Are you sure you want to move to Temporarily Exception ?" attrs="{'invisible': [('state','not in',['suspended_second_approve'])]}"/>
confirm="Are you sure you want to move to Temporarily Exception ?"
attrs="{'invisible': [('state','not in',['suspended_second_approve'])]}"/>
<button name="action_exception_first_accept" type="object"
string="Exception First Approve" class="oe_highlight" groups="odex_benefit.group_benefit_woman_commitee,odex_benefit.group_benefit_manager" attrs="{'invisible': [('state','not in',['temporarily_exception'])]}"/>
string="Exception First Approve" class="oe_highlight"
groups="odex_benefit.group_benefit_woman_commitee,odex_benefit.group_benefit_manager"
attrs="{'invisible': [('state','not in',['temporarily_exception'])]}"/>
<button name="action_exception_second_accept" type="object"
string="Exception Second Approve" class="oe_highlight" groups="odex_benefit.group_benefit_branch_manager,odex_benefit.group_benefit_manager"
attrs="{'invisible': [('state','not in',['exception_first_approve'])]}"/>
<button name="action_exception_final_accept" type="object"
string="Exception Second Approve" class="oe_highlight"
groups="odex_benefit.group_benefit_branch_manager,odex_benefit.group_benefit_manager"
attrs="{'invisible': [('state','not in',['exception_first_approve'])]}"/>
<button name="action_exception_final_accept" type="object"
string="Exception Final Approve" class="oe_highlight"
attrs="{'invisible': [('state','not in',['exception_second_approve'])]}" groups="odex_benefit.group_benefit_manager"/>
attrs="{'invisible': [('state','not in',['exception_second_approve'])]}"
groups="odex_benefit.group_benefit_manager"/>
<button name="action_exception_refuse" type="object"
string="Exception Refuse" class="oe_highlight" attrs="{'invisible': [('state','not in',['temporarily_exception','exception_first_approve','exception_second_approve'])]}"/>
string="Exception Refuse" class="oe_highlight"
attrs="{'invisible': [('state','not in',['temporarily_exception','exception_first_approve','exception_second_approve'])]}"/>
<field name="state" widget="statusbar"
statusbar_visible="draft,complete_info,waiting_approve,first_approve,second_approve,first_refusal,refused,temporarily_suspended"/>
<field name="state_a" widget="statusbar"
statusbar_visible="draft,complete_info,waiting_approve,first_approve,second_approve,first_refusal,refused,temporarily_suspended" invisible="1"/>
<field name="state_a" widget="statusbar"
statusbar_visible="draft,complete_info,waiting_approve,first_approve,second_approve,first_refusal,refused,temporarily_suspended"
invisible="1"/>
</header>
<sheet>
<div class="oe_button_box" name="button_box">
<button icon="fa-file" name="action_open_related_member_service_requests" type="object">
<field name="total_member_service_requests" string="Service Requests" widget="statinfo"/>
<field name="total_member_service_requests" string="Service Requests"
widget="statinfo"/>
</button>
</div>
<field name="is_member_workflow" invisible="1"/>
<widget name="web_ribbon" title="Non Benefit Member" bg_color="bg-danger" attrs="{'invisible': ['|',('member_status', '=', False),('member_status', '!=', 'non_benefit')]}"/>
<widget name ="web_ribbon" title="Benefit Member" bg_color="bg-success" attrs="{'invisible': ['|',('member_status', '=', False),('member_status', '!=', 'benefit')]}"/>
<widget name="web_ribbon" title="Non Benefit Member" bg_color="bg-danger"
attrs="{'invisible': ['|',('member_status', '=', False),('member_status', '!=', 'non_benefit')]}"/>
<widget name="web_ribbon" title="Benefit Member" bg_color="bg-success"
attrs="{'invisible': ['|',('member_status', '=', False),('member_status', '!=', 'benefit')]}"/>
<h1>
<field placeholder="Name" name="name" class="oe_inline" readonly="1"
force_save="1"/>
</h1>
<group>
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1" options='{"no_open": True,"no_create_edit": True}'/>
<group>
<label for="relationn" string="Relation"/>
<div>
<field name="relationn" class="oe_inline" nolabel="1"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"
options='{"no_open": True,"no_create_edit": True}'/>
</div>
</group>
<group>
<group>
<label for="member_first_name" string="Member Name"/>
<div class="o_row">
<field name="member_first_name" required="1" nolabel="1" placeholder="First Name"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_second_name" force_save="1" nolabel="1"
placeholder="Second Name" required="1"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_third_name" required="1" nolabel="1" placeholder="Third Name"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_family_name" force_save="1" nolabel="1"
placeholder="Famil yname" required="1"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</div>
</group>
<group>
<group>
<field name="member_first_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_third_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="birth_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_location" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" invisible="1"/>
<field name="member_phone" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_location_conf" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
<group>
<field name="member_second_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="member_family_name" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
<field name="age" readonly="1" required="1" force_save="1"/>
<field name="age_status"/>
<field name="member_id_number" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" required="1"/>
</group>
</group>
<group>
<group>
<field name="is_dead" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="minor_siblings" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="has_disabilities" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_married" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="mother_location_conf" attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
<field name="mother_location" invisible="1"/>
<field name="mother_marital_conf" attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
</group>
<group>
<field name="is_work" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_income" attrs="{'required':[('is_work','=',True)],'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="need_transportation" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_amra" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_alhaju" widget="radio" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
</group>
<group>
<group>
<field name="sponsor_related_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="sponsor_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}" invisible="1"/>
<field name="sponsorship_id" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_excluded_suspension" readonly="1" force_save="1"/>
</group>
<group>
<field name="benefit_id" attrs="{'readonly': [('state','!=','draft')]}" force_save="1" required="1"/>
<field name="member_status" readonly="1" widget="badge" decoration-success="member_status == 'benefit'" decoration-danger="member_status == 'non_benefit'"/>
</group>
</group>
<group/>
</group>
<group>
<group>
<field name="birth_date"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"
required="1"/>
<field name="member_location"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"
invisible="1"/>
<field name="member_phone"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_location_conf"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
<group>
<field name="age" readonly="1" required="1" force_save="1"/>
<field name="age_status"/>
<field name="member_id_number"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"
required="1"/>
</group>
</group>
<group>
<group>
<field name="is_dead"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="minor_siblings"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="has_disabilities"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_married"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="mother_location_conf"
attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
<field name="mother_location" invisible="1"/>
<field name="mother_marital_conf"
attrs="{'invisible':['|',('relationn','=','mother'),('relationn','=','replacement_mother')]}"/>
</group>
<group>
<field name="is_work"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="member_income"
attrs="{'required':[('is_work','=',True)],'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="need_transportation"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_amra" widget="radio"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_alhaju" widget="radio"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
</group>
</group>
<group>
<group>
<field name="sponsor_related_id"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="sponsor_id"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"
invisible="1"/>
<field name="sponsorship_id"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="is_excluded_suspension" readonly="1" force_save="1"/>
</group>
<group>
<field name="benefit_id" attrs="{'readonly': [('state','!=','draft')]}" force_save="1"
required="1"/>
<field name="member_status" readonly="1" widget="badge"
decoration-success="member_status == 'benefit'"
decoration-danger="member_status == 'non_benefit'"/>
</group>
</group>
<notebook>
<page string="Hobbies">
<field name="hobbies_attachment_ids" widget="one2many_list">
<tree editable="bottom">
<tree editable="bottom">
<field name="name"/>
<field name="hobbies_id" required="1"/>
<field name="datas" string="File content"/>
@ -138,55 +193,83 @@
</tree>
</field>
</page>
<page string="Education">
<h3>Current Education Status</h3>
<group>
<page string="Education">
<h3>Current Education Status</h3>
<group>
<group>
<field name="is_scientific_specialty" invisible="1"/>
<field name="is_medical_specialty" invisible="1"/>
<field name="education_status" attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="education_status"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="illiterate_reason" attrs="{'readonly':[('state','not in',['draft','complete_info'])],
'invisible':[('education_status','!=','illiterate')]}"/>
<field name="case_study" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="intermittent_reason" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('case_study','!=','intermittent')]}"/>
<field name="education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="entities" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="case_study"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="intermittent_reason"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('case_study','!=','intermittent')]}"/>
<field name="education_entity"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="entities"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_levels"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="educational_certificate"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
<group>
<field name="specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')],'invisible':[('education_status','=','illiterate')]}"/>
<field name="classroom" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="degree" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="percentage" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="specialization_ids"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')],'invisible':[('education_status','=','illiterate')]}"/>
<field name="classroom"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="degree"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="percentage"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_start_date"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="education_end_date"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
</group>
<h3 attrs="{'invisible':[('education_status','=','illiterate')]}">Last Education Status</h3>
<h3 attrs="{'invisible':[('education_status','=','illiterate')]}">Last Education
Status
</h3>
<group>
<group>
<field name="last_education_entity" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_entities" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_levels" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_specialization_ids" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_educational_certificate" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_entity"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_entities"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_levels"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_specialization_ids"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_educational_certificate"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
<group>
<field name="last_classroom" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_degree" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_percentage" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="weak_study" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}" widget="many2many_tags"/>
<field name="last_education_start_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_end_date" attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_classroom"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_degree"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_percentage"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="weak_study"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"
widget="many2many_tags"/>
<field name="last_education_start_date"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
<field name="last_education_end_date"
attrs="{'readonly':[('state','not in',['draft','complete_info'])],'invisible':[('education_status','=','illiterate')]}"/>
</group>
</group>
</page>
<page string="Suspend Reason" attrs="{'invisible': [('state_a', 'not in', ['temporarily_suspended','suspended_first_approve','suspended_second_approve'])]}">
</page>
<page string="Suspend Reason"
attrs="{'invisible': [('state_a', 'not in', ['temporarily_suspended','suspended_first_approve','suspended_second_approve'])]}">
<group>
<group>
<field name="suspend_reason"/>
<field name="suspend_description"/>
<field name="suspend_reason"/>
<field name="suspend_description"/>
</group>
<group>
<field name="suspend_attachment"/>
@ -194,36 +277,41 @@
<field name="suspend_method" readonly="1" force_save="1"/>
</group>
</group>
</page>
<page string="Exception" attrs="{'invisible': [('state_a', 'not in', ['temporarily_exception','exception_first_approve','exception_second_approve'])]}">
<group>
</page>
<page string="Exception"
attrs="{'invisible': [('state_a', 'not in', ['temporarily_exception','exception_first_approve','exception_second_approve'])]}">
<group>
<field name="exception_start_date"/>
<field name="exception_description"/>
<field name="exception_type"/>
</group>
<group>
<field name="exception_end_date"/>
<field name="exception_attachment"/>
<group>
<field name="exception_start_date"/>
<field name="exception_description"/>
<field name="exception_type"/>
</group>
<group>
<field name="exception_end_date"/>
<field name="exception_attachment"/>
</group>
</group>
</group>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list">
<tree editable="bottom">
<field name="name" string="Attachment Name"/>
<field name="datas" string="File content" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<button name="action_preview_attachment" type="object" icon="fa-search-plus" attrs="{'invisible': [('file_size', '=', 0)]}"/>
<field name="expiration_date" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="attach_status" attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="member_id" invisible="1"/>
<field name="file_size" invisible="1"/>
</tree>
</field>
</page>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list">
<tree editable="bottom">
<field name="name" string="Attachment Name"/>
<field name="datas" string="File content"
attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<button name="action_preview_attachment" type="object" icon="fa-search-plus"
attrs="{'invisible': [('file_size', '=', 0)]}"/>
<field name="expiration_date"
attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="attach_status"
attrs="{'readonly':[('parent.state','not in',['draft','complete_info'])]}"/>
<field name="member_id" invisible="1"/>
<field name="file_size" invisible="1"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</form>
</field>
</record>
<record id="family_member_tree" model="ir.ui.view">
@ -232,12 +320,12 @@
<field name="arch" type="xml">
<tree string="Family Members" create="false">
<field name="name" force_save="1"/>
<!-- <field name="gender" required="1"/>-->
<!-- <field name="gender" required="1"/>-->
<field name="relationn"/>
<field name="member_location_conf"/>
<field name="member_status" string="Is Benefit?"/>
<field name="age"/>
<field name="benefit_id"/>
<field name="age"/>
<field name="benefit_id"/>
<field name="state"/>
</tree>
</field>