diff --git a/odex25_sales/dev_membership/models/res_config_settings.py b/odex25_sales/dev_membership/models/res_config_settings.py index 0f548b8f1..027381133 100644 --- a/odex25_sales/dev_membership/models/res_config_settings.py +++ b/odex25_sales/dev_membership/models/res_config_settings.py @@ -59,3 +59,24 @@ class CancellReason(models.Model): _description = 'Cancellation Reason' name = fields.Char(string='Reasone of Cancellation') + reasone_no = fields.Char("Number", default=lambda self: self._get_next_reasone_no(), tracking=True,copy=False) + + @api.model + def _get_next_reasone_no(self): + next_sequence = "/ " + sequence = self.env['ir.sequence'].search( + ['|', ('company_id', '=', self.env.company[0].id), ('company_id', '=', False), + ('code', '=', 'seq.product.template')], limit=1) + if sequence: + next_sequence = sequence.get_next_char(sequence.number_next_actual) + return next_sequence + + @api.model + def create(self, vals): + company_id = vals.get('company_id', self.default_get(['company_id'])['company_id']) + self_comp = self.with_company(company_id) + if not vals.get('reasone_no', False): + vals['reasone_no'] = self_comp.env['ir.sequence'].next_by_code('seq.cancellation.reason') or '/' + return super().create(vals) + +