db.define_table('staffingexception',
Field('employee_id', 'reference auth_user'),
Field('from_date', 'date', required=True),
Field('to_date', 'date', required=True),
Field('from_location', 'reference location', required=True),
Field('to_location', 'reference location', required=True),
Field('start_timeslot', 'text', required=True),
Field('end_timeslot', 'text', required=True),
)
db.staffingexception.to_location.requires = IS_IN_DB(db, 'location.id', '%(name)s')
db.staffingexception.end_timeslot.requires = IS_EXPR(lambda value: int(value) > int(request.post_vars.start_timeslot),
error_message='Eindtijd moet na de starttijd liggen.')