Esempio n. 1
0
    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()
Esempio n. 2
0
    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()
Esempio n. 3
0
    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()
Esempio n. 4
0
    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'))
Esempio n. 5
0
    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'))
Esempio n. 6
0
    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'))
Esempio n. 7
0
    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()
Esempio n. 8
0
    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'))
Esempio n. 9
0
    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()
Esempio n. 10
0
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()
Esempio n. 11
0
    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()
Esempio n. 12
0
    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()
Esempio n. 13
0
    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()
Esempio n. 14
0
def user_by_name(name):
    from lib.bottledbwrap import dbwrap
    db = dbwrap.session()
    user = db.query(User).filter_by(name=name).first()
    return user
Esempio n. 15
0
    def planning_jour_list():
        db = dbwrap.session()
        plannings = db.query(model.PlanningJour).order_by(
            model.PlanningJour.libelle)

        return locals()
Esempio n. 16
0
 def affectation_cycles_list():
     db = dbwrap.session()
     affectation_cycles = db.query(model.AffectationCycle).order_by(
         model.AffectationCycle.debut)
     return locals()
Esempio n. 17
0
 def cycle_list():
     db = dbwrap.session()
     cycles = db.query(model.Cycle).order_by(model.Cycle.libelle)
     return locals()