Example #1
0
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'))
Example #2
0
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'))
Example #3
0
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"))
Example #4
0
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'))