diff --git a/fiscalyear.py b/fiscalyear.py index 5a96934057..f98d0b1547 100644 --- a/fiscalyear.py +++ b/fiscalyear.py @@ -25,9 +25,11 @@ class FiscalYear(ModelSQL, ModelView): name = fields.Char('Name', size=None, required=True, depends=DEPENDS) code = fields.Char('Code', size=None) start_date = fields.Date('Starting Date', required=True, states=STATES, - depends=DEPENDS) + domain=[('start_date', '<=', Eval('end_date', None))], + depends=DEPENDS + ['end_date']) end_date = fields.Date('Ending Date', required=True, states=STATES, - depends=DEPENDS) + domain=[('end_date', '>=', Eval('start_date', None))], + depends=DEPENDS + ['start_date']) periods = fields.One2Many('account.period', 'fiscalyear', 'Periods', states=STATES, depends=DEPENDS) state = fields.Selection([ diff --git a/period.py b/period.py index 36f3de4115..f3ce207e85 100644 --- a/period.py +++ b/period.py @@ -22,9 +22,11 @@ class Period(ModelSQL, ModelView): name = fields.Char('Name', required=True) code = fields.Char('Code') start_date = fields.Date('Starting Date', required=True, states=_STATES, - depends=_DEPENDS, select=True) + domain=[('start_date', '<=', Eval('end_date', None))], + depends=_DEPENDS + ['end_date'], select=True) end_date = fields.Date('Ending Date', required=True, states=_STATES, - depends=_DEPENDS, select=True) + domain=[('end_date', '>=', Eval('start_date', None))], + depends=_DEPENDS + ['start_date'], select=True) fiscalyear = fields.Many2One('account.fiscalyear', 'Fiscal Year', required=True, states=_STATES, depends=_DEPENDS, select=True) state = fields.Selection([