コード例 #1
0
def handle_cierre_supervisor():
    incidence_id = request.form['incidence_id']
    comentario_incidencia = request.form['comentario_incidencia']
    resolucion = 'resolve' in request.form
    if resolucion:
        resolucion = 0
    else:
        resolucion = 1
    status = Status(incidence_id, get_technician(incidence_id),
                    5)  #user=tecnico
    update_status(status, 6, session.get('username'))
    if comentario_incidencia != '':
        comentario = Comment(incidence_id, session.get('username'), 6,
                             comentario_incidencia)
        insert_comment(comentario)
    update_resolve(incidence_id, resolucion)

    incidencias = select_incidences_notify_for_closed()
    empty_notif = 0
    notificaciones = get_notification(session.get('username'))
    if len(notificaciones) == 0:
        empty_notif = 1

    return render_template('incidencias_notificadas_resolucion.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias)
コード例 #2
0
def handle_cierre_cliente_todas():
    logger.info("Cierre cliente tratado")
    username_stat = get_supervisor()
    logger.info(username_stat)
    idcli = request.form['idcli']
    comentario_incidencia = request.form['comentario_incidencia']
    status = Status(idcli, username_stat, 4)
    username = session.get('username')
    if comentario_incidencia != '':
        comentario = Comment(idcli, session.get('username'), 4,
                             comentario_incidencia)
        insert_comment(comentario)
    # update_status(status,5,username)
    # cuestion del cambio a estado 5, lo hace cliente? ELIMINADO UPDATE CLIENTE
    role = session.get('role')
    notify_close(status, role)
    incidencias = select_open_incidences(session.get('username'))

    empty_notif = 0
    notificaciones = get_notification(username)
    if len(notificaciones) == 0:
        empty_notif = 1

    # devices=get_devices()
    return render_template('incidencias.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias)
コード例 #3
0
def handle_cierre_tecnico():
    logger.info("Cierre tecnico tratado")
    username_stat = get_supervisor()
    logger.info(username_stat)
    idtec = request.form['idtec']
    comentario_incidencia = request.form['comentario_incidencia']
    status = Status(idtec, username_stat, 4)
    username = session.get('username')
    update_status(status, 5, username)
    role = session.get('role')
    notify_close(status, role)
    if comentario_incidencia != '':
        comentario = Comment(idtec, session.get('username'), 5,
                             comentario_incidencia)
        insert_comment(comentario)
    else:
        logger.info("Sin comentario")
    incidencias = select_open_assigned_incidences_tech(session.get('username'))

    empty_notif = 0
    notificaciones = get_notification(username)
    if len(notificaciones) == 0:
        empty_notif = 1

    return render_template('incidencias_asignadas.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias)
コード例 #4
0
def handle_rechazar():
    incidence_id = request.form['incidence_id']
    username = request.form['username']
    status = Status(incidence_id, username, 1)
    update_status(status, 3, session.get('username'))

    incidencias = select_solicited_incidences()
    empty_notif = 0
    notificaciones = get_notification(session.get('username'))
    if len(notificaciones) == 0:
        empty_notif = 1

    return render_template('incidencias_solicitadas.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias)
コード例 #5
0
def handle_dashboard_tecnico():
    logger.info("Cierre tecnico tratado")
    username_stat = get_supervisor()
    logger.info(username_stat)
    idtec = request.form['idtec']
    comentario_incidencia = request.form['comentario_incidencia']
    status = Status(idtec, username_stat, 4)
    username = session.get('username')
    update_status(status, 5, username)
    role = session.get('role')
    notify_close(status, role)
    if comentario_incidencia != '':
        comentario = Comment(idtec, session.get('username'), 5,
                             comentario_incidencia)
        insert_comment(comentario)
    incidencias = select_open_assigned_incidences_tech(session.get('username'))

    empty_notif = 0
    notificaciones = get_notification(username)
    if len(notificaciones) == 0:
        empty_notif = 1
    total_incidences = client_total_open(session.get('username'))
    total_assigned = count_total_assigned_incidences(session.get('username'))
    total_notify_closed = count_total_notify_closed_assigned_incidences(
        session.get('username'))
    total_closed = count_total_closed_assigned_incidences(
        session.get('username'))

    return render_template('dashboard_technician.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias,
                           total_incidences=total_incidences,
                           total_assigned=total_assigned,
                           total_closed=total_closed,
                           total_notify_closed=total_notify_closed)
コード例 #6
0
def handle_assign_tech():
    tech = request.form['tech_assign']
    logger.info(tech)
    incidence_id = request.form['incidence_id']
    logger.info(incidence_id)
    status = Status(incidence_id, session.get('username'), 2)
    update_status(status, 4, session.get('username'))
    assign_tech(incidence_id, tech)

    incidencias = select_unassigned_incidences()
    tech_list = technician_list()
    username = session.get('username')
    empty_notif = 0
    notificaciones = get_notification(username)
    if len(notificaciones) == 0:
        empty_notif = 1
    return render_template('incidencias_sin_asignar.html',
                           username=session.get('username'),
                           role=session.get('role'),
                           notificaciones=notificaciones,
                           empty_notif=empty_notif,
                           incidencias=incidencias,
                           tech_list=tech_list)
コード例 #7
0
def handle_data():
    titulo_incidencia = request.form['titulo_incidencia']
    descripcion_incidencia = request.form['descripcion_incidencia']

    devices_ids = request.form.getlist('id_dispositivo')

    fecha_incidencia = request.form['fecha_incidencia']
    logger.info(fecha_incidencia)
    if fecha_incidencia == "":
        fecha_incidencia = datetime.now()
    # else:
    #     fecha_incidencia = fecha_incidencia + str(datetime.now().hour) + ':00:00'

    usuario = session.get('username')
    categoria = request.form['categoria']

    # hay que obtener el siguiente id, contar filas y sumas uno
    id_incidencia = get_next_id()

    if categoria == 'Hardware':
        categoria = 1
    elif categoria == 'Problemas con las comunicaciones':
        categoria = 2
    elif categoria == 'Software básico':
        categoria = 3
    elif categoria == 'Software de aplicaciones':
        categoria = 4

    incidencia = Incidence(id_incidencia, titulo_incidencia,
                           descripcion_incidencia, usuario, fecha_incidencia,
                           categoria)
    insert_incidence(incidencia)
    status = Status(id_incidencia, usuario, 1)
    insert_status(status)

    logger.info('Assigned devices: {}'.format(devices_ids))
    for device_id in devices_ids:
        logger.info('Listando devices: {}'.format(device_id))
        insert_assigned_devices(id_incidencia, device_id)

    # if devices_ids != '':
    #     logger.info('devices: {}'.format(devices_ids))
    #     assign_devices(id_incidencia, devices_ids)

    empty_notif = 0
    notificaciones = get_notification(session.get('username'))
    if len(notificaciones) == 0:
        empty_notif = 1
    if session.get('role') == 'cliente':
        total_incidences = client_total_incidences(session.get('username'))
        total_closed = client_total_closed(session.get('username'))
        total_open = client_total_open(session.get('username'))
        total_notify_closed = client_total_notify_closed(
            session.get('username'))

        incidencias = select_open_assigned_incidences_client(
            session.get('username'))
        return render_template('dashboard_client.html',
                               username=session.get('username'),
                               role=session.get('role'),
                               notificaciones=notificaciones,
                               empty_notif=empty_notif,
                               incidencias=incidencias,
                               total_incidences=total_incidences,
                               total_open=total_open,
                               total_notify_closed=total_notify_closed,
                               total_closed=total_closed)

    elif session.get('role') == 'tecnico':
        incidencias = select_open_assigned_incidences_tech(
            session.get('username'))
        total_incidences = client_total_open(session.get('username'))
        total_assigned = count_total_assigned_incidences(
            session.get('username'))
        total_notify_closed = count_total_notify_closed_assigned_incidences(
            session.get('username'))
        total_closed = count_total_closed_assigned_incidences(
            session.get('username'))

        return render_template('dashboard_technician.html',
                               username=session.get('username'),
                               role=session.get('role'),
                               notificaciones=notificaciones,
                               empty_notif=empty_notif,
                               incidencias=incidencias,
                               total_incidences=total_incidences,
                               total_assigned=total_assigned,
                               total_closed=total_closed,
                               total_notify_closed=total_notify_closed)
    else:
        return render_template('login.html')
コード例 #8
0
 def get(self):
     status = Status()
     return jsonify(self.schema.dump(status).data)