[IMP] odex_benefit: IMP benefit

This commit is contained in:
younes 2025-12-15 15:13:20 +01:00
parent ef1809aaad
commit 0b8630e099
4 changed files with 22 additions and 7 deletions

View File

@ -2349,7 +2349,7 @@ class GrantBenefitProfile(models.Model):
@api.constrains('phone', 'phone2','sms_phone') @api.constrains('phone', 'phone2','sms_phone')
def _onchange_phone_numbers(self): def _onchange_phone_numbers(self):
phone_numbers = { phone_numbers = {
'الهاتف': self.phone, #'الهاتف': self.phone,
'رقم الجوال الثاني': self.phone2, 'رقم الجوال الثاني': self.phone2,
'رقم الجوال للتواصل': self.sms_phone, 'رقم الجوال للتواصل': self.sms_phone,
} }
@ -2373,7 +2373,7 @@ class GrantBenefitProfile(models.Model):
# Check for duplicate IDs across records in the database # Check for duplicate IDs across records in the database
for phone_number in unique_ids: for phone_number in unique_ids:
duplicate_record_family = self.env['grant.benefit'].search([ 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) ('sms_phone', '=', phone_number), ('id', '!=', self._origin.id)
], limit=1) ], limit=1)
duplicate_record_member = self.env['family.member'].search([('member_phone', '=', phone_number)], limit=1) duplicate_record_member = self.env['family.member'].search([('member_phone', '=', phone_number)], limit=1)

View File

@ -6,7 +6,8 @@ from random import randint
from datetime import date from datetime import date
import logging import logging
import os 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__) _logger = logging.getLogger(__name__)
@ -633,6 +634,15 @@ class Committees(models.Model):
branch_custom_id = fields.Many2one("branch.settings", string="Branch") branch_custom_id = fields.Many2one("branch.settings", string="Branch")
active = fields.Boolean('Active', default=True) active = fields.Boolean('Active', default=True)
benefit_count = fields.Integer(compute="get_benefit_count") 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): def get_benefit_count(self):
for record in self: for record in self:

View File

@ -1646,7 +1646,6 @@
<field name="black_list_message"/> <field name="black_list_message"/>
</page> </page>
<page string="Bank Account Information" <page string="Bank Account Information"
attrs="{'invisible': [('state', 'not in', ['second_approve','first_approve'])]}"
groups="odex_benefit.group_benefit_bank_info,odex_benefit.group_benefit_branch_manager"> groups="odex_benefit.group_benefit_bank_info,odex_benefit.group_benefit_branch_manager">
<form> <form>
<sheet> <sheet>
@ -1933,6 +1932,7 @@
<field name="benefit_partner_name"/> <field name="benefit_partner_name"/>
<field name="benefit_category_id"/> <field name="benefit_category_id"/>
<field name="create_date" optional="hide"/> <field name="create_date" optional="hide"/>
<field name="approve_date" optional="hide"/>
<field name="meal_card" optional="hide"/> <field name="meal_card" optional="hide"/>
<!-- <field name="request_producer"/>--> <!-- <field name="request_producer"/>-->
<field name="father_id_number" optional="hide"/> <field name="father_id_number" optional="hide"/>

View File

@ -27,9 +27,14 @@
</button> </button>
</div> </div>
<group> <group>
<field name="branch_custom_id"/> <group>
<field name="name"/> <field name="name"/>
<field name="type" required="1"/> <field name="branch_custom_id"/>
</group>
<group>
<field name="type" required="1"/>
<field name="mobile"/>
</group>
</group> </group>
<notebook> <notebook>
<page name="employees" string="Employees"> <page name="employees" string="Employees">