Merge pull request #4527 from expsa/kchy_dev_odex25_ensan

REM am_sar_symbol module
This commit is contained in:
kchyounes19 2025-09-02 13:11:29 +01:00 committed by GitHub
commit 679d47c16c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 119 additions and 100 deletions

View File

@ -4,12 +4,12 @@
<record id="sequence_benefit" model="ir.sequence">
<field name="name">Benefit Sequence</field>
<field name="code">benefit.sequence</field>
<field name="prefix">B/</field>
<field name="prefix">BP/</field>
<field eval="1" name="number_next"/>
<field eval="1" name="number_increment"/>
<field eval="False" name="use_date_range"/>
<field eval="False" name="company_id"/>
<field name="padding">4</field>
<field name="padding">5</field>
</record>
<record id="receive_zkat_sequence" model="ir.sequence">
<field name="name">Receive Zkat Sequence</field>

View File

@ -15143,4 +15143,9 @@ msgstr "برجا اتمام الزيارة الاولية للأسرة لإست
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_has_disabilities
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_has_disabilities
msgid "Has Disabilities?"
msgstr "هل لديه إعاقة؟"
msgstr "هل لديه إعاقة؟"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
msgid "Basic Information"
msgstr "المعلومات الأساسية"

View File

@ -161,9 +161,10 @@
states="second_approve"
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': ['|',('action_type','!=','suspended'),('state', 'not in', ['waiting_approve'])]}"
string="First Approve" class="oe_highlight"
attrs="{'invisible': ['|',('action_type','!=','suspended'),('state', 'not in', ['waiting_approve'])]}"
groups="odex_benefit.group_benefit_woman_commitee,odex_benefit.group_benefit_manager"
/>
/>
<button name="action_suspend_second_accept" type="object"
string="Second Approve" class="oe_highlight"
groups="odex_benefit.group_benefit_branch_manager,odex_benefit.group_benefit_manager"
@ -171,7 +172,7 @@
<button name="action_suspend_refuse" type="object"
string="Suspend Refuse" class="oe_highlight"
attrs="{'invisible': ['|',('action_type','!=','suspended'),('state', 'not in', ['waiting_approve','first_approve','suspended_second_approve'])]}"
/>
/>
<!-- Exception -->
<button name="action_exception" type="object"
string="Exception from suspension" class="oe_highlight"
@ -191,7 +192,7 @@
<button name="action_exception_refuse" type="object"
string="Exception Refuse" class="oe_highlight"
attrs="{'invisible': ['|',('action_type','!=','exception'),('state', 'not in', ['waiting_approve','first_approve','exception_second_approve'])]}"
/>
/>
<button name="action_edit_info" type="object"
string="Open Edit Info" class="btn btn-info"
groups="odex_benefit.group_benefit_edit"
@ -248,6 +249,9 @@
<field name="total_seasonal_service_requests" string="Seasonal Service Requests"
widget="statinfo"/>
</button>
<button icon="fa-map-marker" name="get_location_on_map" string="open in Map Directly"
type="object"
attrs="{'invisible': ['|',('lat', '=', 0.0), ('lon', '=', 0.0)]}"/>
<!-- <button icon="fa-usd" name="action_open_related_invoice_records" type="object">-->
<!-- <field name="invoices_count" string="Invoices" widget="statinfo"/>-->
<!-- </button>-->
@ -284,25 +288,12 @@
</group>
</div>
<group>
<group>
<group string="Basic Information">
<field name="meal_card" readonly="1" invisible="1"/>
<field name="researcher_id"
attrs="{'required':[('state','not in',['draft','new'])]}" readonly="1"
force_save="1"/>
<field name="last_visit_date" readonly="1"/>
<!-- required="1"-->
<!-- required="1"-->
<field name="benefit_category_id" readonly="1" force_save="1"/>
<field name="company_id"/>
<field name="currency_id"/>
<field name="member_income" widget="monetary" options="{'currency_field': 'currency_id'}" readonly="1" force_save="1"/>
<button name="%(odex_benefit.grant_map)d" string="Map" type="action"
context="{'search_default_name': name}" icon="fa-map-marker"
class="oe_highlight"
attrs="{'invisible': ['|',('lat', '=', 0.0), ('lon', '=', 0.0)]}"/>
</group>
<group>
<field name="sms_phone" readonly="1"/>
<field name="city_id"
readonly="1"
string="City" options="{'no_create': True, 'no_create_edit': True}"
@ -315,15 +306,14 @@
readonly="1"
options="{'no_create': True, 'no_create_edit': True}"
groups="!odex_benefit.group_benefit_manager"/>
<button name="get_location_on_map" string="open in Map Directly" type="object"
class="oe_highlight"
attrs="{'invisible': ['|',('lat', '=', 0.0), ('lon', '=', 0.0)]}"/>
<field name="company_id" groups="base.group_multi_company"/>
<field name="currency_id" groups="base.group_multi_currency"/>
<field name="member_income" widget="monetary"
options="{'currency_field': 'currency_id'}" readonly="1" force_save="1"/>
<field name="benefit_category_id" readonly="1" force_save="1"/>
</group>
</group>
<group string="Contact Information">
<group>
<field name="email"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<group string="Contact Information">
<field name="sms_phone" readonly="1"/>
<field name="phone" string="Phone"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="phone2"
@ -334,15 +324,22 @@
<field name="relative_relation"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
invisible="1"/>
</group>
<group>
<field name="email"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="contact_type"/>
<field name="request_producer_relation" readonly="1" force_save="1"/>
<field name="applicant_name"/>
<field name="request_producer" readonly="1" force_save="1" invisible="1"/>
<field name="request_producer_relation"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</group>
</group>
<group>
<group>
<button name="%(odex_benefit.grant_map)d" string="Map" type="action"
context="{'search_default_name': name}" icon="fa-map-marker"
class="oe_highlight" invisible="1"/>
</group>
<group/>
</group>
<notebook>
<page string="Father Information">
<group>
@ -367,11 +364,12 @@
</group>
<group>
<group>
<field name="father_dead_reason_id_not_defined" invisible="1" />
<field name="father_dead_reason_id_not_defined" invisible="1"/>
<field name="father_dead_reason_id" attrs="{
'required':[('state','=','complete_info')],
'readonly':[('state','not in',['draft','new','complete_info'])]}
"/>
"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="father_dead_reason" attrs="{
'required':[('state','=','complete_info'), ('father_dead_reason_id_not_defined', '=', True)],
'invisible':[('father_dead_reason_id_not_defined', '=', False)],
@ -381,14 +379,15 @@
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_dead_country_id" required="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="father_dead_city_id" invisible="1"/>
<field name="father_dead_res_city_id" attrs="{
'invisible': [('father_dead_country_id_code', '!=', 'SA')]
}"/>
<field name="father_dead_country_id_code" invisible="1" />
<field name="father_dead_res_city_id_not_defined" invisible="1" />
}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="father_dead_country_id_code" invisible="1"/>
<field name="father_dead_res_city_id_not_defined" invisible="1"/>
<field name="father_dead_city" attrs="{
'invisible': [
('father_dead_country_id_code', '=', 'SA'),
@ -401,7 +400,9 @@
</group>
<group>
<field name="father_job_id_not_defined" invisible="1"/>
<field name="father_job_id" attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_job_id"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_job" attrs="{
'readonly': [('state', 'not in', ['draft', 'new', 'complete_info'])],
'invisible': [('father_job_id_not_defined', '=', False)]
@ -416,7 +417,8 @@
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="father_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1" options="{'no_create': True, 'no_create_edit': True}"
required="1"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
</group>
</group>
@ -459,7 +461,7 @@
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
options="{'no_create': True, 'no_create_edit': True}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"
required="1"/>
<field name="mother_status" readonly="1" widget="badge"
@ -469,7 +471,7 @@
<group>
<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}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="mother_is_dead" invisible="1"/>
<field name="mother_dead_country_id"
@ -486,16 +488,17 @@
invisible="1"/>
<field name="mother_location_conf"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new'])]}"
options="{'no_create': True, 'no_create_edit': True}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="mother_age"
attrs="{'required':[('state','not in',['draft','new'])]}"
readonly="1"/>
<field name="is_mother_work"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_has_disabilities"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="mother_income" widget="monetary" options="{'currency_field': 'currency_id', 'field_digits': False}" digits="[16,0]"
<field name="mother_has_disabilities" invisible="1"/>
<field name="mother_income" widget="monetary"
options="{'currency_field': 'currency_id', 'field_digits': False}"
digits="[16,0]"
attrs="{'required':[('is_mother_work','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<!-- <field name="is_mother_benefit"/>-->
</group>
@ -541,7 +544,7 @@
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="replacement_mother_country_id"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('add_replacement_mother','=',True)]}"
options="{'no_create': True, 'no_create_edit': True}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_status" readonly="1" widget="badge"
decoration-success="replacement_mother_status == 'benefit'"
@ -550,7 +553,7 @@
<group>
<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}"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
groups="!odex_benefit.group_benefit_manager"/>
<field name="replacement_mother_is_dead" invisible="1"/>
<field name="replacement_mother_dead_country_id"
@ -611,13 +614,17 @@
<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"
<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"
<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"
<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"
<field name="member_family_name" force_save="1" nolabel="1"
placeholder="Famil yname"
attrs="{'invisible':[('is_mother','=',True)],'required':[('is_mother','=',False)]}"/>
</div>
</group>
@ -694,7 +701,6 @@
filename="attachment_file_name"/>
<button name="action_preview_attachment" type="object"
string="Preview Attachment"/>
<field name="expiration_date"/>
<field name="attach_status"/>
<field name="member_id" invisible="1"/>
</tree>
@ -735,7 +741,7 @@
<field name="member_education_status_ids" mode="tree,form"/>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list">
<field name="attachment_ids" widget="one2many_list" mode="tree" options="{'no_open': True}">
<tree editable="bottom" delete="0">
<field name="name" string="Attachment Name"
attrs="{'readonly':[('is_default','=',True)]}"
@ -782,7 +788,7 @@
</field>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list"
<field name="attachment_ids" widget="one2many_list" mode="tree" options="{'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom" delete="0">
<field name="name" attrs="{'readonly':[('is_default','=',True)]}"
@ -809,8 +815,7 @@
<form string="Housing">
<sheet>
<group>
<group>
<h3>Property details</h3>
<group string="Property details">
<field name="housing_type"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="housing_cat"
@ -841,8 +846,7 @@
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'invisible':[('property_type','=',False)]}"
widget="many2many_attachment_preview"/>
</group>
<group>
<h3>National address</h3>
<group string="National address">
<field name="country_id"
attrs="{'required':[('state','not in',['draft','new'])]}"
readonly="1"/>
@ -876,8 +880,7 @@
<!-- <field name="location_url"-->
<!-- attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>-->
</group>
<group invisible="1">
<h3>Housing details</h3>
<group string="Housing details" invisible="1">
<field name="floor"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<field name="housing_number"
@ -892,20 +895,23 @@
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</group>
</group>
<group colspan="2" col="2">
<separator string="Geolocation" colspan="2"/>
<button string="Geolocalize" name="geo_localize" type="object"
icon="fa-check" colspan="2"/>
<div>
<span class="oe_inline">(</span>
<span>Lat :</span>
<field name="lat" class="oe_inline" no_label="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>: Long :</span>
<field name="lon" class="oe_inline" nolabel="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>)</span>
</div>
<group>
<group/>
<group>
<separator string="Geolocation" colspan="2"/>
<button string="Geolocalize" name="geo_localize" type="object"
icon="fa-check" colspan="2"/>
<div>
<span class="oe_inline">(</span>
<span>Lat :</span>
<field name="lat" class="oe_inline" no_label="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>: Long :</span>
<field name="lon" class="oe_inline" nolabel="1"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
<span>)</span>
</div>
</group>
</group>
</sheet>
</form>
@ -918,7 +924,7 @@
<sheet>
<group>
<group>
<field name="loan_giver"/>
<field name="loan_giver" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="loan_amount"/>
<field name="number_of_installments"/>
<field name="loan_total_paid"/>
@ -929,7 +935,7 @@
<group>
<field name="last_paid_amount"/>
<field name="last_paid_amount_date"/>
<field name="loan_reason"/>
<field name="loan_reason" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="description"/>
<field name="benefit_id" invisible="1"/>
<field name="loan_start_date"/>
@ -962,7 +968,7 @@
<tree editable="top">
<field name="benefit_id" invisible="1"/>
<field name="expenses_type" invisible="1"/>
<field name="expenses_type_custom"/>
<field name="expenses_type_custom" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="note"/>
<field name="amount" sum="amount"/>
<button name="action_accept" type="object" string="Accept"
@ -981,11 +987,11 @@
</group>
</page>
<page string="Income and salary">
<field name="salary_ids" context="{'default_state': 'accepted'}"
<field name="salary_ids" context="{'default_state': 'accepted'}" mode="tree" options="{'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom" delete="0">
<field name="benefit_id" invisible="1"/>
<field name="income_type"/>
<field name="income_type" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="salary_amount"/>
<field name="salary_attach" widget="many2many_attachment_preview"/>
<field name="attach_start_date"/>
@ -1180,7 +1186,7 @@
>
<group>
<group>
<field name="suspend_reason"/>
<field name="suspend_reason" options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"/>
<field name="suspend_description"/>
</group>
<group>
@ -1213,7 +1219,23 @@
<field name="total_family_expenses"/>
</group>
</page>
<page string="Configuration">
<page string="Family Cars">
<group>
<field name="car_ids"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom">
<field name="benefit_id" invisible="1"/>
<field name="name"/>
<field name="car_model"/>
<field name="status"/>
<field name="image_1"/>
<field name="image_2"/>
<field name="image_3"/>
</tree>
</field>
</group>
</page>
<page string="Configuration" groups="odex_benefit.group_benefit_manager" invisible="1">
<!-- <group col="4">-->
<!-- <field name="is_life" attrs="{'invisible':[('is_life','!=',False)]}"/>-->
<!-- <field name="is_sport" widget="boolean_toggle"/>-->
@ -1254,22 +1276,6 @@
<!-- <field name="required_attach" attrs="{'required':[('state','not in',['draft'])]}"/>-->
</group>
</page>
<page string="Family Cars">
<group>
<field name="car_ids"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}">
<tree editable="bottom">
<field name="benefit_id" invisible="1"/>
<field name="name"/>
<field name="car_model"/>
<field name="status"/>
<field name="image_1"/>
<field name="image_2"/>
<field name="image_3"/>
</tree>
</field>
</group>
</page>
</notebook>
</sheet>
@ -1326,6 +1332,7 @@
<xpath expr="//field[@name='father_dead_country_id']" position="replace">
<field name="father_dead_country_id" required="1"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
@ -1345,37 +1352,44 @@
<xpath expr="//field[@name='father_country_id']" position="replace">
<field name="father_country_id"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
</xpath>
<xpath expr="//field[@name='mother_country_id']" position="replace">
<field name="mother_country_id"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])]}"
required="1"/>
</xpath>
<xpath expr="//field[@name='mother_marital_conf']" position="replace">
<field name="mother_marital_conf"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'required':[('state','not in',['draft','new'])],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='mother_location_conf']" position="replace">
<field name="mother_location_conf"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new'])]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_country_id']" position="replace">
<field name="replacement_mother_country_id"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('add_replacement_mother','=',True)]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_marital_conf']" position="replace">
<field name="replacement_mother_marital_conf"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)],'readonly':[('state','not in',['draft','new','complete_info'])]}"/>
</xpath>
<xpath expr="//field[@name='replacement_mother_location_conf']" position="replace">
<field name="replacement_mother_location_conf"
options="{'no_create': True, 'no_create_edit': True,'no_quick_create': True, 'no_open': True}"
attrs="{'readonly':[('state','not in',['draft','new','complete_info'])],'required':[('state','not in',['draft','new']),('add_replacement_mother','=',True)]}"/>
</xpath>

View File

@ -290,7 +290,7 @@
</group>
</page>
<page string="Attachments">
<field name="attachment_ids" widget="one2many_list">
<field name="attachment_ids" mode="tree" options="{'no_open': True}" widget="one2many_list">
<tree editable="bottom">
<field name="name" string="Attachment Name"/>
<field name="datas" string="File content"