示例#1
0
def editar(id):
    agente = Agente.query.get_or_404(id)
    permission = EditarAgenteNucleoPermission(agente.id_nucleo)
    
    if is_accessible() or g.user.id == id or (is_accessible(roles_accepted=('coordenador_nucleo', )) and permission.can()):
        nucleos = [(c.id, c.descricao) for c in Nucleo.query.order_by(Nucleo.descricao).all()]
        
        form = AgenteFormEditar(obj=agente)

        form.id_nucleo.choices = nucleos
        form.id_nucleo.choices.insert(0, (0, "Selecione...")) 
        
        if request.method == "POST" and form.validate_on_submit():
            coordenador_nucleo = agente.coordenador_nucleo
            form.populate_obj(agente)
            
            if g.user.coordenador_pastoral == False:
                agente.coordenador_nucleo = coordenador_nucleo

            db.session.commit()

            flash(u"Agente editado com sucesso!", "success")
            return redirect("/agente/")
    else:
        abort(403)       

    return render_template("agente/form_editar.html", form = form, menu='agente')
示例#2
0
def excluir(id):
    agente = Agente.query.get_or_404(id)
    permission = EditarAgenteNucleoPermission(agente.id_nucleo)

    if is_accessible() or g.user.id == id or (is_accessible(roles_accepted=('coordenador_nucleo', )) and permission.can()):
        if id <> None and request.method == "GET":
            agente.active = False

            db.session.commit()
            
            flash(u"Agente excluído com sucesso!", "success")
    else:
        abort(403)  

    return redirect("/agente/")
示例#3
0
def editar(id):
    evento = Evento.query.get_or_404(id)   
    nucleos = [(c.id, c.descricao) for c in Nucleo.query.order_by(Nucleo.descricao).all()]

    if is_accessible() or (g.user.id_nucleo == evento.id_nucleo):
        form = EventoForm(obj=evento)

        form.id_nucleo.choices = nucleos
        form.id_nucleo.choices.insert(0, (0, "Selecione...")) 
        
        if request.method == "POST" and form.validate_on_submit():
            form.populate_obj(evento)
            
            if evento.id_nucleo == 0:
                evento.id_nucleo = None
            
            db.session.commit()

            flash(u"Evento editado com sucesso!", "success")
            return redirect("/evento/")
    else:
        abort(403)

    return render_template("evento/form.html", form = form, menu='eventos')