diff --git a/src/app.py b/src/app.py
index f3f17827fa077443818505b887f0ffd9e044f634..1759f859b4cd0843bdee5aa23f85917a86c27288 100644
--- a/src/app.py
+++ b/src/app.py
@@ -38,17 +38,33 @@ def logout():
 
 @app.route('/incidencia/<idIncidencia>', methods=['GET', 'POST'])
 @login_required
-def informacion_incidencia_cliente(idIncidencia):
+def incidencia(idIncidencia):
     incidencia = get_incidencia(idIncidencia)
+
+    cambioApertura = get_informacion_apertura(idIncidencia)[0]
+    cambioAsignada = get_informacion_asignada(idIncidencia)
+    if len(cambioAsignada) > 0:
+        cambioAsignada = cambioAsignada[0]
+    cambioCierre = get_informacion_cierre(idIncidencia)
+    if len(cambioCierre) > 0:
+        cambioCierre = cambioCierre[0]
+
     listaTecnicos = get_tecnicos()
     if request.method == 'POST':
-        if incidencia.estado==0:
+        if 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":
             tecnico = request.form['tecnicoAsignado']
             cambio_estado_incidencia(idIncidencia, 1, tecnico)
-        elif incidencia.estado==1:
-            cambio_estado(idIncidencia, 2)
+        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)
+
 
-    return render_template('info_incidencia.html', incidencia=incidencia, listaTecnicos=listaTecnicos)
+    return render_template('info_incidencia.html', incidencia=incidencia, listaTecnicos=listaTecnicos, cambioApertura=cambioApertura, cambioAsignada=cambioAsignada, cambioCierre=cambioCierre)
 
 @app.route('/index')
 @login_required
@@ -56,12 +72,14 @@ def index():
     if current_user.tipo == 0: #Supervisor
         incidencias_abiertas = get_incidencias_abiertas_super()
         incidencias_notif_cierre = get_incidencias_notif_cierre_super()
+        incidencias_notif_cierre_cliente=get_incidencias_notif_cierre_super_cliente()
 
-        return render_template('incidencias_supervisor.html', incidencias_abiertas=incidencias_abiertas, incidencias_notif_cierre=incidencias_notif_cierre)
+        return render_template('incidencias_supervisor.html', incidencias_abiertas=incidencias_abiertas, incidencias_notif_cierre=incidencias_notif_cierre, incidencias_notif_cierre_cliente=incidencias_notif_cierre_cliente)
 
     elif current_user.tipo == 1: #Tecnico
         incidencias_abiertas = get_incidencias_abiertas(current_user.nick)
         incidencias_notif_cierre = get_incidencias_notif_cierre(current_user.nick)
+        incidencias_pendientes_cierre=get_inciencias_pendientes_cierre(current_user.nick)
 
         return render_template('incidencias_tecnico.html', incidencias_abiertas=incidencias_abiertas, incidencias_notif_cierre=incidencias_notif_cierre)
 
@@ -70,16 +88,12 @@ def index():
 
         return render_template('incidencias_cliente.html', incidencias=incidencias)
 
-@app.route('/incidencia/<idIncidencia>', methods=['GET', 'POST'])
+@app.route('/incidencias_cerradas')
 @login_required
-def incidencia(idIncidencia):
-    if request.method == 'POST':
-        tecnico = request.form['tecnicoAsignado']
-        cambio_estado_incidencia(idIncidencia, 1, tecnico)
+def incidencias_cerradas():
+    incidencias = get_incidencias_cerradas()
+    return render_template('incidencias_cliente.html', incidencias=incidencias)
 
-    incidencia = get_incidencia(idIncidencia)
-    listaTecnicos = get_tecnicos()
-    return render_template('info_incidencia.html', incidencia=incidencia, listaTecnicos=listaTecnicos)
 
 @app.route('/incidencia2/<idIncidencia>', methods=['GET', 'POST'])
 @login_required
@@ -129,9 +143,11 @@ def add_comentario(idIncidencia):
 ###################################################
 
 from flask_sqlalchemy import SQLAlchemy
+from sqlalchemy import or_
 from flask_login import UserMixin
 
-app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://PGPI_grupo02:JEbITzwe@127.0.0.1:3306/PGPI_grupo02'
+# app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://PGPI_grupo02:JEbITzwe@127.0.0.1:3306/PGPI_grupo02'
+app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://PGPI_grupo02:JEbITzwe@jair.lab.inf.uva.es:3306/PGPI_grupo02'
 app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
 db = SQLAlchemy(app)
 
@@ -163,7 +179,7 @@ class Incidencia(db.Model):
     categoria = db.Column(db.String(40))
 
 class Cambio(db.Model):
-    fecha = db.Column(db.DateTime, primary_key=True)
+    fecha = db.Column(db.String(50), primary_key=True)
     estado = db.Column(db.Integer)
     tecnico = db.Column(db.String(50))
     incidencia = db.Column(db.Integer)
@@ -187,28 +203,31 @@ def get_tecnicos():
 #     INCIDENCIA      #
 #######################
 def insert_incidencia(titulo, descripcion, fecha, estado, reportadaPor, categoria, comentario=None, prioridad=None, tiempoEstimado=None, tecnicoAsignado=None):
-    db.session.add(Incidencia(titulo=titulo, comentario=comentario, prioridad=prioridad, tiempoEstimado=tiempoEstimado, descripcion=descripcion, fecha=fecha, estado=estado, tecnicoAsignado=tecnicoAsignado, reportadaPor=reportadaPor, categoria=categoria))
+    incidencia = Incidencia(titulo=titulo, comentario=comentario, prioridad=prioridad, tiempoEstimado=tiempoEstimado, descripcion=descripcion, fecha=fecha, estado=estado, tecnicoAsignado=tecnicoAsignado, reportadaPor=reportadaPor, categoria=categoria)
+    db.session.add(incidencia)
     db.session.commit()
 
+    insert_cambio(estado, reportadaPor, incidencia.id)
+
 def get_incidencia(id):
     return Incidencia.query.get(id)
 
 
-def cambio_estado_incidencia(id, estado, tecnicoAsignado):
+def cambio_estado_incidencia(id, estado, usuario):
     incidencia = get_incidencia(id)
     incidencia.estado = estado
-    incidencia.tecnicoAsignado = tecnicoAsignado
+    incidencia.tecnicoAsignado = usuario
     db.session.commit()
+    
+    insert_cambio(estado, usuario, id)
 
 def comentar_incidencia(id, comentario):
     incidencia = get_incidencia(id)
     incidencia.comentario = comentario
     db.session.commit()
-
-def cambio_estado(id,estado):
-    incidencia = Incidencia.query.get(id)
-    incidencia.estado = estado
-    db.session.commit()
+   
+def get_incidencias_cerradas():
+    return list(Incidencia.query.filter(or_(Incidencia.estado == 4, Incidencia.estado == 5)))
 
 def get_incidencias_by_user(userNick):
     return list(Incidencia.query.filter_by(reportadaPor=userNick))
@@ -220,19 +239,31 @@ def get_incidencias_abiertas_super():
     return list(Incidencia.query.filter_by(estado=0))
 
 def get_incidencias_notif_cierre_super():
+    return list(Incidencia.query.filter_by(estado=3))
+def get_incidencias_notif_cierre_super_cliente():
     return list(Incidencia.query.filter_by(estado=2))
-
 def get_incidencias_notif_cierre(userNick):
-    return list(Incidencia.query.filter_by(reportadaPor=userNick, estado=2))
+    return list((Incidencia.query.filter_by(reportadaPor=userNick, estado=2)))
+def get_inciencias_pendientes_cierre(userNick):
+    return list((Incidencia.query.filter_by(reportadaPor=userNick, estado=3)))
 
 
 #######################
 #       CAMBIO        #
 #######################
-def insert_cambio(estado, tecnico, incidencia, fecha=datetime.now()):
+def insert_cambio(estado, tecnico, incidencia):
+    fecha = datetime.now()
     db.session.add(Cambio(fecha=fecha, estado=estado, tecnico=tecnico, incidencia=incidencia))
     db.session.commit()
 
+def get_informacion_apertura(id):
+    return list(Cambio.query.filter_by(incidencia=id, estado=0))
+
+def get_informacion_asignada(id):
+    return list(Cambio.query.filter_by(incidencia=id, estado=1))
+
+def get_informacion_cierre(id):
+    return list(Cambio.query.filter_by(incidencia=id, estado=3))
 
 #######################
 #     INVENTARIO      #
diff --git a/src/schema.sql b/src/schema.sql
index 3ee3a29fe523a09a6e7c3faa821d07d161f783d9..8169bb35082b0235e55d9e04766656c5fd7e4a9d 100644
--- a/src/schema.sql
+++ b/src/schema.sql
@@ -7,6 +7,7 @@ DROP TABLE IF EXISTS usuario;
 DROP TABLE IF EXISTS incidencia;
 DROP TABLE IF EXISTS elementoIncidencia;
 DROP TABLE IF EXISTS cambio;
+DROP TABLE IF EXISTS categoriaIncidencia;
 
 
 /* Valores para estado de la incidencia:
@@ -80,7 +81,7 @@ CREATE TABLE elementoIncidencia(
 );
 
 CREATE TABLE cambio(
-    fecha DATE PRIMARY KEY,
+    fecha DATETIME PRIMARY KEY,
     estado INTEGER REFERENCES estado(id),
     tecnico VARCHAR(50) REFERENCES usuario(nick),
     incidencia INTEGER REFERENCES incidencia(id) 
@@ -89,9 +90,10 @@ CREATE TABLE cambio(
 /* Poblando la tabla: estado */
 INSERT INTO estado (id, estado) VALUES (0, 'abierta');
 INSERT INTO estado (id, estado) VALUES (1, 'asignada a un tecnico');
-INSERT INTO estado (id, estado) VALUES (2, 'pendiente de cerrar');
-INSERT INTO estado (id, estado) VALUES (3, 'cerrada sin solucion');
-INSERT INTO estado (id, estado) VALUES (4, 'cerrada con solucion');
+INSERT INTO estado (id, estado) VALUES (2, 'pendiente de cerrar cliente');
+INSERT INTO estado (id, estado) VALUES (3, 'pendiente de cerrar tecnico');
+INSERT INTO estado (id, estado) VALUES (4, 'cerrada sin solucion');
+INSERT INTO estado (id, estado) VALUES (5, 'cerrada con solusion');
 
 /* Poblando la tabla: tipoUsuario */
 INSERT INTO tipoUsuario (id, tipoUsuario) VALUES (0, 'supervisor');
@@ -103,11 +105,4 @@ INSERT INTO usuario (nick, email, password, nombre, apellidos, biografia, fotoPe
 INSERT INTO usuario (nick, email, password, nombre, apellidos, biografia, fotoPerfil, tipo) VALUES ('tecnico', 'tecnico@mail.com', 'password', 'tec', 'nico', 'probando la biografia del tecnico', 'fotoPerfil', 1);
 INSERT INTO usuario (nick, email, password, nombre, apellidos, biografia, fotoPerfil, tipo) VALUES ('cliente', 'cliente@mail.com', 'password', 'clie', 'nte', 'probando la biografia del cliente', 'fotoPerfil', 2);
 
-/* Poblando la tabla: incidencia */
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (1, 'Titulo 1', 'Comentario 1', 0, 4, 'Descripcion 1', 0, 'tecnico 1', 'cliente');
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (2, 'Titulo 2', 'Comentario 2', 0, 4, 'Descripcion 2', 0, 'tecnico 2', 'cliente');
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (3, 'Titulo 3', 'Comentario 3', 0, 4, 'Descripcion 3', 0, 'tecnico 3', 'cliente');
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (4, 'Titulo 4', 'Comentario 4', 0, 4, 'Descripcion 4', 0, 'tecnico 4', 'cliente');
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (5, 'Titulo 5', 'Comentario 5', 0, 4, 'Descripcion 5', 0, 'tecnico 5', 'cliente');
-INSERT INTO incidencia (id, titulo, comentario, prioridad, tiempoEstimado, descripcion, estado, tecnicoAsignado, reportadaPor) VALUES (6, 'Titulo 6', 'Comentario 6', 0, 4, 'Descripcion 6', 0, 'tecnico 6', 'cliente');
 
diff --git a/src/static/css/clientView.css b/src/static/css/clientView.css
index a9a6bdd4da700b163df1ae1ceef3f1d1331c713e..1bf8852e1388e2f6967f5f5b31653f6269015a84 100644
--- a/src/static/css/clientView.css
+++ b/src/static/css/clientView.css
@@ -93,7 +93,7 @@ nav {
     width: 100%;
     height: 100%;
     padding-top: 64px!important;
-    padding-left: 4%!important;
+    padding-left: 6%!important;
     margin-right: 0!important;
     margin-bottom: 0!important;
     padding-right: 0!important;
@@ -134,14 +134,14 @@ nav {
     border: 2px solid grey;
 }
 
-footer {
-  position: fixed;
+#botonesPiePagina {
   left: 0;
   bottom: 0;
   width: 100%;
   color: white;
   text-align: center;
   padding: 2em;
+  margin: 0 auto;
 }
 
 .btn {
diff --git a/src/static/menus/menu_cliente.html b/src/static/menus/menu_cliente.html
new file mode 100644
index 0000000000000000000000000000000000000000..110dd047203805f7b35a6b6dbe7f3f1440be2bd4
--- /dev/null
+++ b/src/static/menus/menu_cliente.html
@@ -0,0 +1,16 @@
+<div class="list-group list-group-flush w-100 side-icons">
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/index">
+        <span class="material-icons" style="color: black;">home</span>
+        <span class="collapse width align-top side-options">Inicio</span>
+    </a>
+
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/registrar_incidencia">
+        <span class="material-icons" style="color: black;">library_add</span>
+        <span class="collapse width align-top side-options">Registrar Incidencia</span>
+    </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="collapse width align-top side-options">Cerrar Sesión</span>
+    </a>
+</div>
diff --git a/src/static/menus/menu_supervisor.html b/src/static/menus/menu_supervisor.html
new file mode 100644
index 0000000000000000000000000000000000000000..90f3295aba7855ce0600f8ced60c4585eb890777
--- /dev/null
+++ b/src/static/menus/menu_supervisor.html
@@ -0,0 +1,16 @@
+<div class="list-group list-group-flush w-100 side-icons">
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/index">
+        <span class="material-icons" style="color: black;">home</span>
+        <span class="collapse width align-top side-options">Inicio</span>
+    </a>
+
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/incidencias_cerradas">
+        <span class="material-icons" style="color: black;">delete_forever</span>
+        <span class="collapse width align-top side-options">Incidencias Cerradas</span>
+    </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;">exit_to_app</span>
+        <span class="collapse width align-top side-options">Cerrar sesión</span>
+    </a>
+</div>
diff --git a/src/static/menus/menu_tecnico.html b/src/static/menus/menu_tecnico.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb5bd7289487fbe4c007aae98181d50d9f17d57c
--- /dev/null
+++ b/src/static/menus/menu_tecnico.html
@@ -0,0 +1,21 @@
+<div class="list-group list-group-flush w-100 side-icons">
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/index">
+        <span class="material-icons" style="color: black;">home</span>
+        <span class="collapse width align-top side-options">Inicio</span>
+    </a>
+
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/incidencias_cerradas">
+        <span class="material-icons" style="color: black;">delete_forever </span>
+        <span class="collapse width align-top side-options">Incidencias Cerradas</span>
+    </a>
+
+    <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/registrar_incidencia">
+        <span class="material-icons" style="color: black;">library_add</span>
+        <span class="collapse width align-top side-options">Registrar Incidencia</span>
+    </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;">exit_to_app</span>
+        <span class="collapse width align-top side-options">Cerrar sesión</span>
+    </a>
+</div>
diff --git a/src/static/scripts/includeHTML.js b/src/static/scripts/includeHTML.js
new file mode 100644
index 0000000000000000000000000000000000000000..cc2081f8a1d1bcdbb2bbb19dc646427b6d5d095e
--- /dev/null
+++ b/src/static/scripts/includeHTML.js
@@ -0,0 +1,27 @@
+function includeHTML() {
+    var z, i, elmnt, file, xhttp;
+    /*loop through a collection of all HTML elements:*/
+    z = document.getElementsByTagName("*");
+    for (i = 0; i < z.length; i++) {
+        elmnt = z[i];
+        /*search for elements with a certain atrribute:*/
+        file = elmnt.getAttribute("w3-include-html");
+        if (file) {
+            /*make an HTTP request using the attribute value as the file name:*/
+            xhttp = new XMLHttpRequest();
+            xhttp.onreadystatechange = function() {
+                if (this.readyState == 4) {
+                    if (this.status == 200) {elmnt.innerHTML = this.responseText;}
+                    if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
+                    /*remove the attribute, and call this function once more:*/
+                    elmnt.removeAttribute("w3-include-html");
+                    includeHTML();
+                }
+            }      
+            xhttp.open("GET", file, true);
+            xhttp.send();
+            /*exit the function:*/
+            return;
+        }
+    }
+};
diff --git a/src/templates/incidencias_cliente.html b/src/templates/incidencias_cliente.html
index 592f8c22e8743fdf329fbdae0d837816a3a2dec7..83a27605909487764cc69edaf580632297ed0f1b 100644
--- a/src/templates/incidencias_cliente.html
+++ b/src/templates/incidencias_cliente.html
@@ -14,6 +14,7 @@
         crossorigin="anonymous">
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
         crossorigin="anonymous">
+    <script src="{{ url_for('static', filename='scripts/includeHTML.js') }}"></script>
 </head>
 
 <body class="d-flex" style="min-height: 100%;min-width: 100%;">
@@ -24,36 +25,19 @@
         </div>
     </nav>
 
-    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
-        onmouseover="openSide('side-nav')">
+    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light" onmouseover="openSide('side-nav')">
         <div class="side-title side-content d-flex ">
             <img id="user-img" class="user-icon" src="../static/img/default-gravatar.png" alt="user icon">
-            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%">User Name</span>
+            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%;max-height: 10%">{{ current_user.nick }}</span>
         </div>
-        <div class="list-group list-group-flush w-100 side-icons">
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="material-icons" style="color: black;">person_add</span>
-                <span class="collapse width align-top side-options">Add User</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fa fa-plus-square fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/registrar_incidencia">
-                <span class="fas fa-project-diagram fa-m " style="color: gray;"></span>
-                <span class="collapse width align-top side-options">Registrar nueva incidencia</span>
-            </a>
 
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: green;"></span>
-                <span class="collapse width align-top side-options">Ver estadisticas</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: grey;"></span>
-                <span class="collapse width align-top side-options">Filtros de incidencias</span>
-            </a>
-        </div>
+        {% if current_user.tipo == 0 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_supervisor.html') }}"></div>
+        {% elif current_user.tipo == 1 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_tecnico.html') }}"></div>
+        {% elif current_user.tipo == 2 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_cliente.html') }}"></div>
+        {% endif %}
     </div>
 
     <div id="data-body" class="container-fluid flex-grow-1" onmouseover="closeSide('side-nav')" >
@@ -134,6 +118,9 @@
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
         crossorigin="anonymous"></script>
 
+<script>
+includeHTML();
+</script>
 </body>
 
 </html>
diff --git a/src/templates/incidencias_supervisor.html b/src/templates/incidencias_supervisor.html
index 9f59bdab70f19f0baaff8433518264ed77e26c80..8999ddfc1c60e369b1ded6c0b694cb85af516c1a 100644
--- a/src/templates/incidencias_supervisor.html
+++ b/src/templates/incidencias_supervisor.html
@@ -14,6 +14,7 @@
         crossorigin="anonymous">
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
         crossorigin="anonymous">
+    <script src="{{ url_for('static', filename='scripts/includeHTML.js') }}"></script>
 </head>
 
 <body class="d-flex" style="min-height: 100%;min-width: 100%;">
@@ -24,39 +25,19 @@
         </div>
     </nav>
 
-    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
-        onmouseover="openSide('side-nav')">
+    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light" onmouseover="openSide('side-nav')">
         <div class="side-title side-content d-flex ">
             <img id="user-img" class="user-icon" src="../static/img/default-gravatar.png" alt="user icon">
-            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%">User Name</span>
+            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%;max-height: 10%">{{ current_user.nick }}</span>
         </div>
-        <div class="list-group list-group-flush w-100 side-icons">
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="material-icons" style="color: black;">person_add</span>
-                <span class="collapse width align-top side-options">Add User</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fa fa-plus-square fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-envelope fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">E-Mail</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-project-diagram fa-m " style="color: gray;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
 
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: green;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: grey;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-        </div>
+        {% if current_user.tipo == 0 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_supervisor.html') }}"></div>
+        {% elif current_user.tipo == 1 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_tecnico.html') }}"></div>
+        {% elif current_user.tipo == 2 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_cliente.html') }}"></div>
+        {% endif %}
     </div>
 
     <div id="data-body" class="container-fluid flex-grow-1" onmouseover="closeSide('side-nav')" >
@@ -109,6 +90,25 @@
                 </div>
                 {% endfor %}
             </div>
+            <div style="border-left: 1px solid grey; height: 70%;">
+                <p class="text-center" id="tituloColumna">Pendientes de Cerrar Cliente</p>
+                {% for i in range(incidencias_notif_cierre_cliente|length) %}
+                <div class="card-deck" style="margin: 1em;">
+                    <div class="card" id="card2">
+                        <div class="card-body">
+                            <a href="/incidencia/{{ incidencias_notif_cierre_cliente[i].id  }}">
+                                <p class="card-title">{{ incidencias_notif_cierre_cliente[i].titulo }}</p>
+                                <hr>
+                                <p class="card-text">Descripción:</p>
+                                <p class="card-text .text-justify" id="card-description">{{ incidencias_notif_cierre_cliente[i].descripcion }}</p>
+                                <hr>
+                                <p class="card-text">Incidencia abierta por {{ incidencias_notif_cierre_cliente[i].reportadaPor }}</p>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+                {% endfor %}
+            </div>
         </div>
     </div>
 
@@ -137,6 +137,9 @@
         crossorigin="anonymous"></script>
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
         crossorigin="anonymous"></script>
+<script>
+includeHTML();
+</script>
 
 </body>
 
diff --git a/src/templates/incidencias_tecnico.html b/src/templates/incidencias_tecnico.html
index b07e48a222c29cb50d7f58cf1a570ce1a82f960c..763bf2a345deb1c7066a21eb81ddcb2cd29a4d4a 100644
--- a/src/templates/incidencias_tecnico.html
+++ b/src/templates/incidencias_tecnico.html
@@ -14,6 +14,7 @@
         crossorigin="anonymous">
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
         crossorigin="anonymous">
+    <script src="{{ url_for('static', filename='scripts/includeHTML.js') }}"></script>
 </head>
 
 <body class="d-flex" style="min-height: 100%;min-width: 100%;">
@@ -24,39 +25,19 @@
         </div>
     </nav>
 
-    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
-        onmouseover="openSide('side-nav')">
+    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light" onmouseover="openSide('side-nav')">
         <div class="side-title side-content d-flex ">
             <img id="user-img" class="user-icon" src="../static/img/default-gravatar.png" alt="user icon">
-            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%">User Name</span>
+            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%;max-height: 10%">{{ current_user.nick }}</span>
         </div>
-        <div class="list-group list-group-flush w-100 side-icons">
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="material-icons" style="color: black;">person_add</span>
-                <span class="collapse width align-top side-options">Add User</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fa fa-plus-square fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-envelope fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">E-Mail</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-project-diagram fa-m " style="color: gray;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
 
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: green;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: grey;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-        </div>
+        {% if current_user.tipo == 0 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_supervisor.html') }}"></div>
+        {% elif current_user.tipo == 1 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_tecnico.html') }}"></div>
+        {% elif current_user.tipo == 2 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_cliente.html') }}"></div>
+        {% endif %}
     </div>
 
     <div id="data-body" class="container-fluid flex-grow-1" onmouseover="closeSide('side-nav')" >
@@ -68,6 +49,7 @@
         </div>
 
         <div style="display: flex;">
+            {% if (incidencias_abiertas|length) > 0 %}
             <div>
                 <p class="text-center" id="tituloColumna">Abiertas</p>
                 {% for i in range(incidencias_abiertas|length) %}
@@ -86,9 +68,11 @@
                     </div>
                 </div>
                 {% endfor %}
-
             </div>
+            {% endif %}
 
+
+            {% if (incidencias_notif_cierre|length) > 0 %}
             <div style="border-left: 1px solid grey; height: 70%;">
                 <p class="text-center" id="tituloColumna">Notificacion Cierre</p>
                 {% for i in range(incidencias_notif_cierre|length) %}
@@ -107,8 +91,30 @@
                     </div>
                 </div>
                 {% endfor %}
+            </div>
+            {% endif %}
 
+            {% if (incidencias_notif_cierre|length) > 0 %}
+            <div style="border-left: 1px solid grey; height: 70%;">
+                <p class="text-center" id="tituloColumna">Pendiente Cierre</p>
+                {% for i in range(incidencias_pendientes_cierre|length) %}
+                <div class="card-deck" style="margin: 1em;">
+                    <div class="card" id="card2">
+                        <div class="card-body">
+                            <a href="/informacion_incidencia/{{ incidencias_notif_cierre[i].id  }}">
+                                <p class="card-title">{{ incidencias_pendientes_cierre[i].titulo }}</p>
+                                <hr>
+                                <p class="card-text">Descripción:</p>
+                                <p class="card-text .text-justify" id="card-description">{{ incidencias_pendientes_cierre[i].descripcion }}</p>
+                                <hr>
+                                <p class="card-text">Incidencia abierta por {{ incidencias_pendientes_cierre[i].reportadaPor }}</p>
+                            </a>
+                        </div>
+                    </div>
+                </div>
+                {% endfor %}
             </div>
+            {% endif %}
         </div>
     </div>
 
@@ -138,6 +144,9 @@
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
         crossorigin="anonymous"></script>
 
+<script>
+includeHTML();
+</script>
 </body>
 
 </html>
diff --git a/src/templates/info_incidencia.html b/src/templates/info_incidencia.html
index 49cf3c5568c1321ee6c5726b700a81644aa102e1..7da600a47a8c45eaf65ca97aa6ad0dcdcc42bdf7 100644
--- a/src/templates/info_incidencia.html
+++ b/src/templates/info_incidencia.html
@@ -14,6 +14,7 @@
         crossorigin="anonymous">
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
         crossorigin="anonymous">
+    <script src="{{ url_for('static', filename='scripts/includeHTML.js') }}"></script>
 </head>
 
 <body class="d-flex" style="min-height: 100%;min-width: 100%;">
@@ -24,39 +25,19 @@
         </div>
     </nav>
 
-    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
-        onmouseover="openSide('side-nav')">
+    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light" onmouseover="openSide('side-nav')">
         <div class="side-title side-content d-flex ">
             <img id="user-img" class="user-icon" src="../static/img/default-gravatar.png" alt="user icon">
-            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%">User Name</span>
-        </div>
-        <div class="list-group list-group-flush w-100 side-icons">
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="material-icons" style="color: black;">person_add</span>
-                <span class="collapse width align-top side-options">Add User</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fa fa-plus-square fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-envelope fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">E-Mail</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-project-diagram fa-m " style="color: gray;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: green;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: grey;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
+            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%;max-height: 10%">{{ current_user.nick }}</span>
         </div>
+
+        {% if current_user.tipo == 0 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_supervisor.html') }}"></div>
+        {% elif current_user.tipo == 1 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_tecnico.html') }}"></div>
+        {% elif current_user.tipo == 2 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_cliente.html') }}"></div>
+        {% endif %}
     </div>
 
     <div id="data-body" class="container-fluid flex-grow-1" onmouseover="closeSide('side-nav')" >
@@ -124,36 +105,48 @@
           Abierta
         </h3>
         <p class="steps-description">
-        Incidencia abierta por {{ incidencia.reportadaPor}} el 23/12/18
+        Incidencia abierta por {{ incidencia.reportadaPor}} el {{ cambioApertura.fecha }}
         </p>
       </div>
 
       <div class="steps-two">
           {% if incidencia.estado == 1 or incidencia.estado == 2 or incidencia.estado == 3 or incidencia.estado == 4%}
         <img class="steps-img" src="http://placehold.it/50/3498DB/FFFFFF" alt="" />
+        <h3 class="steps-name">
+          Asignada
+        </h3>
+        <p class="steps-description">
+        Aceptada y asignada a {{ incidencia.tecnicoAsignado }} el {{ cambioAsignada.fecha }}
+        </p>
         {% else %}
         <img class="steps-img" src="http://placehold.it/50/FF0000/FFFFFF" alt="" />
-        {% endif %}
         <h3 class="steps-name">
-          Aceptada
+          Asignada
         </h3>
         <p class="steps-description">
-        Aceptada y asignada a {{ incidencia.tecnico }}
+        Incidencia aun no asignada
         </p>
+        {% endif %}
       </div>
 
       <div class="steps-three">
           {% if incidencia.estado == 3 or incidencia.etado == 4%}
         <img class="steps-img" src="http://placehold.it/50/3498DB/FFFFFF" alt="" />
+        <h3 class="steps-name">
+          Cerrada
+        </h3>
+        <p class="steps-description">
+        Incidencia cerrada el {{ cambioCierre.fecha  }}
+        </p>
         {% else %}
         <img class="steps-img" src="http://placehold.it/50/FF0000/FFFFFF" alt="" />
-        {% endif %}
         <h3 class="steps-name">
           Cerrada
         </h3>
         <p class="steps-description">
-            Incidencia cerrada por supervisor el 25/12/19
+        Incidencia aun no cerrada
         </p>
+        {% endif %}
       </div>
 
     </div><!-- /.steps-timeline -->
@@ -161,34 +154,42 @@
   </section>
 
 
-       
-            <footer>
-                {% if (current_user.tipo == 0) and (incidencia.estado ==  0) %}
-                <!-- <form method="POST" action='/incidencia/{{ incidencia.id }}'> -->
+
+  <div id="botonesPiePagina">
+            {% if (current_user.tipo == 0) and (incidencia.estado ==  0) %}      
                 <form method="POST" action='/incidencia/{{ incidencia.id }}'>
                     <button type="button" class="btn btn-outline-primary" >Añadir comentario</button>
-
-                    <button type="submit" class="btn btn-outline-primary">Asignar tecnico</button>
-                    <select name="tecnicoAsignado">  
+                    <button type="submit" class="btn btn-outline-primary" name="action" value="tecnico">Asignar tecnico</button>
+                     <select name="tecnicoAsignado">  
                         {% for i in range(listaTecnicos|length) %}
                         <option value="{{ listaTecnicos[i].nick }}">{{ listaTecnicos[i].nick }}</option>
                         {% endfor %}
                     </select> 
                     {% endif %}}
-                </form>          
+                </form> 
+    
                 {% if (current_user.tipo == 0) and (incidencia.estado ==  1) %}
                 <form method="POST" action='/incidencia/{{ incidencia.id }}'>    
                     <button type="button" class="btn btn-outline-primary">Añadir comentario</button>
                 </form>
                 {% endif %}}
 
-                {% if (current_user.tipo == 0) and (incidencia.estado ==  2) %}
+                {% if (current_user.tipo == 0) and (incidencia.estado ==  3 or incidencia.estado==2) %}
                 <form method="POST" action='/incidencia/{{ incidencia.id }}'> 
-                    <button type="button" class="btn btn-outline-primary">Añadir comentario</button>
-                    <button type="button" class="btn btn-outline-primary">Cerrar Incidencia</button>
+                  <button type="submit" class="btn btn-outline-primary" name="action" value="Solucion">Cerrar Incidencia Solucionada</button>
+                  <button type="submit" class="btn btn-outline-primary" name="action" value="n-Solucion">Cerrar Incidencia sin Solucion</button>
                 </form>
+    
                 {% endif %}}
 
+                {% if (current_user.tipo == 1) and (incidencia.estado==1) %}
+                <form method="POST" action='/incidencia2/{{ incidencia.id }}'> 
+                  <button type="button" class="btn btn-outline-primary">Añadir comentario</button>
+                </form>
+                <form method="POST" action='/incidencia/{{ incidencia.id }}'>
+                  <button type="submit" class="btn btn-outline-primary" name="action" value="cierre_tecnico">Solicitar Cierre</button>
+                </form>
+                 {% endif %}}
 
                 {% if current_user.tipo == 1 %}
                 <form method="POST" action='/incidencia2/{{ incidencia.id }}'> 
@@ -199,11 +200,14 @@
                 </form>
                 {% endif %}}
 
-                {% if current_user.tipo == 2 %}
+
+                {% if (current_user.tipo == 2) and (incidencia.estado!=2) %}
                 <button type="button" class="btn btn-outline-primary">Ver comentario</button>
+                <button type="submit" class="btn btn-outline-primary" name="action" value="cierre_cliente">Solicitar Cierre</button>
                 {% endif %}
-            </footer>
-         </form>
+       <!-- </footer> --> 
+     </form>
+  </div>
 
     <script>
         function openSide(id) {
@@ -231,6 +235,9 @@
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
         crossorigin="anonymous"></script>
 
+<script>
+includeHTML();
+</script>
 </body>
 
 </html>
diff --git a/src/templates/registrar_incidencia.html b/src/templates/registrar_incidencia.html
index 1808e0d4e0854b9b3ab084eaf7084c273a73375c..aa213f247129c42fae4ec535397cd81220a1780d 100644
--- a/src/templates/registrar_incidencia.html
+++ b/src/templates/registrar_incidencia.html
@@ -15,6 +15,7 @@
     <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.1/css/all.css" integrity="sha384-gfdkjb5BdAXd+lj+gudLWI+BXq4IuLW5IT+brZEZsLFm++aCMlF1V92rMkPaX4PP"
         crossorigin="anonymous">
         <link rel="stylesheet" type="text/css" href="../static/css/formulario.css">
+    <script src="{{ url_for('static', filename='scripts/includeHTML.js') }}"></script>
 </head>
 
 <body class="d-flex" style="min-height: 100%;min-width: 100%;">
@@ -25,36 +26,19 @@
         </div>
     </nav>
 
-    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light"
-        onmouseover="openSide('side-nav')">
+    <div id="side-nav" class="side-nav fixed-top flex-nowrap flex-column justify-content-start d-inline-flex align-items-start bg-light" onmouseover="openSide('side-nav')">
         <div class="side-title side-content d-flex ">
             <img id="user-img" class="user-icon" src="../static/img/default-gravatar.png" alt="user icon">
-            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%">User Name</span>
+            <span class="collapse width align-self-center" style="min-width: 70%;padding-left: 5%;max-height: 10%">{{ current_user.nick }}</span>
         </div>
-        <div class="list-group list-group-flush w-100 side-icons">
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="material-icons" style="color: black;">person_add</span>
-                <span class="collapse width align-top side-options">Add User</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fa fa-plus-square fa-m" style="color: black;"></span>
-                <span class="collapse width align-top side-options">Item</span>
-            </a>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light" href="/registrar_nueva_incidencia">
-                <span class="fas fa-project-diagram fa-m " style="color: gray;"></span>
-                <span class="collapse width align-top side-options">Registrar nueva incidencia</span>
-            </a>
 
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: green;"></span>
-                <span class="collapse width align-top side-options">Ver estadisticas</span>
-            </a>
-            <a class="list-group-item d-flex justify-content-start align-items-center bg-light">
-                <span class="fas fa-code fa-m " style="color: grey;"></span>
-                <span class="collapse width align-top side-options">Filtros de incidencias</span>
-            </a>
-        </div>
+        {% if current_user.tipo == 0 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_supervisor.html') }}"></div>
+        {% elif current_user.tipo == 1 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_tecnico.html') }}"></div>
+        {% elif current_user.tipo == 2 %}
+        <div w3-include-html="{{ url_for('static', filename='menus/menu_cliente.html') }}"></div>
+        {% endif %}
     </div>
 
     <div id="data-body" class="container-fluid flex-grow-1" onmouseover="closeSide('side-nav')" >
@@ -123,6 +107,9 @@
     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy"
         crossorigin="anonymous"></script>
 
+<script>
+includeHTML();
+</script>
 </body>
 
 </html>