From 3f0d4f0d87de466cd35ce3c4fc94f178daefca82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 26 Jan 2013 15:13:51 +0100 Subject: [PATCH] Add start/end date to work for timesheet review629002 --- CHANGELOG | 2 ++ line.py | 15 ++++++++++++--- work.py | 10 ++++++++++ work.xml | 4 ++++ 4 files changed, 28 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 1a6ae6ebc2..bc8b65a985 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +* Add start/end date to work for timesheet + Version 2.6.0 - 2012-10-22 * Bug fixes (see mercurial logs for details) diff --git a/line.py b/line.py index 1b3230866e..2f94583b1a 100644 --- a/line.py +++ b/line.py @@ -23,9 +23,18 @@ class Line(ModelSQL, ModelView): date = fields.Date('Date', required=True, select=True) hours = fields.Float('Hours', digits=(16, 2), required=True) work = fields.Many2One('timesheet.work', 'Work', - required=True, select=True, domain=[ - ('timesheet_available', '=', True), - ]) + required=True, select=True, domain=[ + ('timesheet_available', '=', True), + ['OR', + ('timesheet_start_date', '=', None), + ('timesheet_start_date', '<=', Eval('date')), + ], + ['OR', + ('timesheet_end_date', '=', None), + ('timesheet_end_date', '>=', Eval('date')), + ], + ], + depends=['date']) description = fields.Char('Description') @classmethod diff --git a/work.py b/work.py index cf4ac4d331..fe65ddbe17 100644 --- a/work.py +++ b/work.py @@ -30,6 +30,16 @@ class Work(ModelSQL, ModelView): 'readonly': Bool(Eval('timesheet_lines', [0])), }, help="Allow to fill in timesheets with this work") + timesheet_start_date = fields.Date('Timesheet Start', + states={ + 'invisible': ~Eval('timesheet_available'), + }, + depends=['timesheet_available']) + timesheet_end_date = fields.Date('Timesheet End', + states={ + 'invisible': ~Eval('timesheet_available'), + }, + depends=['timesheet_available']) company = fields.Many2One('company.company', 'Company', required=True, select=True) timesheet_lines = fields.One2Many('timesheet.line', 'work', diff --git a/work.xml b/work.xml index 93a6fab09e..4f8bdffa26 100644 --- a/work.xml +++ b/work.xml @@ -17,6 +17,10 @@ this repository contains the full copyright notices and license terms. -->