Example #1
0
def results():
    evaluations_team_leader = list()
    id_user = session['user']['_id']

    # Buscar usuario
    user: Users = Users.by_id(id_user)

    # Buscar evaluaciones
    evaluations: Evaluations = Evaluations.by_id_user(id_user)

    for evaluation in evaluations:
        data_evaluation: DataEvaluations = DataEvaluations.by_id(
            evaluation.id_data_evaluation)
        result_evaluation: ResultsEvaluation = ResultsEvaluation.by_id(
            evaluation.id_results_evaluation)

        # Objeto a guardar
        data = {
            '_id': evaluation.id_evaluations,
            'data_evaluation': data_evaluation,
            'team_leader': user.username,
            'result_evaluation': result_evaluation,
            'audio': data_evaluation.name_audio
        }

        # Agregar objeto a la lista
        evaluations_team_leader.append(data)

    return render_template('results.html', datas=evaluations_team_leader)
Example #2
0
def set_data():
    form = Evaluation()

    audio = request.files['audio']
    if audio == None:
        flash('Upss! No se selecciono un audio!')
        return redirect(url_for('team_leader.evaluation'))

    file_audio = secure_filename(audio.filename)

    # Subir audio
    dir_upload = current_app.config['UPLOAD_FOLDER']
    audio.save(os.path.join(dir_upload, file_audio))

    # Obtener datos del nombre del audio
    data_audio = str(file_audio).split('-')[2].split('.')

    date_audio = '{}-{}-{}'.format(data_audio[0][:4], data_audio[0][4:6],
                                   data_audio[0][6:8])

    name_audio = file_audio

    phone = str(file_audio).split('-')[0]

    # Configurar valiarbes a guardar
    id_manager = form.id_manager.data

    date_evaluation = str(datetime.now().strftime('%Y-%m-%d'))

    default = form.default.data

    contact = form.contact.data

    # Creo objeto a guardar
    user: Users = Users.by_id(session['user']['_id'])

    data = {
        'number_internal': id_manager,
        'team_leader': user.username,
        'phone': phone,
        'default': default,
        'contact': contact,
        'date_evaluation': date_evaluation,
        'date_audio': date_audio,
        'name_audio': name_audio,
        'audio': {
            'name': file_audio,
            'audio': True
        }
    }

    session['data_evaluation'] = data

    return redirect(url_for('team_leader.evaluation'))
Example #3
0
def save_management():
    form = Results()
    id_user = session['user']['_id']
    data_user = session['data_evaluation']
    result_user = session['result_evaluation']
    corrections = session['corrections']
    observation = form.observation.data
    default = data_user['default']

    # Buscar usuario
    user: Users = Users.by_id(id_user)

    # Mora
    if default == 'early':
        default == 'Temprana'
    elif default == 'last':
        default == 'Tardia'

    # Contacto
    if data_user['contact'] == 'headline':
        data_user['contact'] == 'Titular'
    elif data_user['contact'] == 'third':
        data_user['contact'] == 'Terceros'
    elif data_user['contact'] == 'answering_machine':
        data_user['contact'] == 'Contestador'
        default == None

    # Crear modelo de datos de la evaluacion a guardar
    data_evaluation: DataEvaluations = DataEvaluations(
        data_user['number_internal'], data_user['phone'], data_user['contact'],
        data_user['date_evaluation'], data_user['date_audio'],
        data_user['name_audio'], default)
    # Guardar datos
    data_evaluation.save()

    # Crear modelo de resultados a guardar
    results_evaluation: ResultsEvaluation = ResultsEvaluation(
        result_user['salute'], result_user['attitude'],
        result_user['negotiation_one'], result_user['negotiation_two'],
        result_user['registration_one'], result_user['registration_two'],
        result_user['result'])

    # Guardar resultado
    if 'message' in result_user:
        results_evaluation.save(message=result_user['message'])
    else:
        results_evaluation.save(closing=result_user['closing'])

    # Crear modelo de evaluaciones
    evaluation: Evaluations = Evaluations(
        observation, corrections, data_evaluation.id_data_evaluation,
        results_evaluation.id_results_evaluation, user.id_users)

    # Guardar evaluaciones
    evaluation.save()

    # Actualizar gestion de evaluaciones
    manage_evaluation: ManageEvaluations = ManageEvaluations.by_id(
        user.id_manage_evaluation)

    manage_evaluation.update()

    session.pop('data_evaluation')
    session.pop('result_evaluation')
    session.pop('corrections')

    return redirect(url_for('team_leader.results'))