diff --git a/odex25_benefit/odex_benefit/i18n/ar_001.po b/odex25_benefit/odex_benefit/i18n/ar_001.po index 01210a718..9c037620b 100644 --- a/odex25_benefit/odex_benefit/i18n/ar_001.po +++ b/odex25_benefit/odex_benefit/i18n/ar_001.po @@ -17540,4 +17540,69 @@ msgid "" "%s" msgstr "" "طلبات الخدمة التالية ليس لديها جهة الدفع محددة:\n" -"%s" \ No newline at end of file +"%s" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_service_request__related_information_html +#: model_terms:ir.ui.view,arch_db:odex_benefit.service_request_form +#: model_terms:ir.ui.view,arch_db:odex_benefit.services_settings_form +msgid "Related Information" +msgstr "المعلومات المرتبطة" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Family Information" +msgstr "معلومات الأسرة" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Member Information" +msgstr "معلومات الأفراد" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Unnamed file" +msgstr "ملف بدون اسم" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__family_related_fields +msgid "Related Family Fields" +msgstr "الحقول المرتبطة بالأسرة" + +#. module: odex_benefit +#: model:ir.model.fields,field_description:odex_benefit.field_services_settings__member_related_fields +msgid "Related Member Fields" +msgstr "الحقول المرتبطة بالفرد" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "No service selected" +msgstr "لم يتم اختيار خدمة" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Please select a service category to view related information." +msgstr "رجاءً اختر خدمة لعرض المعلومات المرتبطة." + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Field Name" +msgstr "اسم الحقل" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "Value" +msgstr "القيمة" + +#. module: odex_benefit +#: code:addons/odex_benefit/models/service_request.py:0 +#, python-format +msgid "No information available for this section." +msgstr "لا توجد معلومات متاحة." \ No newline at end of file diff --git a/odex25_benefit/odex_benefit/models/service_request.py b/odex25_benefit/odex_benefit/models/service_request.py index efdac8c81..34e06c23e 100644 --- a/odex25_benefit/odex_benefit/models/service_request.py +++ b/odex25_benefit/odex_benefit/models/service_request.py @@ -4,6 +4,7 @@ from datetime import datetime, timedelta from dateutil.relativedelta import relativedelta from odoo.tools import html_escape + class ServiceRequest(models.Model): _name = 'service.request' _inherit = ['mail.thread', 'mail.activity.mixin'] @@ -185,8 +186,8 @@ class ServiceRequest(models.Model): car_owner_id = fields.Many2one('family.member', domain="[('benefit_id','=',family_id)]", string="Car Owner") car_model_id = fields.Many2one('benefit.vehicle.model', string='Car model') car_price = fields.Float(string='Car Price') - car_remaining_amount = fields.Float(string='Remaining Amount',compute='_compute_remaining_amount',store=True,) - show_car_remaining_amount = fields.Boolean(string='Show Car Remaining Amount',compute='_compute_remaining_amount') + car_remaining_amount = fields.Float(string='Remaining Amount', compute='_compute_remaining_amount', store=True, ) + show_car_remaining_amount = fields.Boolean(string='Show Car Remaining Amount', compute='_compute_remaining_amount') application_form = fields.Many2many('ir.attachment', 'request_application_form_rel', 'request_id', 'attachment_id', string="Application Form") driving_license = fields.Many2many('ir.attachment', 'request_driving_license_rel', 'request_id', 'attachment_id', @@ -205,23 +206,27 @@ class ServiceRequest(models.Model): return_reason_id = fields.Many2one("return.reason", string="Return Reason") agree_terms = fields.Boolean(string="I agree to the Terms and Conditions", default=False, ) related_information_html = fields.Html(string="Related Information", - compute='_compute_related_information_html',store=True,) + compute='_compute_related_information_html', store=True, ) @api.depends('service_cat', 'family_id', 'member_id', 'benefit_type') def _compute_related_information_html(self): for rec in self: if not rec.service_cat: + no_service_title = _("No service selected") + no_service_desc = _("Please select a service category to view related information.") rec.related_information_html = f"""
📋
-

{_("No service selected")}

-

{_("Please select a service category to view related information.")}

+

{no_service_title}

+

{no_service_desc}

""" continue family_rows = [] member_rows = [] + family_title = _("Family Information") + member_title = _("Member Information") for ir_field in rec.service_cat.family_related_fields: row = rec._get_field_display_value(rec.family_id, ir_field) @@ -232,8 +237,8 @@ class ServiceRequest(models.Model): row = rec._get_field_display_value(rec.member_id, ir_field) if row: member_rows.append(row) - family_table = rec._build_info_table(_("Family Information"), family_rows) - member_table = rec._build_info_table(_("Member Information"), member_rows) if member_rows else "" + family_table = rec._build_info_table(family_title, family_rows) + member_table = rec._build_info_table(member_title, member_rows) if member_rows else "" rec.related_information_html = f"""
@@ -243,11 +248,14 @@ class ServiceRequest(models.Model): """ def _build_info_table(self, title, rows): + field_name_label = _("Field Name") + value_label = _("Value") + no_info_text = _("No information available for this section.") if not rows: return f"""

{title}

-
{_("No information available for this section.")}
+
{no_info_text}
""" return f""" @@ -256,8 +264,8 @@ class ServiceRequest(models.Model): - - + + @@ -304,8 +312,11 @@ class ServiceRequest(models.Model): badges = [f'{html_escape(r.name or "-")}' for r in value] display = ' '.join(badges) or '' elif field.type == 'one2many': - items = [f'
• {html_escape(r.display_name or r.name or "-")}
' for r in value[:20]] - more = f'
... {_("and")} {len(value)-20} {_("more records")}
' if len(value) > 20 else "" + items = [ + f'
• {html_escape(r.display_name or r.name or "-")}
' + for r in value[:20]] + more = f'
... {_("and")} {len(value) - 20} {_("more records")}
' if len( + value) > 20 else "" display = ''.join(items) + more or '' elif field.type == 'binary': if value: @@ -760,9 +771,9 @@ class ServiceRequest(models.Model): if rec.service_cat.service_type == 'recruiting_driver': if not rec.family_id.has_car: raise ValidationError(_("You cannot request this service because you do not have a car")) - #son_members_above_age = rec.family_id.member_ids.filtered( + # son_members_above_age = rec.family_id.member_ids.filtered( # lambda x: x.relationn.relation_type == 'son' and x.age > 18) - #daughter_members_above_age = rec.family_id.member_ids.filtered( + # daughter_members_above_age = rec.family_id.member_ids.filtered( # lambda x: x.relationn.relation_type == 'daughter' and x.age > 18) children_above_18_living_with_family = rec.family_id.member_ids.filtered( @@ -781,10 +792,11 @@ class ServiceRequest(models.Model): work_mother = rec.family_id.member_ids.filtered( lambda x: x.relationn.relation_type == 'mother' and x.is_work) disable_replacement_mother = rec.family_id.member_ids.filtered( - lambda x: x.relationn.relation_type == 'replacement_mother' and bool(x.disabilities_attachment_ids)) + lambda x: x.relationn.relation_type == 'replacement_mother' and bool( + x.disabilities_attachment_ids)) work_replacement_mother = rec.family_id.member_ids.filtered( lambda x: x.relationn.relation_type == 'replacement_mother' and x.is_work) - #if son_members_above_age or daughter_members_above_age: + # if son_members_above_age or daughter_members_above_age: # raise ValidationError( # _("You cannot request this service because children above 18 years")) if rec.family_id.add_replacement_mother and not disable_replacement_mother and not work_replacement_mother:
{_("Field Name")}{_("Value")}{field_name_label}{value_label}