[IMP] Benefit
This commit is contained in:
parent
083bd9ac0f
commit
1ebd82c59a
|
|
@ -5239,16 +5239,20 @@ msgid "Father Dead Date"
|
|||
msgstr "تاريخ وفاة الأب"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__father_family_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__father_family_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_family_name
|
||||
#, python-format
|
||||
msgid "Father Family Name"
|
||||
msgstr "اسم عائلة الأب"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__father_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__father_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_name
|
||||
#, python-format
|
||||
msgid "Father First Name"
|
||||
msgstr "الاسم الاول للأب"
|
||||
|
||||
|
|
@ -5263,16 +5267,20 @@ msgid "Father Nationality"
|
|||
msgstr "جنسية الأب"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__father_second_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__father_second_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_second_name
|
||||
#, python-format
|
||||
msgid "Father Second Name"
|
||||
msgstr "الاسم الثاني للأب"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_benefits_representative__father_third_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_external_benefits__father_third_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__father_third_name
|
||||
#, python-format
|
||||
msgid "Father Third Name"
|
||||
msgstr "الاسم الثالث للأب"
|
||||
|
||||
|
|
@ -7891,7 +7899,9 @@ msgid "Member Family Name"
|
|||
msgstr "اسم العائلة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_family_member__member_first_name
|
||||
#, python-format
|
||||
msgid "Member First Name"
|
||||
msgstr "الاسم الأول"
|
||||
|
||||
|
|
@ -8181,7 +8191,9 @@ msgid "Mother Marital"
|
|||
msgstr "الحالة الاجتماعية"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_name
|
||||
#, python-format
|
||||
msgid "Mother Name"
|
||||
msgstr "الاسم الأول للأم"
|
||||
|
||||
|
|
@ -8201,8 +8213,10 @@ msgid "Mother Relationn"
|
|||
msgstr "الصلة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_family_member__mother_second_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_second_name
|
||||
#, python-format
|
||||
msgid "Mother Second Name"
|
||||
msgstr "الاسم الثاني للأم"
|
||||
|
||||
|
|
@ -8212,8 +8226,10 @@ msgid "Mother Status"
|
|||
msgstr "حالة الأم"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_family_member__mother_third_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_third_name
|
||||
#, python-format
|
||||
msgid "Mother Third Name"
|
||||
msgstr "الاسم الثالث للأم"
|
||||
|
||||
|
|
@ -8223,8 +8239,10 @@ msgid "Mother-Orphan"
|
|||
msgstr ""
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_family_member__mother_family_name
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__mother_family_name
|
||||
#, python-format
|
||||
msgid "MotherFamily Name"
|
||||
msgstr "اسم عائلة الأم"
|
||||
|
||||
|
|
@ -9843,7 +9861,9 @@ msgid "Replacement Mother Birth Date"
|
|||
msgstr "تاريخ ميلاد الام البديلة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_family_name
|
||||
#, python-format
|
||||
msgid "Replacement Mother Family Name"
|
||||
msgstr "اسم العائلة"
|
||||
|
||||
|
|
@ -9868,7 +9888,9 @@ msgid "Replacement Mother Marital"
|
|||
msgstr "الحالة الاجتماعية للأم البديلة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_name
|
||||
#, python-format
|
||||
msgid "Replacement Mother Name"
|
||||
msgstr "الاسم الاول"
|
||||
|
||||
|
|
@ -9883,7 +9905,9 @@ msgid "Replacement Mother Relation"
|
|||
msgstr "صلة القرابة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_second_name
|
||||
#, python-format
|
||||
msgid "Replacement Mother Second Name"
|
||||
msgstr "الاسم الثاني"
|
||||
|
||||
|
|
@ -9893,7 +9917,9 @@ msgid "Replacement Mother Status"
|
|||
msgstr "حالة الاستفادة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__replacement_mother_third_name
|
||||
#, python-format
|
||||
msgid "Replacement Mother Third Name"
|
||||
msgstr "الاسم الثالث"
|
||||
|
||||
|
|
@ -14730,4 +14756,14 @@ msgstr ""
|
|||
#. module: odex_benefit
|
||||
#: model_terms:ir.ui.view,arch_db:odex_benefit.grant_benefit_form
|
||||
msgid "Documents"
|
||||
msgstr "المستندات"
|
||||
msgstr "المستندات"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"%s must contain only alphabetic characters and spaces. Numbers and special "
|
||||
"characters are not allowed."
|
||||
msgstr ""
|
||||
"%s يجب أن يحتوي فقط على الأحرف الأبجدية والمسافات. الأرقام والرموز الخاصة غير مسموح بها."
|
||||
|
|
@ -421,18 +421,18 @@ class GrantBenefitProfile(models.Model):
|
|||
# housing_name = fields.Char(compute='_compute_get_name')
|
||||
zip = fields.Char('Zip', change_default=True, readonly=False, store=True)
|
||||
short_number = fields.Char(
|
||||
readonly=False,
|
||||
required=False,
|
||||
readonly=False,
|
||||
required=False,
|
||||
states={
|
||||
'second_approve': [('readonly', True)],
|
||||
'second_approve': [('readonly', True)],
|
||||
'complete_info': [('required', True)]
|
||||
}
|
||||
)
|
||||
extra_code = fields.Char(
|
||||
readonly=False,
|
||||
required=False,
|
||||
readonly=False,
|
||||
required=False,
|
||||
states={
|
||||
'second_approve': [('readonly', True)],
|
||||
'second_approve': [('readonly', True)],
|
||||
'complete_info': [('required', True)]
|
||||
}
|
||||
)
|
||||
|
|
@ -587,20 +587,33 @@ class GrantBenefitProfile(models.Model):
|
|||
('unique_code', "unique (code) WHERE state NOT IN ('draft', 'new')", 'This code already exists')
|
||||
]
|
||||
|
||||
# @api.constrains('father_name')
|
||||
# def _check_names_alphabetic(self):
|
||||
# char_fields = {
|
||||
# 'father_name': 'father name',
|
||||
# }
|
||||
#
|
||||
# for record in self:
|
||||
# for field_name, field_label in char_fields.items():
|
||||
# field_value = getattr(record, field_name)
|
||||
# if field_value and not re.match(ALPHABETIC_PATTERN, field_value.strip()):
|
||||
# raise ValidationError(
|
||||
# f"{field_label} must contain only alphabetic characters and spaces. "
|
||||
# f"Numbers and special characters are not allowed."
|
||||
# )
|
||||
@api.constrains('father_name', 'father_second_name', 'father_third_name', 'father_family_name',
|
||||
'mother_name', 'mother_second_name', 'mother_third_name', 'mother_family_name',
|
||||
'replacement_mother_name','replacement_mother_second_name','replacement_mother_third_name','replacement_mother_family_name')
|
||||
def _check_names_alphabetic(self):
|
||||
char_fields = {
|
||||
'father_name': _('Father First Name'),
|
||||
'father_second_name': _('Father Second Name'),
|
||||
'father_third_name': _('Father Third Name'),
|
||||
'father_family_name': _('Father Family Name'),
|
||||
'mother_name': _('Mother Name'),
|
||||
'mother_second_name': _('Mother Second Name'),
|
||||
'mother_third_name':_('Mother Third Name'),
|
||||
'mother_family_name': _('MotherFamily Name'),
|
||||
'replacement_mother_name': _('Replacement Mother Name'),
|
||||
'replacement_mother_second_name': _('Replacement Mother Second Name'),
|
||||
'replacement_mother_third_name': _('Replacement Mother Third Name'),
|
||||
'replacement_mother_family_name': _('Replacement Mother Family Name')
|
||||
}
|
||||
|
||||
for record in self:
|
||||
for field_name, field_label in char_fields.items():
|
||||
field_value = getattr(record, field_name)
|
||||
if field_value and not re.match(ALPHABETIC_PATTERN, field_value.strip()):
|
||||
raise ValidationError(
|
||||
_("%s must contain only alphabetic characters and spaces. "
|
||||
"Numbers and special characters are not allowed.") % field_label
|
||||
)
|
||||
|
||||
def assign_sequence_to_all(self):
|
||||
sequence = self.env['ir.sequence'].search([('code', '=', 'benefit.sequence')], limit=1)
|
||||
|
|
@ -614,7 +627,7 @@ class GrantBenefitProfile(models.Model):
|
|||
code = self.env['ir.sequence'].sudo().next_by_code('benefit.sequence')
|
||||
rec.with_context(force_website=True).write({'code':code})
|
||||
|
||||
|
||||
|
||||
def action_set_waiting_if_needed(self):
|
||||
records = self.env['grant.benefit'].browse(self._context.get('active_ids', []))
|
||||
print("hh")
|
||||
|
|
@ -633,7 +646,7 @@ class GrantBenefitProfile(models.Model):
|
|||
def _compute_request_producer_id(self):
|
||||
for rec in self:
|
||||
rec.request_producer_id = rec.user_id.partner_id if rec.request_producer.id == rec.env.ref('base.public_partner').id else rec.request_producer
|
||||
|
||||
|
||||
def validate_attachments(self):
|
||||
for rec in self:
|
||||
if not rec.owner_identity_attachment_ids and rec.is_family_member == False and rec.state == 'first_approve':
|
||||
|
|
@ -675,7 +688,7 @@ class GrantBenefitProfile(models.Model):
|
|||
and rec.father_dead_date < rec.father_birth_date
|
||||
):
|
||||
raise ValidationError("Father's Death Date must be after the Birth Date.")
|
||||
|
||||
|
||||
# @api.depends('attachment_ids')
|
||||
# def get_required_attach(self):
|
||||
# for rec in self.attachment_ids:
|
||||
|
|
@ -812,7 +825,7 @@ class GrantBenefitProfile(models.Model):
|
|||
def _get_total_service_requests(self):
|
||||
for rec in self:
|
||||
rec.total_service_requests = self.env['service.request'].search_count([('benefit_type', '=', 'family'), ('family_id', '=', rec.id)])
|
||||
|
||||
|
||||
def action_open_related_service_requests(self):
|
||||
""" Opens a tree view with related records filtered by a dynamic domain """
|
||||
service_requests = self.env['service.request'].search([
|
||||
|
|
@ -829,11 +842,11 @@ class GrantBenefitProfile(models.Model):
|
|||
'target': 'current',
|
||||
}
|
||||
return action
|
||||
|
||||
|
||||
def _get_total_seasonal_service_requests(self):
|
||||
for rec in self:
|
||||
rec.total_seasonal_service_requests = len(self.env['seasonal.service'].search([('family_ids', '!=', False)]).filtered(lambda r: rec.id in r.family_ids.family_id.ids))
|
||||
|
||||
|
||||
def action_open_related_seasonal_service_requests(self):
|
||||
""" Opens a tree view with related records filtered by a dynamic domain """
|
||||
seasonal_service_requests = self.env['seasonal.service'].search([('family_ids', '!=', False)]).filtered(lambda r: self.id in r.family_ids.family_id.ids).ids
|
||||
|
|
@ -1117,7 +1130,7 @@ class GrantBenefitProfile(models.Model):
|
|||
if 'salary_ids' in fields:
|
||||
res['salary_ids'] = income_attachments_data
|
||||
return res
|
||||
|
||||
|
||||
def write(self, vals):
|
||||
res = super(GrantBenefitProfile, self).write(vals)
|
||||
if "name" in vals and self.user_id:
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import qrcode
|
|||
import base64
|
||||
from io import BytesIO
|
||||
SAUDI_MOBILE_PATTERN = "(^(05|5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$)"
|
||||
ALPHABETIC_PATTERN = "^[A-Za-z ]+$"
|
||||
ALPHABETIC_PATTERN = "^[\u0600-\u065F\u066A-\u06EF\u06FA-\u06FFA-Za-z ]+$"
|
||||
import re
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
|
@ -267,6 +267,19 @@ class FamilyMemberProfile(models.Model):
|
|||
is_mother = fields.Boolean('Is Mother?')
|
||||
total_member_service_requests = fields.Integer(compute='_get_total_member_service_requests')
|
||||
|
||||
@api.constrains('member_first_name')
|
||||
def _check_names_alphabetic(self):
|
||||
char_fields = {
|
||||
'member_first_name': _('Member First Name'),
|
||||
}
|
||||
for record in self:
|
||||
for field_name, field_label in char_fields.items():
|
||||
field_value = getattr(record, field_name)
|
||||
if field_value and not re.match(ALPHABETIC_PATTERN, field_value.strip()):
|
||||
raise ValidationError(
|
||||
_("%s must contain only alphabetic characters and spaces. "
|
||||
"Numbers and special characters are not allowed.") % field_label
|
||||
)
|
||||
@api.depends('age')
|
||||
def _compute_get_age_status(self):
|
||||
for rec in self:
|
||||
|
|
|
|||
Loading…
Reference in New Issue