def update_cycle(id): db = dbwrap.session() cycle = db.query(model.Cycle).filter_by(cycle_id=id).one() form = CycleFormProcessor(request.forms.decode('utf-8'), cycle) # peupler la combo de sélection des plannings plannings = [ (planning.planning_id, planning.libelle) for planning in db.query(model.PlanningJour).order_by('libelle') ] for planningForm in form.plannings: planningForm.planning_id.choices = plannings planningForm.planning_id.default = planningForm.planning_id.data if request.method == 'POST' and form.validate(): cycle.libelle = form.libelle.data cycle.plannings = [] #db.flush() position = 1 for planningForm in form.plannings.data: planning = db.query(model.PlanningJour).filter_by( planning_id=planningForm['planning_id']).one() cycle.plannings.append( model.CyclePlanning(position=position, planning=planning)) position = position + 1 db.merge(cycle) db.commit() redirect(app.get_url('cycles')) return locals()
def new_cycle(): 'A sample of interacting with a form and a database.' db = dbwrap.session() form = CycleFormProcessor(request.forms.decode('utf-8')) plannings = [ (planning.planning_id, planning.libelle) for planning in db.query(model.PlanningJour).order_by('libelle') ] for planningForm in form.plannings: planningForm.planning_id.choices = plannings if request.method == 'POST' and form.validate(): cycle = model.Cycle(libelle=form.libelle.data) position = 1 for planningForm in form.plannings.data: planning = db.query(model.PlanningJour).filter_by( planning_id=planningForm['planning_id']).one() cycle.plannings.append( model.CyclePlanning(position=position, planning=planning)) position = position + 1 db.add(cycle) db.commit() redirect(app.get_url('cycles')) # any local variables can be used in the template return locals()
def update_affectation_cycle(id): db = dbwrap.session() affectationcycle = db.query( model.AffectationCycle).filter_by(affectation_id=id).one() form = AffectationCycleFormProcessor(request.forms.decode('utf-8'), affectationcycle) # peupler la combo de sélection des plannings cycles = [(cycle.cycle_id, cycle.libelle) for cycle in db.query(model.Cycle).order_by('libelle')] form.cycle_id.choices = cycles form.cycle_id.default = form.cycle_id.data if request.method == 'POST' and form.validate(): affectationcycle.debut = form.debut.data affectationcycle.fin = form.fin.data cycle = db.query( model.Cycle).filter_by(cycle_id=form.cycle_id.data).one() affectationcycle.cycle = cycle db.merge(affectationcycle) db.commit() redirect(app.get_url('affectation_cycles')) return locals()
def edit_user(username): db = dbwrap.session() user = db.query(model.User).filter_by(name=username).first() db.delete(user) db.commit() redirect(app.get_url('user_list'))
def delete_cycle(cycle_id): db = dbwrap.session() cycle = db.query(model.Cycle).filter_by(cycle_id=cycle_id).one() db.delete(cycle) db.commit() redirect(app.get_url('cycles'))
def delete_affectation_cycle(id): db = dbwrap.session() cycle = db.query( model.AffectationCycle).filter_by(affectation_id=id).one() db.delete(cycle) db.commit() redirect(app.get_url('affectation_cycles'))
def user_list(): 'A simple page from a dabase.' db = dbwrap.session() users = db.query(model.User).order_by(model.User.name) # any local variables can be used in the template return locals()
def delete_planning(planning_id): db = dbwrap.session() planning = db.query( model.PlanningJour).filter_by(planning_id=planning_id).one() db.delete(planning) db.commit() redirect(app.get_url('plannings'))
def edit_user(username): user = model.user_by_name(username) form = NewUserFormProcessor(request.POST, user) if request.method == 'POST' and form.validate(): db = dbwrap.session() form.populate_obj(user) print(user) db.merge(user) db.commit() redirect(app.get_url('user_list')) return locals()
def create_sample_data(): from lib.bottledbwrap import dbwrap dbwrap.connect() dbwrap.Base.metadata.create_all() db = dbwrap.session() """ sean = User( full_name='Sean Reifschneider', name='sean', email_address='*****@*****.**') db.add(sean) evi = User( full_name='Evi Nemeth', name='evi', email_address='*****@*****.**') db.add(evi) dmr = User( full_name='Dennis Ritchie', name='dmr', email_address='*****@*****.**') db.add(dmr) """ matin = PlanningJour(libelle="Un autre Matin") matin.plages=[ Plage(heure=time(8,0,0), temperature=25.0), Plage(heure=time(18, 0, 0), temperature=25.0)] db.add(matin) ferie = PlanningJour(libelle="Férié &") ferie.plages=[ Plage(heure=time(8,30,0), temperature=22.0), Plage(heure=time(17, 0, 0), temperature=23.0)] db.add(ferie) cycle = Cycle(libelle="un autre cycle") planning = CyclePlanning(position=1) planning.planning = matin cycle.plannings.append(planning) planning = CyclePlanning(position=2) planning.planning = matin cycle.plannings.append(planning) db.add(cycle) affectation = AffectationCycle(debut=date(2016,1,1), cycle=cycle) db.add(affectation) db.commit()
def new_user(): 'A sample of interacting with a form and a database.' form = NewUserFormProcessor(request.forms.decode()) if request.method == 'POST' and form.validate(): db = dbwrap.session() sean = model.User(full_name=form.full_name.data, name=form.name.data, email_address=form.email_address.data) db.add(sean) db.commit() redirect(app.get_url('user', username=form.name.data)) # any local variables can be used in the template return locals()
def new_planning(): 'A sample of interacting with a form and a database.' form = PlanningFormProcessor(request.forms.decode('utf-8')) if request.method == 'POST' and form.validate(): db = dbwrap.session() planning = model.PlanningJour(libelle=form.libelle.data) for plageForm in form.plages.data: plage = model.Plage(heure=plageForm['heure'], temperature=plageForm['temperature']) if plage.heure is not None and plage.temperature is not None: planning.plages.append(plage) db.add(planning) db.commit() redirect(app.get_url('plannings')) # any local variables can be used in the template return locals()
def update_planning(id): db = dbwrap.session() planning = db.query( model.PlanningJour).filter_by(planning_id=id).first() form = PlanningFormProcessor(request.forms.decode('utf-8'), planning) if request.method == 'POST' and form.validate(): planning.libelle = form.libelle.data planning.plages = [] for plage in form.plages.data: if plage['heure'] is not None and plage[ 'temperature'] is not None: planning.plages.append( model.Plage(heure=plage['heure'], temperature=plage['temperature'])) db.merge(planning) db.commit() redirect(app.get_url('plannings')) return locals()
def user_by_name(name): from lib.bottledbwrap import dbwrap db = dbwrap.session() user = db.query(User).filter_by(name=name).first() return user
def planning_jour_list(): db = dbwrap.session() plannings = db.query(model.PlanningJour).order_by( model.PlanningJour.libelle) return locals()
def affectation_cycles_list(): db = dbwrap.session() affectation_cycles = db.query(model.AffectationCycle).order_by( model.AffectationCycle.debut) return locals()
def cycle_list(): db = dbwrap.session() cycles = db.query(model.Cycle).order_by(model.Cycle.libelle) return locals()