db.define_table('t_villes',
Field('dep', type='string', notnull=True,
label=T('Département')),
Field('nom', type='string', notnull=True,
label=T('ville')),
Field('code_postal', type='string', notnull=True,
label=T('Code postal')),
Field('longitude_deg', type='float', notnull=True,
label=T('Longitude')),
Field('latitude_deg', type='float', notnull=True,
label=T('Latitude')),
format='%(nom)s %(code_postal)s'
)
db.define_table(
't_trajets',
Field('membre_voiture_id','reference t_voitures'),
Field('lieu_depart_id','reference t_villes',requires=IS_IN_DB(db,'t_villes.id','t_villes.nom')),
Field('lieu_arrive_id',db.t_villes),
Field('depart_le','datetime'),
Field('frequence',requires=IS_IN_SET(FREQUENCES),default=FREQUENCES[0]),
Field('type',requires=IS_IN_SET(TYPE_TRAJETS),default=TYPE_TRAJETS[0]),
Field('fumeur',requires=IS_IN_SET(FUMEUR),default=FUMEUR[1]),
Field('commentaire','text'),
Field( 'place_offert','integer'),
auth.signature
)
db.define_table('t_etapes_ville',
Field('trajet_id','reference t_trajets',requires=IS_IN_DB(db,'t_trajets.id','t_trajets.lieu_depart_id')),
Field('ville_id',db.t_villes,requires=IS_IN_DB(db,'t_villes.id','t_villes.nom')),
Field('ordre_depart','integer'),
)