add date validation in resource wizard

This commit is contained in:
pawan.sharma 2022-08-29 12:29:39 +05:30
parent af0578a880
commit 793d2c75ad
2 changed files with 13 additions and 4 deletions

View File

@ -160,8 +160,8 @@
</xpath>
<xpath expr="//field[@name='partner_id']" position="replace">
<field name="partner_id" string="Client" required="0" groups="project.group_project_manager"/>
<field name="date_start" groups="project.group_project_manager"/>
<field name="date" groups="project.group_project_manager"/>
<field name="date_start" groups="project.group_project_manager" required="1"/>
<field name="date" groups="project.group_project_manager" required="1"/>
</xpath>
<!-- <xpath expr="//page[@name='settings']" position="after">
<page string="Consultant Allocation" groups="project.group_project_manager"

View File

@ -1,4 +1,4 @@
from odoo import api, fields, models
from odoo import api, fields, models, _
from odoo.exceptions import UserError, AccessError, ValidationError
from datetime import datetime, timedelta
from dateutil import relativedelta
@ -25,7 +25,6 @@ class ProjectResourceWizard(models.TransientModel):
project_id = fields.Many2one('project.project')
add_project_resource = fields.One2many('project.resource.line', 'wizard_id')
def action_add_project_lines(self):
record = self.env['project.sale.line.employee.map']
for val in self.add_project_resource:
@ -85,3 +84,13 @@ class ProjectResourceLine(models.Model):
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.end_date > self.start_date):
raise AccessError('End date could not be greater than start date')
@api.onchange('start_date', 'end_date')
def _onchange_start_date(self):
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,self.project_id.date))
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,self.project_id.date))