diff --git a/odex25_benefit/odex_benefit/models/benefit.py b/odex25_benefit/odex_benefit/models/benefit.py index a9f881e52..3c027e81d 100644 --- a/odex25_benefit/odex_benefit/models/benefit.py +++ b/odex25_benefit/odex_benefit/models/benefit.py @@ -2349,7 +2349,7 @@ class GrantBenefitProfile(models.Model): @api.constrains('phone', 'phone2','sms_phone') def _onchange_phone_numbers(self): phone_numbers = { - 'الهاتف': self.phone, + #'الهاتف': self.phone, 'رقم الجوال الثاني': self.phone2, 'رقم الجوال للتواصل': self.sms_phone, } @@ -2373,7 +2373,7 @@ class GrantBenefitProfile(models.Model): # 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), + '|', ('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) diff --git a/odex25_benefit/odex_benefit/models/benefit_config.py b/odex25_benefit/odex_benefit/models/benefit_config.py index 91b03ece2..091946b64 100644 --- a/odex25_benefit/odex_benefit/models/benefit_config.py +++ b/odex25_benefit/odex_benefit/models/benefit_config.py @@ -6,7 +6,8 @@ from random import randint from datetime import date import logging import os - +import re +SAUDI_MOBILE_PATTERN = "(^(05|5)(5|0|3|6|4|9|1|8|7)([0-9]{7})$)" _logger = logging.getLogger(__name__) @@ -633,6 +634,15 @@ class Committees(models.Model): branch_custom_id = fields.Many2one("branch.settings", string="Branch") active = fields.Boolean('Active', default=True) benefit_count = fields.Integer(compute="get_benefit_count") + mobile = fields.Char(string="Mobile Number") + + @api.constrains('mobile') + def _check_mobile(self): + for rec in self: + if rec.mobile and not re.match(SAUDI_MOBILE_PATTERN, rec.mobile): + raise ValidationError( + _("Please enter a valid Saudi mobile number (example: 05XXXXXXXX).") + ) def get_benefit_count(self): for record in self: diff --git a/odex25_benefit/odex_benefit/views/benefit_view.xml b/odex25_benefit/odex_benefit/views/benefit_view.xml index 8ad2294ff..932530f08 100644 --- a/odex25_benefit/odex_benefit/views/benefit_view.xml +++ b/odex25_benefit/odex_benefit/views/benefit_view.xml @@ -1646,7 +1646,6 @@
@@ -1933,6 +1932,7 @@ + diff --git a/odex25_benefit/odex_benefit/views/committees_view.xml b/odex25_benefit/odex_benefit/views/committees_view.xml index 319c6dd38..10106ef72 100644 --- a/odex25_benefit/odex_benefit/views/committees_view.xml +++ b/odex25_benefit/odex_benefit/views/committees_view.xml @@ -27,9 +27,14 @@ - - - + + + + + + + +