Merge pull request #4768 from expsa/younes_dev_odex25_ensan

IMP benefit
This commit is contained in:
kchyounes19 2025-09-28 12:30:36 +01:00 committed by GitHub
commit d30d1ed2f1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 368 additions and 220 deletions

View File

@ -1142,6 +1142,7 @@ msgstr "نموذج الأنشطة"
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__active
#: model:ir.model.fields,field_description:odex_benefit.field_committees_line__active
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__active
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__active
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__active
#: model:ir.model.fields,field_description:odex_benefit.field_visits_types__active
msgid "Active"
@ -3115,6 +3116,7 @@ msgstr "مؤسسات تشير إلي شركاء"
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__company_id
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__company_id
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__company_id
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__company_id
msgid "Company"
msgstr "الشركة"
@ -3829,6 +3831,7 @@ msgstr "حد الائتمان"
#: model:ir.model.fields,field_description:odex_benefit.field_needs_payment_line__currency_id
#: model:ir.model.fields,field_description:odex_benefit.field_payment_collection_line__currency_id
#: model:ir.model.fields,field_description:odex_benefit.field_receive_benefit_loans__currency_id
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__currency_id
msgid "Currency"
msgstr "العملة"
@ -10534,6 +10537,11 @@ msgstr "بند الخدمة"
msgid "Service Category"
msgstr "فئة الخدمة"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__service_category
msgid "Service Category"
msgstr "تصنيف الخدمة"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__service_name
msgid "Service Name"
@ -14433,6 +14441,7 @@ msgid "Branch"
msgstr "الفرع"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__service_number
#: model_terms:ir.ui.view,arch_db:odex_benefit.payment_orders_form
#: model_terms:ir.ui.view,arch_db:odex_benefit.seasonal_service_form_view
msgid "Service Number"
@ -15636,4 +15645,64 @@ msgstr "الاسرة مستفيدة؟"
#: 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 "Exception First Approve"
msgstr ""
msgstr ""
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__show_in_portal
msgid "Show in Portal"
msgstr "عرض في البوابة"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__services_settings__service_category__emergency
msgid "Emergency"
msgstr "طارئة"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__services_settings__service_category__permanent
msgid "Permanent"
msgstr "دائمة"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__services_settings__service_category__exceptional
msgid "Exceptional"
msgstr "استثنائية"
#. module: odex_benefit
#: model:ir.model.fields.selection,name:odex_benefit.selection__services_settings__service_category__seasonal
msgid "Seasonal"
msgstr "موسمية"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__max_amount
msgid "Maximum Amount"
msgstr "الحد الأقصى للمبلغ"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__max_age
msgid "Maximum Age"
msgstr "الأقصى للعمر"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__service_description
msgid "Service Description"
msgstr "وصف الخدمة"
#. module: odex_benefit
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__service_conditions
msgid "Service Conditions"
msgstr "شروط الخدمة"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form
msgid "Settings"
msgstr "الإعدادات"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form
msgid "Accounts"
msgstr "الحسابات"
#. module: odex_benefit
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form
msgid "Description and Details"
msgstr "الوصف والتفاصيل"

View File

@ -80,6 +80,22 @@ class ServicesSettings(models.Model):
home_age = fields.Integer(string='Home Age')
required_attach = fields.Boolean(string='Required Attach')
is_seasonal_service = fields.Boolean(string='Is Seasonal Service?')
active = fields.Boolean('Active', default=True)
show_in_portal = fields.Boolean(string="Show in Portal",copy=False)
service_number = fields.Char(string="Service Number",copy=False)
service_category = fields.Selection([
('emergency', 'Emergency'),
('permanent', 'Permanent'),
('exceptional', 'Exceptional'),
('seasonal', 'Seasonal'),
], string="Service Category",copy=False)
company_id = fields.Many2one('res.company', string="Company", default=lambda self: self.env.user.company_id)
currency_id = fields.Many2one('res.currency', string="Currency", related='company_id.currency_id')
max_amount = fields.Monetary(string="Maximum Amount", currency_field='currency_id',copy=False)
max_age = fields.Integer(string="Maximum Age",copy=False)
service_description = fields.Text(string="Service Description")
service_conditions = fields.Text(string="Service Conditions")
class RentLines(models.Model):

View File

@ -6,237 +6,300 @@
<field name="arch" type="xml">
<form string="Services Settings">
<sheet>
<div class="oe_title">
<h1>
<field name="service_name" placeholder="Service Name"/>
</h1>
</div>
<group>
<group>
<field name="service_name"/>
<field name="parent_service" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<group>
<field name="service_number"/>
<field name="service_type" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="account_id" attrs="{'invisible':[
'|',
('is_main_service', '=', True),
('service_type', 'in', ['electrical_devices', 'transportation_insurance'])
]}"/>
<field name="accountant_id" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="service_producer_id" attrs="{'invisible':['|',('is_main_service','=',True),('is_service_producer','=',False)]}"/>
<field name="service_producer_id"
attrs="{'invisible':['|',('is_main_service','=',True),('is_service_producer','=',False)]}"/>
</group>
<group>
<field name="is_main_service"/>
<field name="is_service_producer" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="is_this_service_for_student" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="required_attach" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="is_seasonal_service"/>
<field name="service_category"/>
<field name="parent_service" attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="currency_id" groups="base.group_multi_currency"/>
<field name="company_id" groups="base.group_multi_company"/>
</group>
</group>
<notebook>
<page string="Services Attachments Settings" attrs="{'invisible':[('required_attach','=',False)]}">
<field name="attachment_lines" widget="one2many_list">
<notebook>
<page string="Settings">
<group>
<group>
<field name="max_amount"/>
<field name="currency_id" invisible="1"/>
</group>
<group>
<field name="max_age"/>
</group>
</group>
<group>
<group>
<field name="is_main_service"/>
<field name="is_service_producer"
attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="is_this_service_for_student"
attrs="{'invisible':[('is_main_service','=',True)]}"/>
</group>
<group>
<field name="required_attach"
attrs="{'invisible':[('is_main_service','=',True)]}"/>
<field name="is_seasonal_service"/>
<field name="show_in_portal"/>
</group>
</group>
</page>
<page string="Accounts" attrs="{'invisible':[('is_main_service','=',True)]}">
<group>
<group>
<field name="account_id"
attrs="{'invisible':[('service_type', 'in', ['electrical_devices', 'transportation_insurance'])]}"/>
</group>
<group>
<field name="accountant_id"/>
</group>
</group>
</page>
<page string="Description and Details">
<group>
<field name="service_description"/>
</group>
<group>
<field name="service_conditions"/>
</group>
</page>
<page string="Services Attachments"
attrs="{'invisible':[('required_attach','=',False)]}">
<field name="attachment_lines" widget="one2many_list">
<tree editable="bottom">
<field name="name"/>
<field name="notes"/>
<field name="service_type" invisible="1"/>
</tree>
</field>
</page>
<page string="Family Rent Service Settings"
attrs="{'invisible':[('service_type','!=','rent')]}">
<field name="rent_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="benefit_count"/>
<field name="estimated_rent_branches"/>
<field name="estimated_rent_governorate"/>
<!-- <field name="is_shared_housing"/>-->
<field name="discount_rate_shared_housing"/>
</tree>
</field>
</page>
<page string="Benefit Rent Service Settings"
attrs="{'invisible':[('service_type','!=','rent')]}">
<group>
<field name="max_amount_for_student"/>
<field name="raise_amount_for_orphan"/>
</group>
</page>
<page string="Home Restoration Service Settings"
attrs="{'invisible':[('service_type','!=','home_restoration')]}">
<field name="home_restoration_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="max_amount"/>
</tree>
</field>
</page>
<page string="Alternative Housing Settings"
attrs="{'invisible':[('service_type','!=','alternative_housing')]}">
<group>
<field name="rent_amount_for_alternative_housing"/>
<field name="rent_period"/>
</group>
</page>
<page string="Home Maintenance Service Settings"
attrs="{'invisible':[('service_type','!=','home_maintenance')]}">
<field name="home_maintenance_lines" widget="one2many_list">
<tree editable="bottom">
<field name="maintenance_name"/>
</tree>
</field>
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_maintenance_amount"/>
</group>
</page>
<page string="Complete Building House Settings"
attrs="{'invisible':[('service_type','!=','complete_building_house')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_complete_building_house_amount"/>
</group>
</page>
<page string="Electrical Devices Settings"
attrs="{'invisible':[('service_type','!=','electrical_devices')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
</group>
<field name="electrical_devices_lines" widget="one2many_list">
<tree editable="bottom">
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="device_name"/>
<field name="price_unit"/>
<field name="allowed_quantity"/>
<field name="account_id"/>
</tree>
</field>
</page>
<page string="Home furnishing Settings"
attrs="{'invisible':[('service_type','!=','home_furnishing')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_furnishing_amount"/>
<field name="max_furnishing_amount_if_exception"/>
</group>
<field name="home_furnishing_lines" widget="one2many_list">
<tree editable="bottom">
<field name="name"/>
<field name="max_furnishing_amount"/>
</tree>
</field>
</page>
<page string="Electricity bill Settings"
attrs="{'invisible':[('service_type','!=','electricity_bill')]}">
<field name="electricity_bill_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="max_amount_for_electricity_bill"/>
</tree>
</field>
</page>
<page string="Water bill Settings"
attrs="{'invisible':[('service_type','!=','water_bill')]}">
<field name="water_bill_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="max_amount_for_water_bill"/>
</tree>
</field>
</page>
<page string="Buy Car Settings" attrs="{'invisible':[('service_type','!=','buy_car')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_buy_car_amount"/>
<field name="min_count_member"/>
</group>
</page>
<page string="Recruiting Driver Settings"
attrs="{'invisible':[('service_type','!=','recruiting_driver')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_recruiting_driver_amount"/>
</group>
</page>
<page string="Transportation Insurance Settings"
attrs="{'invisible':[('service_type','!=','transportation_insurance')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="transportation_insurance_ids" options="{'no_open': True}">
<tree editable="bottom">
<field name="name"/>
<field name="notes"/>
<field name="service_type" invisible="1"/>
</tree>
</field>
</page>
<page string="Family Rent Service Settings" attrs="{'invisible':[('service_type','!=','rent')]}">
<field name="rent_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="benefit_count"/>
<field name="estimated_rent_branches"/>
<field name="estimated_rent_governorate"/>
<!-- <field name="is_shared_housing"/>-->
<field name="discount_rate_shared_housing"/>
</tree>
</field>
</page>
<page string="Benefit Rent Service Settings" attrs="{'invisible':[('service_type','!=','rent')]}">
<group>
<field name="max_amount_for_student"/>
<field name="raise_amount_for_orphan"/>
</group>
</page>
<page string="Home Restoration Service Settings" attrs="{'invisible':[('service_type','!=','home_restoration')]}">
<field name="home_restoration_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="max_amount"/>
</tree>
</field>
</page>
<page string="Alternative Housing Settings" attrs="{'invisible':[('service_type','!=','alternative_housing')]}">
<group>
<field name="rent_amount_for_alternative_housing"/>
<field name="rent_period"/>
</group>
</page>
<page string="Home Maintenance Service Settings" attrs="{'invisible':[('service_type','!=','home_maintenance')]}">
<field name="home_maintenance_lines" widget="one2many_list">
<tree editable="bottom">
<field name="maintenance_name"/>
</tree>
</field>
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_maintenance_amount"/>
</group>
</page>
<page string="Complete Building House Settings" attrs="{'invisible':[('service_type','!=','complete_building_house')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_complete_building_house_amount"/>
</group>
</page>
<page string="Electrical Devices Settings" attrs="{'invisible':[('service_type','!=','electrical_devices')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
</group>
<field name="electrical_devices_lines" widget="one2many_list">
<tree editable="bottom">
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="device_name"/>
<field name="price_unit"/>
<field name="allowed_quantity"/>
<field name="limit_amount"/>
<field name="account_id"/>
</tree>
</field>
</page>
<page string="Home furnishing Settings" attrs="{'invisible':[('service_type','!=','home_furnishing')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_furnishing_amount"/>
<field name="max_furnishing_amount_if_exception"/>
</group>
<field name="home_furnishing_lines" widget="one2many_list">
<tree editable="bottom">
<field name="name"/>
<field name="max_furnishing_amount"/>
</tree>
</field>
</page>
<page string="Electricity bill Settings" attrs="{'invisible':[('service_type','!=','electricity_bill')]}">
<field name="electricity_bill_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="max_amount_for_electricity_bill"/>
</tree>
</field>
</page>
<page string="Water bill Settings" attrs="{'invisible':[('service_type','!=','water_bill')]}">
<field name="water_bill_lines" widget="one2many_list">
<tree editable="bottom">
<field name="benefit_category_id"/>
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="max_amount_for_water_bill"/>
</tree>
</field>
</page>
<page string="Buy Car Settings" attrs="{'invisible':[('service_type','!=','buy_car')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_buy_car_amount"/>
</group>
</page>
<page string="Debits Settings" attrs="{'invisible':[('service_type','!=','debits')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_debits_amount"/>
</group>
</page>
<page string="Health Care Settings"
attrs="{'invisible':[('service_type','!=','health_care')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_health_care_amount"/>
</group>
</page>
<page string="Providing Medicines Medical Devices And Needs The Disabled Settings"
attrs="{'invisible':[('service_type','!=','providing_medicines_medical_devices_and_needs_the_disabled')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
</group>
</page>
<page string="Recruiting Domestic Worker Or Nurse Settings"
attrs="{'invisible':[('service_type','!=','recruiting_domestic_worker_or_nurse')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_recruiting_domestic_worker_or_nurse_amount"/>
</group>
</page>
<page string="Marriage Settings" attrs="{'invisible':[('service_type','!=','marriage')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="member_max_age"/>
<field name="member_max_payroll"/>
<field name="fatherless_member_amount"/>
<field name="orphan_member_amount"/>
</group>
</page>
<page string="Eid Gift Settings" attrs="{'invisible':[('service_type','!=','eid_gift')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="eid_gift_max_age"/>
<field name="eid_gift_member_amount"/>
</group>
</page>
<page string="Winter Clothing Settings"
attrs="{'invisible':[('service_type','!=','winter_clothing')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="winter_clothing_member_amount"/>
</group>
</page>
<page string="Ramadan Basket Settings"
attrs="{'invisible':[('service_type','!=','ramadan_basket')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="ramadan_basket_member_amount"/>
</group>
</page>
<page string="Natural disasters Settings"
attrs="{'invisible':[('service_type','!=','natural_disasters')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="natural_disasters_max_amount"/>
</group>
</page>
<page string="Legal arguments Settings"
attrs="{'invisible':[('service_type','!=','legal_arguments')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="legal_arguments_max_amount"/>
</group>
</page>
<page string="Buy Home Settings" attrs="{'invisible':[('service_type','!=','buy_home')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="buy_home_max_total_amount"/>
<field name="home_age"/>
</group>
<field name="buy_home_lines" widget="one2many_list">
<tree editable="bottom">
<field name="min_count_member"/>
</group>
</page>
<page string="Recruiting Driver Settings" attrs="{'invisible':[('service_type','!=','recruiting_driver')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_recruiting_driver_amount"/>
</group>
</page>
<page string="Transportation Insurance Settings" attrs="{'invisible':[('service_type','!=','transportation_insurance')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="transportation_insurance_ids" options="{'no_open': True}">
<tree editable="bottom">
<field name="name" />
<field name="limit_amount" />
<field name="account_id" />
</tree>
</field>
</group>
</page>
<page string="Debits Settings" attrs="{'invisible':[('service_type','!=','debits')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_debits_amount"/>
</group>
</page>
<page string="Health Care Settings" attrs="{'invisible':[('service_type','!=','health_care')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_health_care_amount"/>
</group>
</page>
<page string="Providing Medicines Medical Devices And Needs The Disabled Settings" attrs="{'invisible':[('service_type','!=','providing_medicines_medical_devices_and_needs_the_disabled')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
</group>
</page>
<page string="Recruiting Domestic Worker Or Nurse Settings" attrs="{'invisible':[('service_type','!=','recruiting_domestic_worker_or_nurse')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="max_recruiting_domestic_worker_or_nurse_amount"/>
</group>
</page>
<page string="Marriage Settings" attrs="{'invisible':[('service_type','!=','marriage')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="member_max_age"/>
<field name="member_max_payroll"/>
<field name="fatherless_member_amount"/>
<field name="orphan_member_amount"/>
</group>
</page>
<page string="Eid Gift Settings" attrs="{'invisible':[('service_type','!=','eid_gift')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="eid_gift_max_age"/>
<field name="eid_gift_member_amount"/>
</group>
</page>
<page string="Winter Clothing Settings" attrs="{'invisible':[('service_type','!=','winter_clothing')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="winter_clothing_member_amount"/>
</group>
</page>
<page string="Ramadan Basket Settings" attrs="{'invisible':[('service_type','!=','ramadan_basket')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="ramadan_basket_member_amount"/>
</group>
</page>
<page string="Natural disasters Settings" attrs="{'invisible':[('service_type','!=','natural_disasters')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="natural_disasters_max_amount"/>
</group>
</page>
<page string="Legal arguments Settings" attrs="{'invisible':[('service_type','!=','legal_arguments')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="legal_arguments_max_amount"/>
</group>
</page>
<page string="Buy Home Settings" attrs="{'invisible':[('service_type','!=','buy_home')]}">
<group>
<field name="benefit_category_ids" widget="many2many_tags"/>
<field name="buy_home_max_total_amount"/>
<field name="home_age"/>
</group>
<field name="buy_home_lines" widget="one2many_list">
<tree editable="bottom">
<field name="min_count_member"/>
<field name="max_count_member"/>
<field name="amount_for_buy_home"/>
</tree>
</field>
</page>
</notebook>
<field name="max_count_member"/>
<field name="amount_for_buy_home"/>
</tree>
</field>
</page>
</notebook>
</sheet>
</form>
</field>