def all_table(cls): preceptores = cls.all() for dict_item in preceptores: usuario_id = dict_item["usuario_id"] if usuario_id: user = User.find_by_id(usuario_id) dict_item["username"] = user["username"] dict_item["fecha_nacimiento"] = dict_item["fecha_nac"].strftime("%d-%m-%Y") del dict_item["fecha_nac"] loc = localidad(dict_item["localidad_id"]) dict_item["localidad"] = loc["nombre"] del dict_item["localidad_id"] dict_item["genero"] = Genero.find_by_id(dict_item["genero_id"])[0]["nombre"] del dict_item["genero_id"] tipo_doc = tipo_documento(dict_item["tipo_doc_id"]) dict_item["tipo_documento"] = tipo_doc["nombre"] del dict_item["tipo_doc_id"] dict_item["created_at"] = dict_item["created_at"].strftime( "%d-%m-%Y %H:%M:%S" ) dict_item["updated_at"] = dict_item["updated_at"].strftime( "%d-%m-%Y %H:%M:%S" ) return preceptores
def data(): s_config = siteconfig.get_config() if not has_permission("docente_show", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) id = request.args.get("id") if id: docente = Docente.find_by_id(id) if docente is not None: docente["fecha_nac"] = datetime.strftime(docente["fecha_nac"], "%d/%m/%Y") usuario_id = docente["usuario_id"] if usuario_id: user = User.find_by_id(usuario_id) docente["username"] = user["username"] data = jsonify(docente) return make_response(data, 200) else: abort(422) else: abort(400)
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 perfil(): 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') User.db = get_db() user = User.find_by_id(session['id']) return render_template('user/perfil.html', user=user)
def save(): id = request.form["id"] edit_user = to_usuario(request.form) user = User.find_by_username(edit_user.username) user_same = User.find_by_id(id) if user is None: User.update(edit_user, request.form.getlist("rol"), id) return redirect(url_for('user_index')) elif (user_same.username == edit_user.username or user_same.email == edit_user.email) and user is None: User.update(edit_user, request.form.getlist("rol"), edit_user.id) return redirect(url_for('user_index')) else: mensaje = "El usuario ya existe" return render_template('user/index.html', mensaje=mensaje)
def getUpdateUser(id_data): if auth.authenticated(): #Obtiene permisos del usuario User.db = get_db() if (User.tiene_permiso(session['id'], 'usuario_update')): user = User.find_by_id(id_data) roles = User.get_rol(id_data) #Obtiene roles Rol.db = get_db() roles_lista = Rol.all() #Retorna el template return render_template('auth/panel_components/usuario_update.html', user=user, roles=roles, roles_lista=roles_lista) else: abort(401) else: return redirect(url_for('auth_login'))
def user_data(): s_config = siteconfig.get_config() if not has_permission("usuario_index", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) # Por id id = request.args.get("id") if id: user = User.find_by_id(id) if user is not None: user["roles"] = User.user_roles(user["username"]) data = jsonify(user) return make_response(data, 200) else: abort(422) else: abort(400)
def edit(id): aUser = User.find_by_id(id) roles = RolModel.all() return render_template('user/edit.html', aUser=aUser, roles=roles)
def update(): s_config = siteconfig.get_config() if not has_permission("usuario_update", session) or ( s_config["modo_mantenimiento"] == 1 and not has_role("administrador", session)): abort(401) form = UserUpdateForm() op_response = dict() if form.validate_on_submit(): params = request.form.to_dict() params["roles"] = request.form.getlist("rol_id") if "activo" in params: params["activo"] = 1 else: params["activo"] = 0 uid = params["id"] old_email = User.find_by_id(uid)["email"] updated = User.update(params) if updated: # armo el string de roles para el mail roles_dict = User.user_roles(params["username"]) roles_names = "" first = True for rol in roles_dict: if first: first = False else: roles_names += ", " roles_names += rol["nombre"] new_email = User.find_by_id(uid)["email"] if old_email != new_email: # Mail al email viejo html = render_template("emails/mail_oldmail_change.html", nombre=params["first_name"]) send_async( old_email, "Email Modificado | Grupo2 - Orquesta Escuela de Berisso", html, ) # Mail al email nuevo html = render_template("emails/mail_newmail_change.html", nombre=params["first_name"]) send_async( new_email, "Email Modificado | Grupo2 - Orquesta Escuela de Berisso", html, ) # Mail por defecto de que hubo un update html = render_template("emails/mail_update_usuario.html", params=params, roles=roles_names) send_async( params["email"], "Cuenta Modificada | Grupo2 - Orquesta Escuela de Berisso", html, ) op_response["msg"] = "Se ha modificado al usuario con éxito" op_response["type"] = "success" else: op_response[ "msg"] = "El nombre de usuario está en uso, intente con otro" 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 usuario 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)