def validate_parliament_dates(action, data, context, container): """Parliaments must not overlap.""" errors = [] if interfaces.IParliament.providedBy(context): parliament = context else: parliament = None results = queries.validate_date_in_interval(parliament, domain.Parliament, data["start_date"]) for result in results: overlaps = result.short_name errors.append(interface.Invalid(_("The start date overlaps with (%s)") % overlaps, "start_date")) if data["end_date"]: results = queries.validate_date_in_interval(parliament, domain.Parliament, data["start_date"]) for result in results: overlaps = result.short_name errors.append(interface.Invalid(_("The end date overlaps with (%s)") % overlaps, "end_date")) results = queries.validate_date_in_interval(parliament, domain.Parliament, data["election_date"]) for result in results: overlaps = result.short_name errors.append(interface.Invalid(_("The election date overlaps with (%s)") % overlaps, "election_date")) if parliament is None: results = queries.validate_open_interval(parliament, domain.Parliament) for result in results: overlaps = result.short_name errors.append( interface.Invalid(_("Another parliament is not yet dissolved (%s)") % overlaps, "election_date") ) return errors
def validate_government_dates(action, data, context, container): errors = [] start_date = data.get("start_date") end_date = data.get("end_date") if interfaces.IGovernment.providedBy(context): government = context else: government = None if container.__parent__.end_date is not None and start_date: if start_date > container.__parent__.end_date: errors.append( Invalid( "%s %s" % (_("Start date cannot be after the parliaments" " dissolution"), container.__parent__.end_date), "start_date")) if start_date and container.__parent__.start_date > start_date: errors.append( Invalid( "%s %s" % (_("Start date must start after the swearing in of the" " parliament"), container.__parent__.start_date), "start_date")) if start_date: results = queries.validate_date_in_interval(government, domain.Government, start_date) for result in results: overlaps = result.short_name errors.append( Invalid( _("The start date overlaps with (%s)") % overlaps, "start_date")) if end_date: results = queries.validate_date_in_interval(government, domain.Government, end_date) for result in results: overlaps = result.short_name errors.append( Invalid( _("The end date overlaps with (%s)") % overlaps, "end_date")) if government is None: results = queries.validate_open_interval(government, domain.Government) for result in results: overlaps = result.short_name errors.append( Invalid( _("Another government is not yet dissolved (%s)") % overlaps, "start_date")) return logged_errors(errors, "validate_government_dates")
def validate_parliament_dates(action, data, context, container): """Parliaments must not overlap.""" errors = [] start_date = data.get("start_date") end_date = data.get("end_date") election_date = data.get("election_date") if interfaces.IParliament.providedBy(context): parliament = context else: parliament = None if start_date: results = queries.validate_date_in_interval(parliament, domain.Parliament, start_date) for result in results: overlaps = result.short_name errors.append( Invalid( _("The start date overlaps with (%s)") % overlaps, "start_date")) if end_date: results = queries.validate_date_in_interval(parliament, domain.Parliament, end_date) for result in results: overlaps = result.short_name errors.append( Invalid( _("The end date overlaps with (%s)") % overlaps, "end_date")) if election_date: results = queries.validate_date_in_interval(parliament, domain.Parliament, election_date) for result in results: overlaps = result.short_name errors.append( Invalid( _("The election date overlaps with (%s)") % overlaps, "election_date")) if parliament is None: results = queries.validate_open_interval(parliament, domain.Parliament) for result in results: overlaps = result.short_name errors.append( Invalid( _("Another parliament is not yet dissolved (%s)") % overlaps, "election_date")) return logged_errors(errors, "validate_parliament_dates")
def validate_government_dates(action, data, context, container): errors = [] if interfaces.IGovernment.providedBy(context): government = context else: government = None if container.__parent__.end_date is not None: if data['start_date'] > container.__parent__.end_date: errors.append( interface.Invalid( _("Start date cannot be after the parliaments dissolution (%s)" ) % container.__parent__.end_date, "start_date")) if container.__parent__.start_date > data['start_date']: errors.append( interface.Invalid( _("Start date must start after the swearing in of the parliament (%s)" ) % container.__parent__.start_date, "start_date")) results = queries.validate_date_in_interval(government, domain.Government, data['start_date']) for result in results: overlaps = result.short_name errors.append( interface.Invalid( _("The start date overlaps with (%s)") % overlaps, "start_date")) if data['end_date']: results = queries.validate_date_in_interval(government, domain.Government, data['start_date']) for result in results: overlaps = result.short_name errors.append( interface.Invalid( _("The end date overlaps with (%s)") % overlaps, "end_date")) if government is None: results = queries.validate_open_interval(government, domain.Government) for result in results: overlaps = result.short_name errors.append( interface.Invalid( _("Another government is not yet dissolved (%s)") % overlaps, "start_date")) return errors
def validate_government_dates(action, data, context, container): errors = [] if interfaces.IGovernment.providedBy(context): government = context else: government = None if container.__parent__.end_date is not None: if data['start_date'] > container.__parent__.end_date: errors.append( interface.Invalid( _("Start date cannot be after the parliaments dissolution (%s)") % container.__parent__.end_date , "start_date") ) if container.__parent__.start_date > data['start_date']: errors.append( interface.Invalid( _("Start date must start after the swearing in of the parliament (%s)") % container.__parent__.start_date , "start_date") ) results = queries.validate_date_in_interval(government, domain.Government, data['start_date']) for result in results: overlaps = result.short_name errors.append(interface.Invalid( _("The start date overlaps with (%s)") % overlaps, "start_date")) if data['end_date']: results = queries.validate_date_in_interval(government, domain.Government, data['start_date']) for result in results: overlaps = result.short_name errors.append(interface.Invalid( _("The end date overlaps with (%s)") % overlaps, "end_date")) if government is None: results = queries.validate_open_interval(government, domain.Government) for result in results: overlaps = result.short_name errors.append(interface.Invalid( _("Another government is not yet dissolved (%s)") % overlaps, "start_date")) return errors
def validate_government_dates(action, data, context, container): errors = [] start_date = data.get("start_date") end_date = data.get("end_date") if interfaces.IGovernment.providedBy(context): government = context else: government = None if container.__parent__.end_date is not None and start_date: if start_date > container.__parent__.end_date: errors.append(Invalid( "%s %s" % (_("Start date cannot be after the parliaments" " dissolution"), container.__parent__.end_date), "start_date")) if start_date and container.__parent__.start_date > start_date: errors.append(Invalid( "%s %s" % ( _("Start date must start after the swearing in of the" " parliament"), container.__parent__.start_date), "start_date")) if start_date: results = queries.validate_date_in_interval(government, domain.Government, start_date) for result in results: overlaps = result.short_name errors.append(Invalid( _("The start date overlaps with (%s)") % overlaps, "start_date")) if end_date: results = queries.validate_date_in_interval(government, domain.Government, end_date) for result in results: overlaps = result.short_name errors.append(Invalid( _("The end date overlaps with (%s)") % overlaps, "end_date")) if government is None: results = queries.validate_open_interval(government, domain.Government) for result in results: overlaps = result.short_name errors.append(Invalid( _("Another government is not yet dissolved (%s)") % overlaps, "start_date")) return logged_errors(errors, "validate_government_dates")
def get_others_overlapping_date(chamber, date): return [ result for result in queries.validate_date_in_interval( chamber, domain.Parliament, date) if result.parliament_type == parliament_type ]
def get_others_overlapping_date(chamber, date): return [ result for result in queries.validate_date_in_interval(chamber, domain.Parliament, date) if result.parliament_type == parliament_type ]
def get_others_overlapping_date(chamber, date): return [ result for result in queries.validate_date_in_interval(chamber, domain.Chamber, date) if result.sub_type == sub_type ]