def add_user(): form = AddUser() # Obtener datos del formulario number_internal = int(form.number_internal.data) password = form.password.data name = form.name.data last_name = form.last_name.data category = form.category.data # Buscar usuario user: Users = Users.by_username(number_internal) if user == None: # Guardar datos del usuario employees: Employees = Employees(name, last_name) employees.save() # Buscar categoria category_db: Category = Category.by_category(category) if category_db.category == 'team_leader': # Crear Gestion de evaluaciones management_evaluation: ManageEvaluations = ManageEvaluations() management_evaluation.save() # Crear modelo de usuario new_user: Users = Users(number_internal, number_internal, employees.id_employees, category_db.id_category, management_evaluation.id_manage_evaluation) # Crear modelo de usuario new_user: Users = Users(number_internal, number_internal, employees.id_employees, category_db.id_category, None) # Encriptar password new_user.encrypt_password(password) new_user.save() flash('Upss! El usuario ya existe!', 'alert-success') return redirect(url_for('admin.users')) else: flash('Upss! El usuario ya existe!', 'alert-danger') return redirect(url_for('admin.users'))
def add_tasks(): form = CreateTask() # Obtener datos del formulario team_leader = int(form.team_leader.data) managers = str(form.manager.data).split(';') date = form.date.data # Crear modelo de las tareas a guardar id_team_leader = Users.by_username(team_leader) for manager in managers: manager = int(manager) task: Tasks = Tasks(manager, date, id_team_leader.id_users) # Guardar tarea task.save() flash('Se agrego la tarea', 'alert-success') return redirect(url_for('admin.tasks'))
def sign_in_action(): # Instanciar la clase form = SignIn() # Obtener los datos ingresados username = form.username.data password = form.password.data # Buscar el usuario user: Users = Users.by_username(username) # Si existe el usuario if user != None: # Validar contraseƱa match = user.validate_password(password) # Buscar categoria category: Category = Category.by_id(user.id_category) # Si es valida if match: # Creo diccionario a guardar user = {'category': category.id_category, '_id': user.id_users} # Guardar usuario em la session session['user'] = user # Redireccionar usuario if category.category == 'team_leader': return redirect(url_for('team_leader.home')) elif category.category == 'admin': return redirect(url_for('admin.home')) elif category.category == 'manager': return redirect(url_for('manager.home')) else: flash("Upss! Password Incorrecta!") return redirect(url_for('auth.sign_in')) else: flash("Upss! Username Incorrecto!") return redirect(url_for("auth.sign_in"))
def search_evaluations(): form = SearchEvaluation() # Obtengo los datos del form number_internal_user = int(form.input_select.data) user: Users = Users.by_username(number_internal_user) if user == None: flash('No existe un usuario con este Numero de interno', 'alert-danger') return redirect(url_for('admin.get_evaluations')) # Agrego las evaluaciones respecto al ID ingresado evaluations = list() db_evaluations: Evaluations = Evaluations.by_id_user(user.id_users) for evaluation in db_evaluations: data_evaluation: DataEvaluations = DataEvaluations.by_id( db_evaluations.id_data_evaluation) result_evaluation: ResultsEvaluation = ResultsEvaluation.by_id( db_evaluations.id_results_evaluation) # Objeto a guardar data = { 'data_evaluation': data_evaluation, 'result_evaluation': result_evaluation, '_id': evaluation.id_evaluations } # Agregar objeto a la lista evaluations.append(data) session['evaluations'] = evaluations return redirect(url_for('admin.get_evaluations'))