示例#1
0
def update():
    if not authenticated(session):
        abort(401)
    #Chequea permiso
    User.db = get_db()
    if (User.tiene_permiso(session['id'], 'docente_update')):
        if request.method == "POST" and forms.ValidateDocente(
                request.form).validate():
            Docente.db = get_db()
            Docente.update(request.form)
            flash("Se actualizó el docente correctamente", 'success')
        else:
            flash(
                'Verifica los campos obligatorios. No ingreses valores no permitidos',
                'error')
        return redirect(url_for('panel_docentes'))
示例#2
0
def update():
    s_config = siteconfig.get_config()
    if not has_permission("docente_update", session) or (
            s_config["modo_mantenimiento"] == 1
            and not has_role("administrador", session)):
        abort(401)

    # Validación - Fill choices
    choices = forms_docente.choices()
    form = DocenteForm(choices)

    op_response = dict()

    if form.validate_on_submit():
        params = request.form.to_dict()

        if "username" in params:

            user = User.find_by_user(params["username"])
            if user:
                params["usuario_id"] = user["id"]

        params["fecha_nacimiento"] = datetime.strptime(
            params["fecha_nacimiento"], "%d/%m/%Y").date()

        updated = Docente.update(params)

        if updated:
            op_response["msg"] = "Se ha modificado al docente con éxito"
            op_response["type"] = "success"
        else:
            op_response["msg"] = "Ha ocurrido un error al editar al docente"
            op_response["type"] = "error"
            abort(make_response(jsonify(op_response), 422))

    else:
        if len(form.errors) >= 2:
            op_response[
                "msg"] = "Complete todos los datos del docente a modificar"
            op_response["type"] = "error"
        else:
            error_msg = "".join(list(form.errors.values())[0]).strip("'[]")
            op_response["msg"] = error_msg
            op_response["type"] = "error"

        abort(make_response(jsonify(op_response), 400))

    return make_response(jsonify(op_response), 200)