diff --git a/odex25_base/partner_custom/models/models.py b/odex25_base/partner_custom/models/models.py index cef5950d3..be5f1c3e8 100644 --- a/odex25_base/partner_custom/models/models.py +++ b/odex25_base/partner_custom/models/models.py @@ -19,29 +19,29 @@ class ResPartner(models.Model): issuer = fields.Char(string='Issuer') copy_no = fields.Integer(string='Copy No') - @api.constrains('identification_expiry_date','identification_type','identification_number', 'identification_issue_date') + @api.constrains('identification_expiry_date', 'identification_type', 'identification_number', 'identification_issue_date') def check_expr_date(self): for each in self: - if self.identification_expiry_date: + if each.identification_expiry_date: exp_date = fields.Date.from_string(each.identification_expiry_date) if exp_date < date.today(): - raise Warning('Your Document Is Expired.') - if self.identification_type=='id': - if len(self.identification_number) != 10: - raise Warning(_('Saudi ID must be 10 digits')) - if self.identification_number[0] != '1': - raise Warning(_('The Saudi ID number should begin with 1')) + raise Warning(_('Your Document Is Expired.')) - if self.identification_type=='iqama': - if len(self.identification_number) != 10: - raise Warning(_('Identity must be 10 digits')) - if self.identification_number[0] != '2' and self.identification_number[0] != '4' and self.identification_number[0] != '3': - raise Warning(_('Identity must begin with 2 or 3 or 4')) + if each.identification_type == 'id': + if each.identification_number and len(each.identification_number) != 10: + raise Warning(_('Saudi ID must be 10 digits')) + if each.identification_number and each.identification_number[0] != '1': + raise Warning(_('The Saudi ID number should begin with 1')) - if self.identification_expiry_date and self.identification_issue_date: + if each.identification_type == 'iqama': + if each.identification_number and len(each.identification_number) != 10: + raise Warning(_('Identity must be 10 digits')) + if each.identification_number and each.identification_number[0] not in ['2', '3', '4']: + raise Warning(_('Identity must begin with 2 or 3 or 4')) - if self.identification_expiry_date <= self.identification_issue_date: - raise Warning(_('Error, date of issue must be less than expiry date')) + if each.identification_expiry_date and each.identification_issue_date: + if each.identification_expiry_date <= each.identification_issue_date: + raise Warning(_('Error, date of issue must be less than expiry date')) - if date.today() >= self.identification_expiry_date: - raise Warning(_("Error,the expiry date must be greater than the date of the day")) \ No newline at end of file + if date.today() >= each.identification_expiry_date: + raise Warning(_("Error, the expiry date must be greater than the date of the day"))