From 315934c50a370d163afe1fa7335d3d140a639881 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Tue, 19 May 2020 17:53:36 +0200 Subject: [PATCH 1/5] [ADD] easy_my_coop: effective date field on operation request --- easy_my_coop/i18n/fr_BE.po | 5 +++++ easy_my_coop/models/operation_request.py | 13 ++++++++++++- easy_my_coop/views/operation_request_view.xml | 2 ++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/easy_my_coop/i18n/fr_BE.po b/easy_my_coop/i18n/fr_BE.po index 1f70b67..bd660c9 100644 --- a/easy_my_coop/i18n/fr_BE.po +++ b/easy_my_coop/i18n/fr_BE.po @@ -1666,6 +1666,11 @@ msgstr "" msgid "Request date" msgstr "Date de la demande" +#. module: easy_my_coop +#: model:ir.model.fields,field_description:easy_my_coop.field_operation_request__effective_date +msgid "Effective date" +msgstr "Date effective" + #. module: easy_my_coop #: model_terms:ir.ui.view,arch_db:easy_my_coop.theme_invoice_G002_document msgid "Request to Release Capital" diff --git a/easy_my_coop/models/operation_request.py b/easy_my_coop/models/operation_request.py index d608128..e6d247d 100644 --- a/easy_my_coop/models/operation_request.py +++ b/easy_my_coop/models/operation_request.py @@ -29,6 +29,7 @@ class OperationRequest(models.Model): request_date = fields.Date( string="Request date", default=lambda self: self.get_date_now() ) + effective_date = fields.Date(string='Effective date') partner_id = fields.Many2one( "res.partner", string="Cooperator", @@ -118,6 +119,13 @@ class OperationRequest(models.Model): invoice = fields.Many2one("account.invoice", string="Invoice") + @api.multi + @api.constrains("effective_date") + def _constrain_effective_date(self): + for obj in self: + if obj.effective_date > fields.Datetime.now(): + raise ValidationError("The effective date can not be in the future.")\ + @api.multi def approve_operation(self): for rec in self: @@ -322,7 +330,10 @@ class OperationRequest(models.Model): def execute_operation(self): self.ensure_one() - effective_date = self.get_date_now() + if self.effective_date: + effective_date = self.effective_date + else: + effective_date = self.get_date_now() sub_request = self.env["subscription.request"] self.validate() diff --git a/easy_my_coop/views/operation_request_view.xml b/easy_my_coop/views/operation_request_view.xml index eb1f415..8560f44 100644 --- a/easy_my_coop/views/operation_request_view.xml +++ b/easy_my_coop/views/operation_request_view.xml @@ -44,6 +44,8 @@ + Date: Tue, 19 May 2020 18:06:56 +0200 Subject: [PATCH 2/5] fixup! [ADD] easy_my_coop: effective date field on operation request --- easy_my_coop/models/operation_request.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easy_my_coop/models/operation_request.py b/easy_my_coop/models/operation_request.py index e6d247d..5a91340 100644 --- a/easy_my_coop/models/operation_request.py +++ b/easy_my_coop/models/operation_request.py @@ -123,7 +123,7 @@ class OperationRequest(models.Model): @api.constrains("effective_date") def _constrain_effective_date(self): for obj in self: - if obj.effective_date > fields.Datetime.now(): + if obj.effective_date > fields.Date.today(): raise ValidationError("The effective date can not be in the future.")\ @api.multi From 8fba2db6b299b39136855e313cb1734d794f3969 Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Wed, 20 May 2020 14:28:17 +0200 Subject: [PATCH 3/5] fixup! fixup! [ADD] easy_my_coop: effective date field on operation request --- easy_my_coop/models/operation_request.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easy_my_coop/models/operation_request.py b/easy_my_coop/models/operation_request.py index 5a91340..db453b3 100644 --- a/easy_my_coop/models/operation_request.py +++ b/easy_my_coop/models/operation_request.py @@ -123,7 +123,7 @@ class OperationRequest(models.Model): @api.constrains("effective_date") def _constrain_effective_date(self): for obj in self: - if obj.effective_date > fields.Date.today(): + if obj.effective_date and obj.effective_date > fields.Date.today(): raise ValidationError("The effective date can not be in the future.")\ @api.multi From cfaa33e6eb310d93fdf4985c28b36ceec7f6458d Mon Sep 17 00:00:00 2001 From: Manuel Claeys Bouuaert Date: Thu, 28 May 2020 11:56:16 +0200 Subject: [PATCH 4/5] fixup! fixup! fixup! [ADD] easy_my_coop: effective date field on operation request --- easy_my_coop/models/operation_request.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/easy_my_coop/models/operation_request.py b/easy_my_coop/models/operation_request.py index db453b3..3ed6f83 100644 --- a/easy_my_coop/models/operation_request.py +++ b/easy_my_coop/models/operation_request.py @@ -124,7 +124,9 @@ class OperationRequest(models.Model): def _constrain_effective_date(self): for obj in self: if obj.effective_date and obj.effective_date > fields.Date.today(): - raise ValidationError("The effective date can not be in the future.")\ + raise ValidationError( + _("The effective date can not be in the future.") + ) @api.multi def approve_operation(self): From 4ff5c0fe499d8b6e6331996e475d18ec6d310b8f Mon Sep 17 00:00:00 2001 From: houssine Date: Thu, 4 Jun 2020 21:46:28 +0200 Subject: [PATCH 5/5] [PORT] porting improvement from v9 from https://github.com/coopiteasy/vertical-cooperative/pull/93 --- easy_my_coop/__manifest__.py | 2 +- easy_my_coop/models/operation_request.py | 1 + easy_my_coop/views/operation_request_view.xml | 5 +++-- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/easy_my_coop/__manifest__.py b/easy_my_coop/__manifest__.py index 8fde8f5..1a2cdd8 100644 --- a/easy_my_coop/__manifest__.py +++ b/easy_my_coop/__manifest__.py @@ -6,7 +6,7 @@ { "name": "Easy My Coop", "summary": "Manage your cooperative shares", - "version": "12.0.3.0.1", + "version": "12.0.3.0.2", "depends": [ "base", "web", diff --git a/easy_my_coop/models/operation_request.py b/easy_my_coop/models/operation_request.py index 3ed6f83..3b5543c 100644 --- a/easy_my_coop/models/operation_request.py +++ b/easy_my_coop/models/operation_request.py @@ -336,6 +336,7 @@ class OperationRequest(models.Model): effective_date = self.effective_date else: effective_date = self.get_date_now() + self.effective_date = effective_date sub_request = self.env["subscription.request"] self.validate() diff --git a/easy_my_coop/views/operation_request_view.xml b/easy_my_coop/views/operation_request_view.xml index 8560f44..61b20f2 100644 --- a/easy_my_coop/views/operation_request_view.xml +++ b/easy_my_coop/views/operation_request_view.xml @@ -7,6 +7,7 @@ + @@ -49,13 +50,13 @@ + attrs="{'invisible':[('operation_type','!=','transfer')], 'readonly':[('state','!=','draft')]}"/> + attrs="{'invisible':['|',('operation_type','!=','transfer'), ('receiver_not_member','=',True)], 'readonly':[('state','!=','draft')]}"/>