IMP benefit
This commit is contained in:
parent
2948c1327b
commit
e2cdf0ca6d
|
|
@ -1829,7 +1829,6 @@ msgstr "اسم المرفق"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__attachment_grant_benefit_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__attachment_grant_benefit_ids
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__attachment_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__attachment_ids
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__attachment_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__attachment_ids
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__attachment_ids
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__attachment_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__attachment_ids
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__attachment_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__attachment_ids
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__attachment_ids
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__attachment_ids
|
||||||
|
|
@ -2173,7 +2172,6 @@ msgstr "فئات الاسرة"
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__benefit_category_id
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__benefit_category_id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__benefit_category_id
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_rent_lines__benefit_category_id
|
#: model:ir.model.fields,field_description:odex_benefit.field_rent_lines__benefit_category_id
|
||||||
msgid "Benefit Category"
|
msgid "Benefit Category"
|
||||||
msgstr "فئة الأسرة"
|
msgstr "فئة الأسرة"
|
||||||
|
|
@ -3641,7 +3639,6 @@ msgstr ""
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__create_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__create_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__create_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__create_uid
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__create_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__create_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__create_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__create_uid
|
||||||
|
|
@ -3769,7 +3766,6 @@ msgstr "هل تم إنشاءه من البوابة؟"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__create_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__create_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__create_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__create_date
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__create_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__create_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__create_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__create_date
|
||||||
|
|
@ -4395,7 +4391,6 @@ msgstr "نوع المرض"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__display_name
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__display_name
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__display_name
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__display_name
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__display_name
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__display_name
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__display_name
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__display_name
|
||||||
|
|
@ -5828,16 +5823,6 @@ msgstr ""
|
||||||
msgid "Has Unreconciled Entries"
|
msgid "Has Unreconciled Entries"
|
||||||
msgstr "يحتوي قيود غير مسواة"
|
msgstr "يحتوي قيود غير مسواة"
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_service_request__has_money_field_is_appearance
|
|
||||||
msgid "Has money Field is appearance?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_service_request__has_money_to_pay_first_payment
|
|
||||||
msgid "Has money to pay first payment?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:res.groups,name:odex_benefit.group_benefit_woman_commitee
|
#: model:res.groups,name:odex_benefit.group_benefit_woman_commitee
|
||||||
msgid "Head of the Women's Committee"
|
msgid "Head of the Women's Committee"
|
||||||
|
|
@ -5916,21 +5901,11 @@ msgstr ""
|
||||||
msgid "Home Restoration"
|
msgid "Home Restoration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__home_restoration_lines
|
|
||||||
msgid "Home Restoration Lines"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_form
|
#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_form
|
||||||
msgid "Home Restoration Service"
|
msgid "Home Restoration Service"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form
|
|
||||||
msgid "Home Restoration Service Settings"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__hospital_id
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__hospital_id
|
||||||
msgid "Hospital"
|
msgid "Hospital"
|
||||||
|
|
@ -6124,7 +6099,6 @@ msgstr "رقم الآي بان"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__id
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__id
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__id
|
||||||
|
|
@ -7225,7 +7199,6 @@ msgstr "الجهة التعليمية السابقة"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit____last_update
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings____last_update
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines____last_update
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines____last_update
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital____last_update
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need____last_update
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need____last_update
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need____last_update
|
||||||
|
|
@ -7373,7 +7346,6 @@ msgstr "التخصص السابق"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__write_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__write_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__write_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__write_uid
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__write_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__write_uid
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__write_uid
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__write_uid
|
||||||
|
|
@ -7496,7 +7468,6 @@ msgstr "آخر تحديث بواسطة"
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__write_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_hobbies_settings__write_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__write_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__write_date
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_hospital_hospital__write_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_house_need__write_date
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__write_date
|
#: model:ir.model.fields,field_description:odex_benefit.field_housing_need__write_date
|
||||||
|
|
@ -7851,11 +7822,6 @@ msgstr "الحالة الاجتماعية"
|
||||||
msgid "Material"
|
msgid "Material"
|
||||||
msgstr "مواد"
|
msgstr "مواد"
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__max_amount
|
|
||||||
msgid "Max Amount"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__max_amount_for_student
|
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__max_amount_for_student
|
||||||
msgid "Max Amount for Student"
|
msgid "Max Amount for Student"
|
||||||
|
|
@ -8676,7 +8642,6 @@ msgstr "نوع النشاط التالي"
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_marriage_course__no
|
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_marriage_course__no
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_for_payment__no
|
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_for_payment__no
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_to_pay_first_payment__no
|
|
||||||
msgid "No"
|
msgid "No"
|
||||||
msgstr "لا"
|
msgstr "لا"
|
||||||
|
|
||||||
|
|
@ -10628,7 +10593,6 @@ msgstr "طلبات الخدمات"
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.actions.act_window,name:odex_benefit.services_settings_action
|
#: model:ir.actions.act_window,name:odex_benefit.services_settings_action
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__services_settings_id
|
#: model:ir.model.fields,field_description:odex_benefit.field_home_maintenance_lines__services_settings_id
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_home_restoration_lines__services_settings_id
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_rent_lines__services_settings_id
|
#: model:ir.model.fields,field_description:odex_benefit.field_rent_lines__services_settings_id
|
||||||
#: model:ir.ui.menu,name:odex_benefit.services_settings_menu
|
#: model:ir.ui.menu,name:odex_benefit.services_settings_menu
|
||||||
#: model:ir.ui.menu,name:odex_benefit.benefit_tools_services_settings_menu
|
#: model:ir.ui.menu,name:odex_benefit.benefit_tools_services_settings_menu
|
||||||
|
|
@ -12390,7 +12354,6 @@ msgstr ""
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_marriage_course__yes
|
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_marriage_course__yes
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_for_payment__yes
|
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_for_payment__yes
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit.selection__service_request__has_money_to_pay_first_payment__yes
|
|
||||||
msgid "Yes"
|
msgid "Yes"
|
||||||
msgstr "نعم"
|
msgstr "نعم"
|
||||||
|
|
||||||
|
|
@ -13092,11 +13055,6 @@ msgstr ""
|
||||||
msgid "home.maintenance.lines"
|
msgid "home.maintenance.lines"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model,name:odex_benefit.model_home_restoration_lines
|
|
||||||
msgid "home.restoration.lines"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.hospital_tree
|
#: model_terms:ir.ui.view,arch_db:odex_benefit.hospital_tree
|
||||||
msgid "hospital"
|
msgid "hospital"
|
||||||
|
|
@ -15764,11 +15722,6 @@ msgstr "مرة كل فترة"
|
||||||
msgid "Unlimited"
|
msgid "Unlimited"
|
||||||
msgstr "غير محدد"
|
msgstr "غير محدد"
|
||||||
|
|
||||||
#. module: odex_benefit
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__recurrence_period
|
|
||||||
msgid "Recurrence Period (Months)"
|
|
||||||
msgstr "فترة التكرار(عدد الشهور)"
|
|
||||||
|
|
||||||
#. module: odex_benefit
|
#. module: odex_benefit
|
||||||
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__requires_visit
|
#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__requires_visit
|
||||||
msgid "Requires Visit?"
|
msgid "Requires Visit?"
|
||||||
|
|
|
||||||
|
|
@ -105,9 +105,7 @@ class ServiceRequest(models.Model):
|
||||||
# maintenance_items_id = fields.Many2one('home.maintenance.lines', string="Maintenance Items")
|
# maintenance_items_id = fields.Many2one('home.maintenance.lines', string="Maintenance Items")
|
||||||
maintenance_items_ids = fields.One2many('home.maintenance.items','service_request_id', string="Maintenance Items",)
|
maintenance_items_ids = fields.One2many('home.maintenance.items','service_request_id', string="Maintenance Items",)
|
||||||
#Home restoration fields
|
#Home restoration fields
|
||||||
restoration_max_amount = fields.Float(string='Restoration Max Amount',compute='_get_restoration_max_amount')
|
restoration_max_amount = fields.Float(string='Restoration Max Amount')
|
||||||
has_money_to_pay_first_payment = fields.Selection([('yes', 'Yes'), ('no', 'No')],string='Has money to pay first payment?')
|
|
||||||
has_money_field_is_appearance = fields.Boolean(string='Has money Field is appearance?',compute='_get_money_field_is_appearance')
|
|
||||||
payment_order_id = fields.Many2one('payment.orders',string='Payment Order')
|
payment_order_id = fields.Many2one('payment.orders',string='Payment Order')
|
||||||
is_payment_order_done = fields.Boolean(string='Is Payment Order Done?')
|
is_payment_order_done = fields.Boolean(string='Is Payment Order Done?')
|
||||||
aid_amount = fields.Float(string='Aid Amount',compute='_get_aid_amount')
|
aid_amount = fields.Float(string='Aid Amount',compute='_get_aid_amount')
|
||||||
|
|
@ -180,6 +178,10 @@ class ServiceRequest(models.Model):
|
||||||
exception_attach = fields.Many2many('ir.attachment', 'rel_exception_attachment_service_request', 'service_request_id',
|
exception_attach = fields.Many2many('ir.attachment', 'rel_exception_attachment_service_request', 'service_request_id',
|
||||||
'attachment_id', string='Exception Attachment')
|
'attachment_id', string='Exception Attachment')
|
||||||
service_conditions = fields.Html(related='service_cat.service_conditions', string="Service Conditions")
|
service_conditions = fields.Html(related='service_cat.service_conditions', string="Service Conditions")
|
||||||
|
service_approval_date = fields.Datetime(string="Service Approval Date",readonly=True,)
|
||||||
|
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')
|
||||||
|
service_max_amount = fields.Monetary(string="Maximum Amount", currency_field='currency_id', copy=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -385,21 +387,6 @@ class ServiceRequest(models.Model):
|
||||||
rec.added_amount_if_mother_dead = 0.0
|
rec.added_amount_if_mother_dead = 0.0
|
||||||
if rec.family_id.mother_marital_conf.is_dead:
|
if rec.family_id.mother_marital_conf.is_dead:
|
||||||
rec.added_amount_if_mother_dead = rec.service_cat.raise_amount_for_orphan
|
rec.added_amount_if_mother_dead = rec.service_cat.raise_amount_for_orphan
|
||||||
@api.depends('service_cat','family_id')
|
|
||||||
def _get_restoration_max_amount(self):
|
|
||||||
self.restoration_max_amount = 0.0
|
|
||||||
for line in self.service_cat.home_restoration_lines:
|
|
||||||
if line.benefit_category_id == self.family_category:
|
|
||||||
self.restoration_max_amount = line.max_amount
|
|
||||||
# else:
|
|
||||||
# self.restoration_max_amount = 0.0
|
|
||||||
@api.depends('requested_service_amount', 'restoration_max_amount')
|
|
||||||
def _get_money_field_is_appearance(self):
|
|
||||||
for rec in self:
|
|
||||||
if rec.requested_service_amount and rec.restoration_max_amount and rec.requested_service_amount > rec.restoration_max_amount :
|
|
||||||
rec.has_money_field_is_appearance = True
|
|
||||||
else:
|
|
||||||
rec.has_money_field_is_appearance = False
|
|
||||||
|
|
||||||
@api.depends('requested_service_amount', 'max_complete_building_house_amount')
|
@api.depends('requested_service_amount', 'max_complete_building_house_amount')
|
||||||
def _get_money_for_payment_is_appearance(self):
|
def _get_money_for_payment_is_appearance(self):
|
||||||
|
|
@ -474,10 +461,12 @@ class ServiceRequest(models.Model):
|
||||||
else:
|
else:
|
||||||
if rec.service_type == 'buy_car':
|
if rec.service_type == 'buy_car':
|
||||||
rec.family_id.has_car = True
|
rec.family_id.has_car = True
|
||||||
|
rec.service_approval_date = fields.Datetime.now()
|
||||||
rec.state = 'send_request_to_supplier'
|
rec.state = 'send_request_to_supplier'
|
||||||
|
|
||||||
def action_supplier_approve(self):
|
def action_supplier_approve(self):
|
||||||
for rec in self:
|
for rec in self:
|
||||||
|
rec.service_approval_date = fields.Datetime.now()
|
||||||
rec.state = 'send_request_to_supplier'
|
rec.state = 'send_request_to_supplier'
|
||||||
|
|
||||||
def action_request_done(self):
|
def action_request_done(self):
|
||||||
|
|
@ -506,13 +495,6 @@ class ServiceRequest(models.Model):
|
||||||
'target': 'new',
|
'target': 'new',
|
||||||
}
|
}
|
||||||
|
|
||||||
@api.onchange('service_cat','family_id')
|
|
||||||
def onchange_service_cat(self):
|
|
||||||
for rec in self:
|
|
||||||
if rec.service_cat.service_type == 'rent' and rec.family_id.property_type != 'rent' and rec.family_id.property_type != 'rent_shared' and rec.benefit_type == 'family':
|
|
||||||
raise UserError(_("You cannot benefit from this service (property type not rent)"))
|
|
||||||
if rec.service_cat.service_type == 'home_restoration' and rec.family_id.property_type != 'ownership' and rec.family_id.property_type != 'ownership_shared' and rec.family_id.property_type != 'charitable' and rec.benefit_type == 'family':
|
|
||||||
raise UserError(_("You cannot benefit from this service (property type not ownership)"))
|
|
||||||
|
|
||||||
@api.onchange('rent_payment_date','new_rent_payment_date')
|
@api.onchange('rent_payment_date','new_rent_payment_date')
|
||||||
def onchange_rent_payment_date(self):
|
def onchange_rent_payment_date(self):
|
||||||
|
|
@ -557,6 +539,8 @@ class ServiceRequest(models.Model):
|
||||||
|
|
||||||
@api.onchange('service_cat','family_id')
|
@api.onchange('service_cat','family_id')
|
||||||
def _onchange_service_cat(self):
|
def _onchange_service_cat(self):
|
||||||
|
if self.service_cat.service_type == 'rent' and self.family_id.property_type != 'rent' and self.family_id.property_type != 'rent_shared' and self.benefit_type == 'family':
|
||||||
|
raise UserError(_("You cannot benefit from this service (property type not rent)"))
|
||||||
electricity_bill_amount = max(self.service_cat.electricity_bill_lines.filtered(lambda x : x.benefit_category_id.id == self.family_category.id and
|
electricity_bill_amount = max(self.service_cat.electricity_bill_lines.filtered(lambda x : x.benefit_category_id.id == self.family_category.id and
|
||||||
x.min_count_member <= self.benefit_member_count <= x.max_count_member).mapped('max_amount_for_electricity_bill'), default=0.0)
|
x.min_count_member <= self.benefit_member_count <= x.max_count_member).mapped('max_amount_for_electricity_bill'), default=0.0)
|
||||||
water_bill_amount = max(self.service_cat.water_bill_lines.filtered(lambda x : x.benefit_category_id.id == self.family_category.id and
|
water_bill_amount = max(self.service_cat.water_bill_lines.filtered(lambda x : x.benefit_category_id.id == self.family_category.id and
|
||||||
|
|
@ -650,8 +634,7 @@ class ServiceRequest(models.Model):
|
||||||
if existing_request_maintenance:
|
if existing_request_maintenance:
|
||||||
raise UserError(
|
raise UserError(
|
||||||
_("You cannot request this service with maintenance service in the same year."))
|
_("You cannot request this service with maintenance service in the same year."))
|
||||||
if rec.has_money_to_pay_first_payment == 'no':
|
home_restoration_line_id = rec.service_cat.category_amount_lines.filtered(lambda r: r.benefit_category_id.id == rec.family_category.id)
|
||||||
home_restoration_line_id = rec.service_cat.home_restoration_lines.filtered(lambda r: r.benefit_category_id.id == rec.family_category.id)
|
|
||||||
if rec.requested_service_amount > home_restoration_line_id.max_amount:
|
if rec.requested_service_amount > home_restoration_line_id.max_amount:
|
||||||
raise UserError(
|
raise UserError(
|
||||||
_("You cannot request more than %s") % home_restoration_line_id.max_amount
|
_("You cannot request more than %s") % home_restoration_line_id.max_amount
|
||||||
|
|
@ -969,6 +952,8 @@ class ServiceRequest(models.Model):
|
||||||
if rec.benefit_type:
|
if rec.benefit_type:
|
||||||
if rec.benefit_type == 'family':
|
if rec.benefit_type == 'family':
|
||||||
domain = [('service_type', '!=', 'main_service'),('benefit_type','!=','member'),('benefit_category_ids', 'in', [rec.family_category.id])]
|
domain = [('service_type', '!=', 'main_service'),('benefit_type','!=','member'),('benefit_category_ids', 'in', [rec.family_category.id])]
|
||||||
|
if rec.family_id.property_type not in ['ownership','ownership_shared','charitable']:
|
||||||
|
domain.append(('service_type','!=','home_restoration'))
|
||||||
rec.available_service_cats = rec.available_service_cats.sudo().search(domain)
|
rec.available_service_cats = rec.available_service_cats.sudo().search(domain)
|
||||||
elif rec.benefit_type == 'member' and rec.member_id:
|
elif rec.benefit_type == 'member' and rec.member_id:
|
||||||
domain = [
|
domain = [
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ class ServicesSettings(models.Model):
|
||||||
rent_lines = fields.One2many('rent.lines','services_settings_id')
|
rent_lines = fields.One2many('rent.lines','services_settings_id')
|
||||||
attachment_lines = fields.One2many('service.attachments.settings','service_id')
|
attachment_lines = fields.One2many('service.attachments.settings','service_id')
|
||||||
#Fields for home restoration
|
#Fields for home restoration
|
||||||
home_restoration_lines = fields.One2many('home.restoration.lines','services_settings_id')
|
category_amount_lines = fields.One2many('category.amount.line','services_settings_id')
|
||||||
rent_amount_for_alternative_housing = fields.Float(string='Rent Amount For Alternative Housing')
|
rent_amount_for_alternative_housing = fields.Float(string='Rent Amount For Alternative Housing')
|
||||||
rent_period = fields.Integer('Rent Period')
|
rent_period = fields.Integer('Rent Period')
|
||||||
home_maintenance_lines = fields.One2many('home.maintenance.lines','services_settings_id')
|
home_maintenance_lines = fields.One2many('home.maintenance.lines','services_settings_id')
|
||||||
|
|
@ -102,8 +102,14 @@ class ServicesSettings(models.Model):
|
||||||
('periodic', 'Every Period'),
|
('periodic', 'Every Period'),
|
||||||
('unlimited', 'Unlimited'),
|
('unlimited', 'Unlimited'),
|
||||||
], string="Allowed Recurrence", default='once')
|
], string="Allowed Recurrence", default='once')
|
||||||
recurrence_period = fields.Integer(
|
recurrence_period = fields.Selection([
|
||||||
string="Recurrence Period (Months)"
|
('months', 'Months'),
|
||||||
|
('years', 'Years'),],
|
||||||
|
string="Recurrence Period", default='months'
|
||||||
|
)
|
||||||
|
recurrence_interval = fields.Integer(
|
||||||
|
string="Recurrence Interval",
|
||||||
|
default=1,
|
||||||
)
|
)
|
||||||
requires_visit = fields.Boolean(
|
requires_visit = fields.Boolean(
|
||||||
string="Requires Visit?"
|
string="Requires Visit?"
|
||||||
|
|
@ -137,10 +143,10 @@ class RentLines(models.Model):
|
||||||
_("Couldn't create same benefit category and count")
|
_("Couldn't create same benefit category and count")
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
class HomeRestorationLines(models.Model):
|
|
||||||
_name = 'home.restoration.lines'
|
class CategoryAmountLine(models.Model):
|
||||||
|
_name = 'category.amount.line'
|
||||||
|
|
||||||
benefit_category_id = fields.Many2one('benefit.category', string='Benefit Category')
|
benefit_category_id = fields.Many2one('benefit.category', string='Benefit Category')
|
||||||
services_settings_id = fields.Many2one('services.settings', string='Services Settings')
|
services_settings_id = fields.Many2one('services.settings', string='Services Settings')
|
||||||
|
|
@ -205,8 +211,8 @@ class TransportationInsurance(models.Model):
|
||||||
name = fields.Char(string="Insurance Name", required=True)
|
name = fields.Char(string="Insurance Name", required=True)
|
||||||
limit_amount = fields.Float(required=True)
|
limit_amount = fields.Float(required=True)
|
||||||
account_id = fields.Many2one(
|
account_id = fields.Many2one(
|
||||||
'account.account',
|
'account.account',
|
||||||
string='Expenses Account',
|
string='Expenses Account',
|
||||||
domain="[('user_type_id.id', '=', 15)]",
|
domain="[('user_type_id.id', '=', 15)]",
|
||||||
required=True
|
required=True
|
||||||
)
|
)
|
||||||
|
|
|
||||||
|
|
@ -131,7 +131,7 @@ access_seasonal_service,access_seasonal_services,model_seasonal_service,base.gro
|
||||||
access_seasonal_grant_benefit,access_seasonal_grant_benefits,model_seasonal_grant_benefit,base.group_user,1,1,1,1
|
access_seasonal_grant_benefit,access_seasonal_grant_benefits,model_seasonal_grant_benefit,base.group_user,1,1,1,1
|
||||||
access_marital_status,access_marital_status,model_marital_status,base.group_user,1,1,1,1
|
access_marital_status,access_marital_status,model_marital_status,base.group_user,1,1,1,1
|
||||||
access_service_attachments_settings,access_service_attachments_settings,model_service_attachments_settings,base.group_user,1,1,1,1
|
access_service_attachments_settings,access_service_attachments_settings,model_service_attachments_settings,base.group_user,1,1,1,1
|
||||||
access_home_restoration_lines,access_home_restoration_lines,model_home_restoration_lines,base.group_user,1,1,1,1
|
access_category_amount_line,access_category_amount_line,model_category_amount_line,base.group_user,1,1,1,1
|
||||||
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
||||||
access_home_maintenance_items,access_home_maintenance_items,model_home_maintenance_items,base.group_user,1,1,1,1
|
access_home_maintenance_items,access_home_maintenance_items,model_home_maintenance_items,base.group_user,1,1,1,1
|
||||||
access_exchange_order_wizard,access_exchange_order_wizard,model_exchange_order_wizard,base.group_user,1,1,1,1
|
access_exchange_order_wizard,access_exchange_order_wizard,model_exchange_order_wizard,base.group_user,1,1,1,1
|
||||||
|
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<form string="Service Request">
|
<form string="Service Request">
|
||||||
<header>
|
<header>
|
||||||
<button name="action_send_to_researcher" type="object" states="draft"
|
<button name="action_send_to_researcher" type="object" states="draft"
|
||||||
string="Send" class="oe_highlight" />
|
string="Send" class="oe_highlight"/>
|
||||||
<button name="action_researcher_send_request" type="object" states="researcher"
|
<button name="action_researcher_send_request" type="object" states="researcher"
|
||||||
string="Researcher Approval" class="oe_highlight"
|
string="Researcher Approval" class="oe_highlight"
|
||||||
groups="odex_benefit.group_benefit_researcher"
|
groups="odex_benefit.group_benefit_researcher"
|
||||||
|
|
@ -126,12 +126,15 @@
|
||||||
<field name="is_service_producer" invisible="1"/>
|
<field name="is_service_producer" invisible="1"/>
|
||||||
<field name="service_producer_id"
|
<field name="service_producer_id"
|
||||||
attrs="{'invisible':[('is_service_producer','=',False)],'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
attrs="{'invisible':[('is_service_producer','=',False)],'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
||||||
|
<field name="currency_id" groups="base.group_multi_currency"/>
|
||||||
|
<field name="company_id" groups="base.group_multi_company"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="available_service_cats" invisible="1"/>
|
<field name="available_service_cats" invisible="1"/>
|
||||||
<field name="service_cat"
|
<field name="service_cat"
|
||||||
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"
|
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"
|
||||||
domain="[('id','in',available_service_cats)]" required="1"/>
|
domain="[('id','in',available_service_cats)]" required="1"/>
|
||||||
|
<field name="service_approval_date"/>
|
||||||
<field name="need_status"
|
<field name="need_status"
|
||||||
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
||||||
<field name="main_service_category"
|
<field name="main_service_category"
|
||||||
|
|
@ -147,6 +150,8 @@
|
||||||
('service_type', 'in', ['marriage', 'eid_gift', 'winter_clothing', 'ramadan_basket']),
|
('service_type', 'in', ['marriage', 'eid_gift', 'winter_clothing', 'ramadan_basket']),
|
||||||
('service_type', 'in', ['electrical_devices', 'home_furnishing'])
|
('service_type', 'in', ['electrical_devices', 'home_furnishing'])
|
||||||
]}" force_save="1" required="1"/>
|
]}" force_save="1" required="1"/>
|
||||||
|
<field name="service_max_amount"
|
||||||
|
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
||||||
<field name="exception"
|
<field name="exception"
|
||||||
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
attrs="{'readonly':[('state','not in',['draft','researcher','send_request'])]}"/>
|
||||||
<field name="exception_attach" attrs="{'invisible': [('exception', '=', False)]}"
|
<field name="exception_attach" attrs="{'invisible': [('exception', '=', False)]}"
|
||||||
|
|
@ -308,15 +313,6 @@
|
||||||
</tree>
|
</tree>
|
||||||
</field>
|
</field>
|
||||||
</page>
|
</page>
|
||||||
<page string="Home Restoration Service"
|
|
||||||
attrs="{'invisible':[('service_type', '!=', 'home_restoration')]}">
|
|
||||||
<group>
|
|
||||||
<field name="restoration_max_amount"/>
|
|
||||||
<field name="has_money_field_is_appearance" invisible="1"/>
|
|
||||||
<field name="has_money_to_pay_first_payment"
|
|
||||||
attrs="{'invisible':[('has_money_field_is_appearance', '=', False)],'required':[('has_money_field_is_appearance', '=', True)]}"/>
|
|
||||||
</group>
|
|
||||||
</page>
|
|
||||||
<page string="Complete Building House"
|
<page string="Complete Building House"
|
||||||
attrs="{'invisible':[('service_type', '!=', 'complete_building_house')]}">
|
attrs="{'invisible':[('service_type', '!=', 'complete_building_house')]}">
|
||||||
<group>
|
<group>
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,8 @@
|
||||||
<page string="Settings">
|
<page string="Settings">
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="max_amount"/>
|
<field name="max_limit_type"/>
|
||||||
|
<field name="max_amount" attrs="{'invisible': [('max_limit_type', '!=', 'fixed')]}"/>
|
||||||
<field name="currency_id" invisible="1"/>
|
<field name="currency_id" invisible="1"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
|
|
@ -59,12 +60,15 @@
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="allowed_recurrence"/>
|
<field name="allowed_recurrence"/>
|
||||||
<field name="recurrence_period"
|
<label for="recurrence_interval"
|
||||||
attrs="{'invisible': [('allowed_recurrence', '!=', 'periodic')]}"/>
|
attrs="{'invisible': [('allowed_recurrence', '!=', 'periodic')]}"/>
|
||||||
|
<div class="o_row" attrs="{'invisible': [('allowed_recurrence', '!=', 'periodic')]}">
|
||||||
|
<field name="recurrence_interval" class="oe_inline" nolabel="1"/>
|
||||||
|
<field name="recurrence_period" class="oe_inline" nolabel="1"/>
|
||||||
|
</div>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="requires_visit" widget="boolean_toggle"/>
|
<field name="requires_visit" widget="boolean_toggle"/>
|
||||||
<field name="max_limit_type"/>
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
|
|
@ -114,9 +118,9 @@
|
||||||
<field name="raise_amount_for_orphan"/>
|
<field name="raise_amount_for_orphan"/>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
<page string="Home Restoration Service Settings"
|
<page string="Amounts by Categories"
|
||||||
attrs="{'invisible':[('service_type','!=','home_restoration')]}">
|
attrs="{'invisible':[('max_limit_type', '!=', 'category')]}">
|
||||||
<field name="home_restoration_lines" widget="one2many_list">
|
<field name="category_amount_lines" widget="one2many_list">
|
||||||
<tree editable="bottom">
|
<tree editable="bottom">
|
||||||
<field name="benefit_category_id"/>
|
<field name="benefit_category_id"/>
|
||||||
<field name="max_amount"/>
|
<field name="max_amount"/>
|
||||||
|
|
|
||||||
|
|
@ -20,16 +20,6 @@ msgstr ""
|
||||||
msgid "Alternative Housing"
|
msgid "Alternative Housing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#. module: odex_benefit_project
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit_project.field_project_project__has_money_field_is_appearance
|
|
||||||
msgid "Has money Field is appearance?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit_project
|
|
||||||
#: model:ir.model.fields,field_description:odex_benefit_project.field_project_project__has_money_to_pay_first_payment
|
|
||||||
msgid "Has money to pay first payment?"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. module: odex_benefit_project
|
#. module: odex_benefit_project
|
||||||
#: model:ir.model.fields.selection,name:odex_benefit_project.selection__project_project__service_type__home_maintenance
|
#: model:ir.model.fields.selection,name:odex_benefit_project.selection__project_project__service_type__home_maintenance
|
||||||
msgid "Home Maintenance"
|
msgid "Home Maintenance"
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,6 @@ class ProjectProjectInherit(models.Model):
|
||||||
#Fields for 'Home restoration' service and 'alternative_housing' service
|
#Fields for 'Home restoration' service and 'alternative_housing' service
|
||||||
requested_service_amount = fields.Float(string="Requested Service Amount")
|
requested_service_amount = fields.Float(string="Requested Service Amount")
|
||||||
restoration_max_amount = fields.Float(string='Restoration Max Amount')
|
restoration_max_amount = fields.Float(string='Restoration Max Amount')
|
||||||
has_money_field_is_appearance = fields.Boolean(string='Has money Field is appearance?')
|
|
||||||
has_money_to_pay_first_payment = fields.Boolean(string='Has money to pay first payment?')
|
|
||||||
is_family_need_evacuate = fields.Boolean(string='Is family need evacuate?')
|
is_family_need_evacuate = fields.Boolean(string='Is family need evacuate?')
|
||||||
#Fields for 'complete building house' service
|
#Fields for 'complete building house' service
|
||||||
max_complete_building_house_amount = fields.Float(string='Max Complete Building House Amount')
|
max_complete_building_house_amount = fields.Float(string='Max Complete Building House Amount')
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
from odoo import fields, models, api, _
|
from odoo import fields, models, api, _
|
||||||
from odoo.exceptions import UserError, ValidationError
|
from odoo.exceptions import UserError, ValidationError
|
||||||
from datetime import timedelta
|
from datetime import datetime,timedelta
|
||||||
from dateutil.relativedelta import relativedelta
|
from dateutil.relativedelta import relativedelta
|
||||||
|
|
||||||
class ServiceRequestInherit(models.Model):
|
class ServiceRequestInherit(models.Model):
|
||||||
|
|
@ -8,14 +8,15 @@ class ServiceRequestInherit(models.Model):
|
||||||
_inherit = 'service.request'
|
_inherit = 'service.request'
|
||||||
|
|
||||||
project_id = fields.Many2one('project.project',srting='Project')
|
project_id = fields.Many2one('project.project',srting='Project')
|
||||||
|
project_expected_delivery_date = fields.Date(string='Expected Delivery Date',related='project_id.date',)
|
||||||
rent_period = fields.Integer('Rent Period')
|
rent_period = fields.Integer('Rent Period')
|
||||||
project_create = fields.Boolean(string='Project Create?',related='service_cat.project_create')
|
project_create = fields.Boolean(string='Project Create?',related='service_cat.project_create')
|
||||||
|
|
||||||
def action_accounting_approve(self):
|
def action_accounting_approve(self):
|
||||||
super(ServiceRequestInherit, self).action_accounting_approve()
|
super(ServiceRequestInherit, self).action_accounting_approve()
|
||||||
for rec in self:
|
for rec in self:
|
||||||
if rec.service_cat.project_create:
|
if rec.service_cat.project_create and not rec.project_id:
|
||||||
project = self.env['project.project'].create(
|
project = self.env['project.project'].sudo().create(
|
||||||
{
|
{
|
||||||
'name': (_('%s')%rec.service_cat.service_type) +"/"+ rec.family_id.name +"/"+ rec.family_id.code,
|
'name': (_('%s')%rec.service_cat.service_type) +"/"+ rec.family_id.name +"/"+ rec.family_id.code,
|
||||||
'partner_id': rec.service_producer_id.id,
|
'partner_id': rec.service_producer_id.id,
|
||||||
|
|
@ -23,12 +24,19 @@ class ServiceRequestInherit(models.Model):
|
||||||
'category_id' : rec.service_cat.category_id.id,
|
'category_id' : rec.service_cat.category_id.id,
|
||||||
'requested_service_amount' : rec.requested_service_amount,
|
'requested_service_amount' : rec.requested_service_amount,
|
||||||
'restoration_max_amount' : rec.restoration_max_amount,
|
'restoration_max_amount' : rec.restoration_max_amount,
|
||||||
'has_money_field_is_appearance': rec.has_money_field_is_appearance,
|
|
||||||
'has_money_to_pay_first_payment' : rec.has_money_to_pay_first_payment,
|
|
||||||
'service_type' : rec.service_cat.service_type,
|
'service_type' : rec.service_cat.service_type,
|
||||||
'max_complete_building_house_amount' : rec.max_complete_building_house_amount,
|
'max_complete_building_house_amount' : rec.max_complete_building_house_amount,
|
||||||
'has_money_for_payment_is_appearance' : rec.has_money_for_payment_is_appearance,
|
'has_money_for_payment_is_appearance' : rec.has_money_for_payment_is_appearance,
|
||||||
'has_money_for_payment' : rec.has_money_for_payment,
|
'has_money_for_payment' : rec.has_money_for_payment,
|
||||||
|
'department_execute_id': rec.family_id.branch_custom_id.branch.id,
|
||||||
|
'project_latitude': rec.family_id.lat,
|
||||||
|
'project_longitude': rec.family_id.lon,
|
||||||
|
'street': rec.family_id.street,
|
||||||
|
'street2': rec.family_id.house_number,
|
||||||
|
'city': rec.family_id.city_id.name,
|
||||||
|
'state_id': rec.family_id.city_id.state_id.id,
|
||||||
|
'zip': rec.family_id.zip,
|
||||||
|
'country_id':rec.family_id.city_id.country_id.id,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
rec.project_id = project
|
rec.project_id = project
|
||||||
|
|
@ -47,14 +55,70 @@ class ServiceRequestInherit(models.Model):
|
||||||
)
|
)
|
||||||
def onchange_requested_service_amount(self):
|
def onchange_requested_service_amount(self):
|
||||||
res = {}
|
res = {}
|
||||||
|
Service = self.env['service.request']
|
||||||
today = fields.Date.today()
|
today = fields.Date.today()
|
||||||
|
|
||||||
|
#to delete
|
||||||
date_before_year = today - timedelta(days=365)
|
date_before_year = today - timedelta(days=365)
|
||||||
date_before_seven_years = today - relativedelta(years=7)
|
date_before_seven_years = today - relativedelta(years=7)
|
||||||
date_before_three_years = today - relativedelta(years=3)
|
date_before_three_years = today - relativedelta(years=3)
|
||||||
date_before_ten_years = today - timedelta(days=3650)
|
|
||||||
date_before_month = today - timedelta(days=30)
|
date_before_month = today - timedelta(days=30)
|
||||||
|
|
||||||
for rec in self:
|
for rec in self:
|
||||||
if not rec.exception and not rec.exception_attach:
|
if not rec.exception and not rec.exception_attach:
|
||||||
|
family_id = rec.family_id.id
|
||||||
|
service_type = rec.service_cat.service_type
|
||||||
|
allowed = rec.service_cat.allowed_recurrence
|
||||||
|
interval = rec.service_cat.recurrence_interval or 1
|
||||||
|
period = rec.service_cat.recurrence_period or 'months'
|
||||||
|
max_limit_type = rec.service_cat.max_limit_type
|
||||||
|
if allowed:
|
||||||
|
if allowed == 'unlimited':
|
||||||
|
continue
|
||||||
|
base_domain = [
|
||||||
|
('family_id', '=', family_id),
|
||||||
|
('service_cat.service_type', '=', service_type),
|
||||||
|
('id', '!=', rec._origin.id),
|
||||||
|
('state', '!=', 'refused')
|
||||||
|
]
|
||||||
|
if allowed == 'once':
|
||||||
|
if Service.search_count(base_domain):
|
||||||
|
raise UserError(_("You cannot request this service more than once."))
|
||||||
|
continue
|
||||||
|
|
||||||
|
last_request = Service.search(base_domain, order='date desc', limit=1)
|
||||||
|
if last_request and last_request.date:
|
||||||
|
last_date = (
|
||||||
|
last_request.date.date()
|
||||||
|
if isinstance(last_request.date, datetime)
|
||||||
|
else last_request.date
|
||||||
|
)
|
||||||
|
next_allowed_date = (
|
||||||
|
last_date + relativedelta(months=interval)
|
||||||
|
if period == 'months'
|
||||||
|
else last_date + relativedelta(years=interval)
|
||||||
|
)
|
||||||
|
if isinstance(next_allowed_date, datetime):
|
||||||
|
next_allowed_date = next_allowed_date.date()
|
||||||
|
|
||||||
|
if today < next_allowed_date:
|
||||||
|
raise UserError(_(
|
||||||
|
"You can only request this service again after %s."
|
||||||
|
) % next_allowed_date.strftime('%Y-%m-%d'))
|
||||||
|
|
||||||
|
if max_limit_type:
|
||||||
|
if max_limit_type == 'fixed':
|
||||||
|
rec.service_max_amount = rec.service_cat.max_amount
|
||||||
|
elif max_limit_type == 'category':
|
||||||
|
rec.service_max_amount = rec.service_cat.category_amount_lines.filtered(
|
||||||
|
lambda r: r.benefit_category_id.id == rec.family_category.id).max_amount
|
||||||
|
|
||||||
|
if rec.requested_service_amount > rec.service_max_amount:
|
||||||
|
raise UserError(
|
||||||
|
_("You cannot request more than %s") % rec.service_max_amount
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Validation for 'member' benefit type
|
# Validation for 'member' benefit type
|
||||||
if rec.benefit_type == 'member' and rec.service_cat.service_type == 'rent':
|
if rec.benefit_type == 'member' and rec.service_cat.service_type == 'rent':
|
||||||
max_requested_amount = rec.service_cat.max_amount_for_student
|
max_requested_amount = rec.service_cat.max_amount_for_student
|
||||||
|
|
@ -101,31 +165,6 @@ class ServiceRequestInherit(models.Model):
|
||||||
if existing_request_restoration:
|
if existing_request_restoration:
|
||||||
raise UserError(
|
raise UserError(
|
||||||
_("You cannot request this service with restoration service in the same year."))
|
_("You cannot request this service with restoration service in the same year."))
|
||||||
# Validation for 'family' benefit type with 'home_restoration'
|
|
||||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'home_restoration':
|
|
||||||
# Prevent multiple 'home_maintenance' requests within the same year
|
|
||||||
existing_request_restoration = self.search([
|
|
||||||
('date', '>', date_before_ten_years),
|
|
||||||
('family_id', '=', rec.family_id.id),
|
|
||||||
('service_cat.service_type', '=', 'home_restoration'), ('id', '!=', self._origin.id)
|
|
||||||
], limit=1)
|
|
||||||
if existing_request_restoration:
|
|
||||||
raise UserError(_("You cannot request this service more than once a ten years."))
|
|
||||||
existing_request_maintenance = self.search([
|
|
||||||
('date', '>', date_before_year),
|
|
||||||
('family_id', '=', rec.family_id.id),
|
|
||||||
('service_cat.service_type', '=', 'home_maintenance')
|
|
||||||
], limit=1)
|
|
||||||
if existing_request_maintenance:
|
|
||||||
raise UserError(
|
|
||||||
_("You cannot request this service with maintenance service in the same year."))
|
|
||||||
if rec.has_money_to_pay_first_payment == 'no':
|
|
||||||
home_restoration_line_id = rec.service_cat.home_restoration_lines.filtered(lambda r: r.benefit_category_id.id == rec.family_category.id)
|
|
||||||
if rec.requested_service_amount > home_restoration_line_id.max_amount:
|
|
||||||
raise UserError(
|
|
||||||
_("You cannot request more than %s") % home_restoration_line_id.max_amount
|
|
||||||
)
|
|
||||||
|
|
||||||
# Validation for 'family' benefit type with 'complete_building_house' service type
|
# Validation for 'family' benefit type with 'complete_building_house' service type
|
||||||
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'complete_building_house':
|
if rec.benefit_type == 'family' and rec.service_cat.service_type == 'complete_building_house':
|
||||||
# Check for existing request of the same type
|
# Check for existing request of the same type
|
||||||
|
|
|
||||||
|
|
@ -125,5 +125,5 @@ access_exception_reason,access_exception_reason,model_exception_reason,base.grou
|
||||||
access_service_request,access_service_request,model_service_request,base.group_user,1,1,1,1
|
access_service_request,access_service_request,model_service_request,base.group_user,1,1,1,1
|
||||||
access_marital_status,access_marital_status,model_marital_status,base.group_user,1,1,1,1
|
access_marital_status,access_marital_status,model_marital_status,base.group_user,1,1,1,1
|
||||||
access_service_attachments_settings,access_service_attachments_settings,model_service_attachments_settings,base.group_user,1,1,1,1
|
access_service_attachments_settings,access_service_attachments_settings,model_service_attachments_settings,base.group_user,1,1,1,1
|
||||||
access_home_restoration_lines,access_home_restoration_lines,model_home_restoration_lines,base.group_user,1,1,1,1
|
access_category_amount_line,access_category_amount_line,model_category_amount_line,base.group_user,1,1,1,1
|
||||||
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
access_home_maintenance_lines,access_home_maintenance_lines,model_home_maintenance_lines,base.group_user,1,1,1,1
|
||||||
|
|
|
@ -18,8 +18,6 @@
|
||||||
<field name="service_type" readonly="1" force_save="1"/>
|
<field name="service_type" readonly="1" force_save="1"/>
|
||||||
<field name="requested_service_amount"/>
|
<field name="requested_service_amount"/>
|
||||||
<field name="restoration_max_amount"/>
|
<field name="restoration_max_amount"/>
|
||||||
<field name="has_money_field_is_appearance" invisible="1"/>
|
|
||||||
<field name="has_money_to_pay_first_payment" widget="boolean_toggle" attrs="{'invisible':[('has_money_field_is_appearance', '=', False)]}"/>
|
|
||||||
<field name="is_family_need_evacuate" groups="project_base.group_project_department_manager"/>
|
<field name="is_family_need_evacuate" groups="project_base.group_project_department_manager"/>
|
||||||
</group>
|
</group>
|
||||||
</page>
|
</page>
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,19 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
<data>
|
||||||
<record id="service_request_inherit_view_form" model="ir.ui.view">
|
<record id="service_request_inherit_view_form" model="ir.ui.view">
|
||||||
<field name="name">service.request.form</field>
|
<field name="name">service.request.form</field>
|
||||||
<field name="model">service.request</field>
|
<field name="model">service.request</field>
|
||||||
<field name="inherit_id" ref="odex_benefit.service_request_form"/>
|
<field name="inherit_id" ref="odex_benefit.service_request_form"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<xpath expr="//field[@name='requested_service_amount']" position="after">
|
<xpath expr="//field[@name='requested_service_amount']" position="after">
|
||||||
<field name="rent_period" attrs="{'invisible': [('service_type', '!=', 'alternative_housing')],'required':[('service_type', '=','alternative_housing')]}"/>
|
<field name="rent_period"
|
||||||
|
attrs="{'invisible': [('service_type', '!=', 'alternative_housing')],'required':[('service_type', '=','alternative_housing')]}"/>
|
||||||
<field name="project_create" invisible="1"/>
|
<field name="project_create" invisible="1"/>
|
||||||
<field name="project_id" readonly="1" attrs="{'invisible': ['|',('state','!=','accounting_approve'),('project_create', '=',False)]}"/>
|
<field name="project_id" readonly="1" attrs="{'invisible': [('project_create', '=',False)]}"/>
|
||||||
|
<field name="project_expected_delivery_date" readonly="1" attrs="{'invisible': [('project_create', '=',False)]}"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<!-- <xpath expr="//button[@name='action_branch_manager_approve']" position="after">
|
</field>
|
||||||
<button name="action_approval_of_beneficiary_services" type="object"
|
</record>
|
||||||
string="Approval of beneficiary services" class="oe_highlight"
|
|
||||||
confirm="Are you sure you want to approval beneficiary services ?" groups="odex_benefit.group_approval_of_beneficiary_services" attrs="{'invisible': ['|',('project_create', '=', False),('state', '!=', 'second_approve')]}"/>
|
|
||||||
</xpath>
|
|
||||||
|
|
||||||
<xpath expr="//button[@name='action_accounting_approve']" position="replace">
|
|
||||||
<button name="action_accounting_approve" type="object"
|
|
||||||
string="Accounting Approve" class="oe_highlight"
|
|
||||||
confirm="Are you sure you want to approve ?"
|
|
||||||
attrs="{'invisible':['|',('state','!=','approval_of_beneficiary_services'),('project_create', '=', False)]}"
|
|
||||||
groups="odex_benefit.group_benefit_accounting_accept"/>
|
|
||||||
|
|
||||||
<button name="action_accounting_approve" type="object"
|
|
||||||
string="Accounting Approve" class="oe_highlight"
|
|
||||||
confirm="Are you sure you want to approve ?"
|
|
||||||
attrs="{'invisible':['|',('state','!=','second_approve'),('project_create', '=', True)]}"
|
|
||||||
groups="odex_benefit.group_benefit_accounting_accept"/>
|
|
||||||
</xpath> -->
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
</data>
|
</data>
|
||||||
</odoo>
|
</odoo>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue