From ce93a93f1f82895cc8eac61522c6d443e8008756 Mon Sep 17 00:00:00 2001 From: "pawan.sharma" Date: Wed, 31 Aug 2022 11:56:13 +0530 Subject: [PATCH] add date conditions --- cor_custom/models/project.py | 14 ++++++++ cor_custom/views/project_view.xml | 2 +- cor_custom/wizard/project_resource_wizard.py | 32 ++++++++++--------- cor_custom/wizard/project_resource_wizard.xml | 2 +- 4 files changed, 33 insertions(+), 17 deletions(-) diff --git a/cor_custom/models/project.py b/cor_custom/models/project.py index 4449092..fdc6dc9 100755 --- a/cor_custom/models/project.py +++ b/cor_custom/models/project.py @@ -438,6 +438,20 @@ class InheritProjectProductEmployeeMap(models.Model): return { 'type': 'ir.actions.act_window_close'} + @api.onchange('start_date', 'end_date') + def _onchange_start_date(self): + # if self.start_date: + # self.end_date = self.start_date + relativedelta.relativedelta(months=1) - relativedelta.relativedelta(days=1) + if self.start_date and self.end_date and (self.start_date > self.end_date): + raise AccessError('End date could not be greater than start date') + if self.project_id: + if self.start_date and not self.project_id.date_start <= self.start_date <= self.project_id.date: + raise AccessError(_('Allocation Start date must be between %s to %s') % ( + self.project_id.date_start.strftime('%d-%b-%Y'), self.project_id.date.strftime('%d-%b-%Y'))) + if self.end_date and not (self.project_id.date_start <= self.end_date <= self.project_id.date): + raise AccessError(_('Allocation Start date must be between %s to %s') % ( + self.project_id.date_start.strftime('%d-%b-%Y'), self.project_id.date.strftime('%d-%b-%Y'))) + class CustomProjectTags(models.Model): """ Tags of project's tasks """ diff --git a/cor_custom/views/project_view.xml b/cor_custom/views/project_view.xml index bb4d10a..f8176be 100755 --- a/cor_custom/views/project_view.xml +++ b/cor_custom/views/project_view.xml @@ -101,7 +101,7 @@