odex25_standard/odex25_takaful/odex_takaful/views/family_member.xml

185 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Inherit Family Member Form to Add Donation Details Smart Button -->
<record id="family_member_form_inherit_donation_button" model="ir.ui.view">
<field name="name">family.member.form.inherit.donation.button</field>
<field name="model">family.member</field>
<field name="inherit_id" ref="odex_benefit.family_member_form"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='button_box']" position="inside">
<button icon="fa-money" name="action_open_donation_detail" type="object"
attrs="{'invisible': [('donation_details_count', '=', 0)]}">
<field name="donation_details_count" string="Donation Details"
widget="statinfo"/>
</button>
</xpath>
<xpath expr="//field[@name='sponsor_related_id']" position="replace">
<field name="sponsor_related_id" readonly="1" invisible="1"/>
</xpath>
<xpath expr="//page[4]" position="after">
<page name="kafala_info" string="Kafala Information">
<group>
<field name="kafala_status" readonly="1"/>
<field name="sponsor_related_id"
readonly="1"/>
<field name="sponsor_id"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"
invisible="1"/>
<field name="sponsorship_id" invisible="1"
attrs="{'readonly':[('state','not in',['draft','complete_info'])]}"/>
<field name="sponsorship_end_date" readonly="1"/>
</group>
<group>
<field name="is_restricted" widget="boolean_toggle"/>
<field name="general_restriction" widget="boolean_toggle"/>
</group>
</page>
</xpath>
<xpath expr="//header" position="inside">
<button name="action_not_available_for_sponsorship" type="object"
string="Not Available For Sponsorship" class="oe_highlight"
attrs="{'invisible': [('general_restriction','=', True)]}"
groups="odex_takaful.sponsorship_restrict_orphan_group"
/>
<button name="action_available_for_sponsorship" type="object"
string="Available For Sponsorship" class="oe_highlight"
attrs="{'invisible': [('general_restriction','!=', True)]}"
groups="odex_takaful.sponsorship_restrict_orphan_group"
/>
</xpath>
</field>
</record>
<record id="family_member_search_inherit" model="ir.ui.view">
<field name="name">family.member.search.inherit</field>
<field name="model">family.member</field>
<field name="inherit_id" ref="odex_benefit.family_member_search"/>
<field name="arch" type="xml">
<field name="benefit_id" position="after">
<field name="education_levels"/>
<separator/>
<filter name="have_kafala" string="Have Kafala"
domain="[('kafala_status','=','have_kafala')]"/>
<filter name="have_not_kafala" string="Have not Kafala"
domain="[('kafala_status','=','have_not_kafala')]"/>
<separator/>
<filter name="orphan_benefit_type" string="Orphans"
domain="[('relationn_type', 'in', ['son', 'daughter'])]"/>
<filter name="widow_benefit_type" string="Widows"
domain="[('relationn_type', 'in', ['mother', 'replacement_mother'])]"/>
<separator/>
<filter name="male_gender" string="Male"
domain="[('relationn_type', '=', 'son')]"/>
<filter name="female_gender" string="Female"
domain="[('relationn_type', '!=', 'son')]"/>
<separator/>
<filter name="age_category_0_to_6" string="Age From 0 To 6"
domain="[('age', '>=', 0), ('age', '&lt;', 7)]"/>
<filter name="age_category_7_to_10" string="Age From 7 To 10"
domain="[('age', '>=', 7), ('age', '&lt;', 11)]"/>
<filter name="age_category_11_to_15" string="Age From 11 To 15"
domain="[('age', '>=', 11), ('age', '&lt;', 16)]"/>
<filter name="age_category_16_to_18" string="Age From 16 To 18"
domain="[('age', '>=', 16), ('age', '&lt;', 19)]"/>
<filter name="age_category_over_18" string="Age Over 18"
domain="[('age', '>', 18)]"/>
<separator/>
<filter name="educated_educated_status" string="Educated"
domain="[('education_status', '=', 'educated')]"/>
<filter name="illiterate_educated_status" string="Illiterate"
domain="[('education_status', '=', 'illiterate')]"/>
<filter name="under_study_age_educated_status" string="Under Study Age"
domain="[('education_status', '=', 'under_study_age')]"/>
<separator/>
<group>
<filter string="Education Level"
name="group_education_level"
context="{'group_by': 'education_levels'}"/>
</group>
</field>
</field>
</record>
<record id="view_family_member_tree_inherit" model="ir.ui.view">
<field name="name">family.member.tree.inherit</field>
<field name="model">family.member</field>
<field name="inherit_id" ref="odex_benefit.family_member_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='member_status']" position="after">
<field name="kafala_status" widget="badge"
decoration-success="kafala_status == 'have_kafala'"
decoration-danger="kafala_status == 'have_not_kafala'"/>
<field name="sponsorship_end_date" optional="hide" />
<field name="education_levels" optional="hide" />
<field name="number_of_family_member" optional="hide" />
<field name="diseases_attachment_ids" widget="many2many_tags" optional="hide" />
</xpath>
</field>
</record>
<record id="family_member_kanban_kafala_inherit" model="ir.ui.view">
<field name="name">family.member.kanban.kafala.inherit</field>
<field name="model">family.member</field>
<field name="inherit_id" ref="odex_benefit.family_member_kanban"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='total_member_service_requests']" position="after">
<field name="kafala_status"/>
<field name="sponsorship_end_date"/>
</xpath>
<xpath expr="//div[@t-attf-class]" position="attributes">
<attribute name="t-attf-style">background: linear-gradient(135deg, #{record.member_status.raw_value == 'non_benefit' ? '#fff5f5' : '#ffffff'} 0%, #{record.member_status.raw_value == 'non_benefit' ? '#ffe0e0' : '#f8f9fa'} 100%); border: 2px solid #{record.member_status.raw_value == 'non_benefit' ? '#dc3545' : '#198754'}; border-radius: 15px; box-shadow: 0 4px 15px rgba(0,0,0,0.1); transition: all 0.3s ease; margin-bottom: 15px; overflow: hidden; position: relative; min-height: 300px; opacity: #{record.member_status.raw_value == 'non_benefit' ? '0.85' : '1'};</attribute>
</xpath>
<xpath expr="//div[@style='padding: 10px; background: white;']" position="after">
<div style="background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%); padding: 10px 5px; border-top: 2px solid #198754; text-align: right;">
<div style="display: flex; justify-content: space-between; align-items: center; font-size: 11px;">
<div style="display: inline-flex; align-items: center;">
<i class="fa fa-shield" style="color: #6c757d; margin-left: 4px;"/>
<span style="font-weight: 600; color: #495057; margin-left: 4px;"></span>
<span style="font-weight: 600;">
<t t-if="record.kafala_status.raw_value == 'have_kafala'">
<span style="background: linear-gradient(135deg, #e8f5e8 0%, #c8e6c9 100%); color: #2e7d32; padding: 2px 6px; border-radius: 8px; font-weight: 700; font-size: 10px; border: 1px solid #4caf50;">
مكفول
</span>
</t>
<t t-elif="record.kafala_status.raw_value == 'have_not_kafala'">
<span style="background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%); color: #e65100; padding: 2px 6px; border-radius: 8px; font-weight: 700; font-size: 10px; border: 1px solid #ff9800;">
غير مكفول
</span>
</t>
<t t-else="">
<span style="color: #6c757d;">--</span>
</t>
</span>
</div>
<t t-if="record.kafala_status.raw_value == 'have_kafala'">
<div style="display: inline-flex; align-items: center;">
<i class="fa fa-calendar" style="color: #6c757d; margin-left: 4px;"/>
<span style="font-weight: 600; color: #495057; margin-left: 4px;">تنتهي الكفالة: </span>
<span style="color: #212529; font-weight: 500;">
<t t-if="record.sponsorship_end_date.raw_value">
<field name="sponsorship_end_date"/>
</t>
<t t-else="">
<span style="color: #6c757d;">--</span>
</t>
</span>
</div>
</t>
</div>
</div>
</xpath>
</field>
</record>
</odoo>