def update(): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') msj = "" try: formCU = CreateUserForm(request.form) User.db = get_db() User.db.autocommit = False usuarioSesion = int(request.form['id']) == int(session['id']) if createIsValid(formCU, request.form['oldEmail'], request.form['oldUsuario'], usuarioSesion): # actualizo los datos del usuario User.update(request.form['email'], request.form['usuario'], request.form['password'], request.form['firstName'], request.form['lastName'], int(request.form['id'])) if (not usuarioSesion): # elimino los roles asociados anteriores User.remove_roles_de_usuario(int(request.form['id'])) # obtengo los roles seleccionados y los agrego for rolSelected in request.form.getlist("roles"): idRol = int(rolSelected) User.add_role(int(request.form['id']), idRol) msj = "Se modificó con éxito" User.db.commit() #si el usuario modifica su propia información de usuario => actualizo los datos de la sesión if usuarioSesion: actualizarSession() flash("Se modificó con éxito", "success") if usuarioSesion: return redirect(url_for('user_perfil')) else: return redirect(url_for('listado_usuarios')) except Exception as e: msj = str(e) User.db.rollback() rolesUsuario = request.form.getlist("roles") roles = Roles.all() user = User.find_by_id(request.form['id']) return render_template("user/modificarUsr.html", titulo=msj, user=user, form=formCU, roles=roles, rolesUsuario=rolesUsuario, usuarioSesion=usuarioSesion, formRequest=request.form)
def create(): if not authenticated(session): return render_template('auth/login.html') ok = True if not pageState(): ok = False for permiso in session['permisos']: if "VER_EN_MANTENIMIENTO" == permiso['nombre']: ok = True if not ok: return render_template('error/mantenimiento.html') msj = "" try: formCU = CreateUserForm(request.form) User.db = get_db() User.db.autocommit = False if createIsValid(formCU): res = User.create(request.form['email'], request.form['usuario'], request.form['password'], request.form['firstName'], request.form['lastName']) for rolSelected in request.form.getlist("roles"): idRol = int(rolSelected) User.add_role(res['idInsertado'], idRol) User.db.commit() flash("Se creó con éxito", "success") return redirect(url_for('listado_usuarios')) except Exception as e: msj = str(e) User.db.rollback() rolesUsuario = request.form.getlist("roles") roles = Roles.all() return render_template("user/registrarUsr.html", titulo=msj, form=formCU, roles=roles, rolesUsuario=rolesUsuario, formRequest=request.form)
def update_roles(user_id, post_data): admin_id = 1 #Role.get_id_by_name('Administrador') teacher_id = 2 #Role.get_id_by_name('Docente') preceptor_id = 3 #Role.get_id_by_name('Preceptor') if (post_data['is_admin']): User.add_role(user_id, admin_id) else: User.remove_role(user_id, admin_id) if (post_data['is_teacher']): User.add_role(user_id, teacher_id) else: User.remove_role(user_id, teacher_id) if (post_data['is_preceptor']): User.add_role(user_id, preceptor_id) else: User.remove_role(user_id, preceptor_id) return True