From e313d822ab0b7506d7f4d75d28cf382c7a7b8e71 Mon Sep 17 00:00:00 2001 From: Stepan Savelyev Date: Tue, 10 Dec 2019 16:21:33 +0500 Subject: [PATCH] [FIX] datetime import, first contract number error, keyerror active_id while installing the module --- models/res_partner_contract.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/models/res_partner_contract.py b/models/res_partner_contract.py index 62ba7eb..340b70a 100644 --- a/models/res_partner_contract.py +++ b/models/res_partner_contract.py @@ -27,7 +27,7 @@ class PartnerContract(models.Model): 'res.partner', string='Contract Partner', help='Contract partner', - default=lambda self: self.env.context['active_id'], + default=lambda self: self.env.context.get('active_id'), required=True ) @@ -42,22 +42,22 @@ class PartnerContract(models.Model): @api.model def create(self, vals): - datetime_now = datetime.now().strftime("%Y-%m-%d") + datetime_now = datetime.datetime.now().strftime("%Y-%m-%d") vals['name'] = self._calculate_contract_name(datetime_now) return super(PartnerContract, self).create(vals) def _calculate_contract_name(self, _date): - contract_date = datetime.strptime(_date, '%Y-%m-%d') + contract_date = datetime.datetime.strptime(_date, '%Y-%m-%d') date_part = contract_date.strftime('%d%m-%y') today_contracts = self.search([ ('date', '=', contract_date.date()), ]) if len(today_contracts) > 0: - last_contract_number = int( - today_contracts[-1].name.split('-')[2]) + 1 + name = today_contracts[-1].name or '0-0-0' + last_contract_number = int(name.split('-')[2]) + 1 else: last_contract_number = 1