Benefit customization
This commit is contained in:
parent
788597decf
commit
8a6eb3a356
|
|
@ -6,8 +6,8 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 14.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-10-31 11:50+0000\n"
|
||||
"PO-Revision-Date: 2024-10-31 11:50+0000\n"
|
||||
"POT-Creation-Date: 2024-11-02 13:50+0000\n"
|
||||
"PO-Revision-Date: 2024-11-02 13:50+0000\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
|
@ -815,9 +815,10 @@ msgstr "عدد فواتير الموردين"
|
|||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#, python-format
|
||||
msgid "%s must be unique within the same record."
|
||||
msgstr "%s يجب ألا يتكرر رقم الأم أو الأم البديلة أو الأب لنفس الأسرة"
|
||||
msgstr "%s يجب ألا يتكرر لنفس الأسرة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
|
|
@ -4598,13 +4599,10 @@ msgstr ""
|
|||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#, python-format
|
||||
msgid "Enter a valid Saudi mobile number"
|
||||
msgstr ""
|
||||
msgstr "برجاء إدخال رقم سعودي صحيح"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/wizards/entity_black_list_wizard.py:0
|
||||
|
|
@ -8940,6 +8938,12 @@ msgstr "تمت إضافة رقم الهاتف إلى القائمة السودا
|
|||
msgid "Phone Number"
|
||||
msgstr "رقم الهاتف"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#, python-format
|
||||
msgid "Phone number cannot be the same in The Family"
|
||||
msgstr "رقم الجوال لا يمكن تكراره لنفس الأسرة"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_grant_benefit__phone2
|
||||
msgid "Phone2"
|
||||
|
|
@ -10838,8 +10842,9 @@ msgstr ""
|
|||
msgid ""
|
||||
"The ID number {} already exists in family with code {}. Please enter a "
|
||||
"unique ID number."
|
||||
msgstr "رقم الهوية {} موجود بالفعل في العائلة بكود {}. الرجاء إدخال رقم تعريف غير مكرر."
|
||||
|
||||
msgstr ""
|
||||
"رقم الهوية {} موجود بالفعل في العائلة بكود {}. الرجاء إدخال رقم تعريف غير "
|
||||
"مكرر."
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,field_description:odex_benefit.field_family_member__nearest_literacy_school
|
||||
|
|
@ -10847,6 +10852,14 @@ msgstr "رقم الهوية {} موجود بالفعل في العائلة بك
|
|||
msgid "The Nearest Literacy School"
|
||||
msgstr "أقرب مدرسة لمحو الأمية"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"The Phone Number %s in the Family Members list must be unique across the "
|
||||
"record."
|
||||
msgstr "رقم الهاتف %s مكرر لعضو في نفس"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#, python-format
|
||||
|
|
@ -10922,6 +10935,25 @@ msgstr ""
|
|||
msgid "The payment's currency."
|
||||
msgstr ""
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#: code:addons/odex_benefit/models/family_members.py:0
|
||||
#, python-format
|
||||
msgid "The phone Number already exists in Family with code %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#, python-format
|
||||
msgid "The phone number {} already exists in family with code {}."
|
||||
msgstr "رقم الجوال {} موجود بالفعل في أسرة بكود {}"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: code:addons/odex_benefit/models/benefit.py:0
|
||||
#, python-format
|
||||
msgid "The phone {} already exists in family with code {}."
|
||||
msgstr "رقم الجوال {} موجود بالفعل في أسرة بكود {}"
|
||||
|
||||
#. module: odex_benefit
|
||||
#: model:ir.model.fields,help:odex_benefit.field_benefits_representative__membership_amount
|
||||
#: model:ir.model.fields,help:odex_benefit.field_external_benefits__membership_amount
|
||||
|
|
|
|||
|
|
@ -1758,37 +1758,70 @@ class GrantBenefitProfile(models.Model):
|
|||
return
|
||||
template.with_context(lang=self.env.user.lang).send_mail(self.id, force_send=True, raise_exception=False)
|
||||
|
||||
# Validation Opertaion
|
||||
@api.onchange('phone', 'phone2', 'relative_phone', 'sms_phone')
|
||||
def _onchange_mobile_validation(self):
|
||||
if self.phone:
|
||||
if self.phone.startswith('+966'):
|
||||
phone = self.phone[4:]
|
||||
self.phone = phone
|
||||
if re.match(SAUDI_MOBILE_PATTERN, self.phone) == None:
|
||||
# # Validation Opertaion
|
||||
# @api.onchange('phone', 'phone2','sms_phone')
|
||||
# def _onchange_mobile_validation(self):
|
||||
# if self.phone:
|
||||
# if self.phone.startswith('+966'):
|
||||
# phone = self.phone[4:]
|
||||
# self.phone = phone
|
||||
# if re.match(SAUDI_MOBILE_PATTERN, self.phone) == None:
|
||||
# raise ValidationError(
|
||||
# _('Enter a valid Saudi mobile number'))
|
||||
# if self.phone2:
|
||||
# if self.phone2.startswith('+966'):
|
||||
# phone2 = self.phone2[4:]
|
||||
# self.phone2 = phone2
|
||||
# if re.match(SAUDI_MOBILE_PATTERN, self.phone2) == None:
|
||||
# raise ValidationError(
|
||||
# _('Enter a valid Saudi mobile number'))
|
||||
# if self.sms_phone:
|
||||
# if self.sms_phone.startswith('+966'):
|
||||
# sms_phone = self.sms_phone[4:]
|
||||
# self.sms_phone = sms_phone
|
||||
# if re.match(SAUDI_MOBILE_PATTERN, self.sms_phone) == None:
|
||||
# raise ValidationError(
|
||||
# _('Enter a valid Saudi mobile number'))
|
||||
|
||||
@api.onchange('phone', 'phone2','sms_phone')
|
||||
def _onchange_phone_numbers(self):
|
||||
phone_numbers = {
|
||||
'الهاتف': self.phone,
|
||||
'رقم الجوال الثاني': self.phone2,
|
||||
'رقم الجوال للتواصل': self.sms_phone,
|
||||
}
|
||||
|
||||
# Check each ID number for 10-digit format and uniqueness within the parent model
|
||||
unique_ids = set()
|
||||
for label, phone_number in phone_numbers.items():
|
||||
if phone_number:
|
||||
if re.match(SAUDI_MOBILE_PATTERN,phone_number) == None:
|
||||
raise ValidationError(
|
||||
_('Enter a valid Saudi mobile number'))
|
||||
if phone_number in unique_ids:
|
||||
raise ValidationError(_("%s must be unique within the same record.") % label)
|
||||
unique_ids.add(phone_number)
|
||||
|
||||
# Check for uniqueness against `member_phone` in child records and across database records
|
||||
for member in self.member_ids:
|
||||
if member.member_phone and member.member_phone in unique_ids:
|
||||
raise ValidationError(
|
||||
_('Enter a valid Saudi mobile number'))
|
||||
if self.phone2:
|
||||
if self.phone2.startswith('+966'):
|
||||
phone2 = self.phone2[4:]
|
||||
self.phone2 = phone2
|
||||
if re.match(SAUDI_MOBILE_PATTERN, self.phone2) == None:
|
||||
_("The Phone Number %s in the Family Members list must be unique across the record.") % member.member_phone)
|
||||
# Check for duplicate IDs across records in the database
|
||||
for phone_number in unique_ids:
|
||||
duplicate_record_family = self.env['grant.benefit'].search([
|
||||
'|', '|', ('phone', '=', phone_number), ('phone2', '=', phone_number),
|
||||
('sms_phone', '=', phone_number), ('id', '!=', self._origin.id)
|
||||
], limit=1)
|
||||
duplicate_record_member = self.env['family.member'].search([('member_phone', '=', phone_number)], limit=1)
|
||||
if duplicate_record_family:
|
||||
raise ValidationError(
|
||||
_('Enter a valid Saudi mobile number'))
|
||||
if self.relative_phone:
|
||||
if self.relative_phone.startswith('+966'):
|
||||
relative_phone = self.relative_phone[4:]
|
||||
self.relative_phone = relative_phone
|
||||
if re.match(SAUDI_MOBILE_PATTERN, self.relative_phone) == None:
|
||||
_("The phone number {} already exists in family with code {}.").format(
|
||||
phone_number, duplicate_record_family.code))
|
||||
if duplicate_record_member:
|
||||
raise ValidationError(
|
||||
_('Enter a valid Saudi mobile number'))
|
||||
if self.sms_phone:
|
||||
if self.sms_phone.startswith('+966'):
|
||||
sms_phone = self.sms_phone[4:]
|
||||
self.sms_phone = sms_phone
|
||||
if re.match(SAUDI_MOBILE_PATTERN, self.sms_phone) == None:
|
||||
raise ValidationError(
|
||||
_('Enter a valid Saudi mobile number'))
|
||||
_("The phone {} already exists in family with code {}.").format(
|
||||
phone_number, duplicate_record_member.benefit_id.code))
|
||||
|
||||
@api.onchange('email')
|
||||
def onchange_email(self):
|
||||
|
|
|
|||
|
|
@ -668,4 +668,29 @@ class FamilyMemberProfile(models.Model):
|
|||
if exist:
|
||||
raise ValidationError(
|
||||
_('This Phone Already Exist!'))
|
||||
# Check if the father ID and mother ID are the same on the same record
|
||||
if self.member_phone == self.benefit_id.phone or self.member_phone == self.benefit_id.phone2 or self.member_phone == self.benefit_id.sms_phone:
|
||||
raise ValidationError(
|
||||
_("Phone number cannot be the same in The Family"))
|
||||
|
||||
# Check if the ID number exists in other records or in family members
|
||||
exist = self.search([
|
||||
('member_phone', '=', self.member_phone)
|
||||
], limit=1)
|
||||
exist_in_family = self.env["grant.benefit"].search([
|
||||
'|', '|',
|
||||
('phone', '=', self.member_phone),
|
||||
('phone2', '=', self.member_phone),
|
||||
('sms_phone', '=', self.member_phone),
|
||||
], limit=1)
|
||||
if exist or exist_in_family:
|
||||
if exist_in_family:
|
||||
raise ValidationError(
|
||||
_("The phone Number already exists in Family with code %s") % exist_in_family.code)
|
||||
if exist:
|
||||
raise ValidationError(
|
||||
_("The phone Number already exists in Family with code %s") % exist.benefit_id.code)
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue