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)
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)
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)
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)
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)
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)
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')
def get(self): status = Status() return jsonify(self.schema.dump(status).data)