Reviewers: ,
Please review this at http://codereview.tryton.org/629002/ Affected files: M CHANGELOG M line.py M work.py M work.xml Index: CHANGELOG =================================================================== --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,5 @@ +* Add start/end date for timesheet + Version 2.6.0 - 2012-10-22 * Bug fixes (see mercurial logs for details) Index: line.py =================================================================== --- a/line.py +++ b/line.py @@ -23,8 +23,16 @@ 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')), + ], ]) description = fields.Char('Description') Index: work.py =================================================================== --- a/work.py +++ b/work.py @@ -30,6 +30,16 @@ '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', Index: work.xml =================================================================== --- a/work.xml +++ b/work.xml @@ -17,6 +17,10 @@ <field name="parent"/> <label name="timesheet_available"/> <field name="timesheet_available"/> + <label name="timesheet_start_date"/> + <field name="timesheet_start_date"/> + <label name="timesheet_end_date"/> + <field name="timesheet_end_date"/> <label name="company"/> <field name="company"/> </form> -- -- [email protected] mailing list
