From 758e320a64b140d041886e08e6e05a3ab4944a9b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C3=81lvaro=20Berruezo?= <a.berruezo97@gmail.com>
Date: Fri, 4 Jan 2019 12:24:48 +0100
Subject: [PATCH] =?UTF-8?q?Solucionada=20asignaci=C3=B3n=20de=20t=C3=A9cni?=
 =?UTF-8?q?co=20y=20mujer=20embarazada?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/app.py                         | 23 +++++++++++------------
 src/static/menus/menu_cliente.html |  2 +-
 2 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/src/app.py b/src/app.py
index 97fae84..e4cf237 100644
--- a/src/app.py
+++ b/src/app.py
@@ -39,26 +39,24 @@ def logout():
 @app.route('/incidencia/<idIncidencia>', methods=['GET', 'POST'])
 @login_required
 def incidencia(idIncidencia):
-    incidencia = get_incidencia(idIncidencia)
-
-    cambioApertura = get_cambio_by_estado(idIncidencia, 0)
-    cambioAsignada = get_cambio_by_estado(idIncidencia, 1)
-    cambioCierre = get_cambio_by_estado(idIncidencia, 3)
-
     if request.method == 'POST':
-        if request.form['action']=="cierre_cliente":
+        if request.form['action']=="tecnico":
+            tecnico = request.form['tecnicoAsignado']
+            cambio_estado_incidencia(idIncidencia, 1, current_user.nick, tecnicoAsignado=tecnico)
+        elif request.form['action']=="cierre_cliente":
             cambio_estado_incidencia(idIncidencia, 2, current_user.nick)
         elif request.form['action']=="cierre_tecnico":
             cambio_estado_incidencia(idIncidencia, 3, current_user.nick)
-        elif request.form['action']=="tecnico":
-            cambio_estado_incidencia(idIncidencia, 1, current_user.nick)
         elif request.form['action']=="n-Solucion":
             cambio_estado_incidencia(idIncidencia, 4, current_user.nick)
         elif request.form['action']=="Solucion":
             cambio_estado_incidencia(idIncidencia, 5, current_user.nick)
 
-
+    incidencia = get_incidencia(idIncidencia)
     listaTecnicos = get_tecnicos()
+    cambioApertura = get_cambio_by_estado(idIncidencia, 0)
+    cambioAsignada = get_cambio_by_estado(idIncidencia, 1)
+    cambioCierre = get_cambio_by_estado(idIncidencia, 3)
     return render_template('info_incidencia.html', incidencia=incidencia, listaTecnicos=listaTecnicos, cambioApertura=cambioApertura, cambioAsignada=cambioAsignada, cambioCierre=cambioCierre)
 
 @app.route('/index')
@@ -209,9 +207,10 @@ def insert_incidencia(titulo, descripcion, fecha, estado, reportadaPor, categori
 def get_incidencia(id):
     return Incidencia.query.get(id)
 
-def cambio_estado_incidencia(id, estado, usuario):
+def cambio_estado_incidencia(id, estado, usuario, tecnicoAsignado=None):
     incidencia = get_incidencia(id)
     incidencia.estado = estado
+    if tecnicoAsignado: incidencia.tecnicoAsignado = tecnicoAsignado
     db.session.commit()
     
     insert_cambio(estado, usuario, id)
@@ -246,7 +245,7 @@ def insert_cambio(estado, tecnico, incidencia):
     db.session.commit()
 
 def get_cambio_by_estado(id, estado):
-    return list(Cambio.query.filter_by(incidencia=id, estado=estado))[0]
+    return next(iter(list(Cambio.query.filter_by(incidencia=id, estado=estado))), None)
 
 #######################
 #     INVENTARIO      #
diff --git a/src/static/menus/menu_cliente.html b/src/static/menus/menu_cliente.html
index 110dd04..8e385bb 100644
--- a/src/static/menus/menu_cliente.html
+++ b/src/static/menus/menu_cliente.html
@@ -10,7 +10,7 @@
     </a>
 
     <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/logout">
-        <span class="material-icons" style="color: black;">pregnant_woman</span>
+        <span class="material-icons" style="color: black;">exit_to_app</span>
         <span class="collapse width align-top side-options">Cerrar Sesión</span>
     </a>
 </div>
-- 
GitLab