USE usuarios_cepaim;
update proyectos set visibilidad=null where visibilidad ='';

CREATE TABLE `usuarios_cepaim`.`li_lineas_proyectos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `id_area` tinyint(2) NOT NULL,
  `nombre_largo` varchar(200) COLLATE utf8mb4_spanish_ci NOT NULL,
  `nombre` varchar(100) COLLATE utf8mb4_spanish_ci NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `idx-id_area-nombre-unique` (`id_area`, `nombre`),
  UNIQUE KEY `idx-nombre_largo-unique` (`nombre_largo`),
  CONSTRAINT `fk-li_lineas_proyectos-areas` FOREIGN KEY (`id_area`) REFERENCES `usuarios`.`programas` (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;


CREATE TABLE `usuarios_cepaim`.`li_lineas_proyectos_proyectos` (
  `id_proyecto` smallint unsigned NOT NULL,
  `id_linea` int(11) not null,
  PRIMARY KEY (`id_proyecto`,`id_linea`),
  CONSTRAINT `fk-li_lineas_proyectos-proyectos` FOREIGN KEY (`id_proyecto`) REFERENCES `usuarios_cepaim`.`proyectos` (id),
  CONSTRAINT `fk-li_lineas_proyectos_proyectos-li_lineas` FOREIGN KEY (`id_linea`) REFERENCES `usuarios_cepaim`.`li_lineas_proyectos` (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_spanish_ci;

CREATE TABLE `usuarios_cepaim`.`li_lineas_proyectos_usuarios` (
  `id_linea` int(11) NOT NULL,
  `nif` varchar(10) NOT NULL,
  PRIMARY KEY (`id_linea`,`nif`),
  CONSTRAINT `fk-li_lineas_proyectos_usuarios-usuarios` FOREIGN KEY (`nif`) REFERENCES `usuarios`.`usuarios` (nif),
  CONSTRAINT `fk-li_lineas_proyectos_usuarios-li_lineas` FOREIGN KEY (`id_linea`) REFERENCES `usuarios_cepaim`.`li_lineas_proyectos` (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_spanish_ci;


INSERT IGNORE INTO usuarios.programas VALUES(127, 'Sin área', NULL, 0);
INSERT IGNORE INTO usuarios.programas VALUES(11, 'Área 11', NULL, 0);

/*
5 => Innovación
10 => Columbares
14 => Cultura responsable, acción y economía social
15 => Formación
*/

/* 2 => Acogida y Protección Internacional */
INSERT INTO li_lineas_proyectos VALUES
( 20, 2, 'Programas de emergencia, atención humanitaria y temporal', 'Emergencia, atención humanitaria y temporal'),
( 21, 2, 'Programas de Acogida y Protección Internacional', 'Acogida y Protección Internacional'),
( 22, 2, 'Programas y centros de información, orientación y asesoramiento a inmigrantes y refugiados', 'Información, orientación y asesoramiento');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1487,20), (1508,20), (1509,20), (1512,20), (1513,20), (1514,20), (1541,20), (1549,20), (1560,20), (1578,20), (1601,20), (1603,20), (1621,20), (1639,20), (1649,20), (1650,20), (1651,20);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1646,21); 
INSERT INTO li_lineas_proyectos_proyectos VALUES (1510,22), (1626,22);


/* 3 => Empleo y Formación */
INSERT INTO li_lineas_proyectos VALUES
( 30, 3, 'Programas de itinerarios de inserción sociolaboral', 'Inserción sociolaboral'),
( 31, 3, 'Programas de acompañamiento a la inserción sociolaboral con personas refugiadas', 'Inserción sociolaboral personas refugiadas'),
( 32, 3, 'Programas de intermediación con empresas y formación en entornos profesionales', 'Intermediación con empresas y formación en entornos profesionales'),
( 33, 3, 'Programas de cultura emprendedora, economía social y solidaria', 'Cultura emprendedora, economía social y solidaria');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1516,30), (1583,30), (1459,30);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1511,31);
INSERT INTO li_lineas_proyectos_proyectos VALUES /*(1335,32), */(1587,32), (1585,32), (1586,32), (1501,32), (1525,32), (1526,32), (1527,32), (1528,32), (1529,32), (1530,32), (1531,32), (1532,32), (1533,32), (1534,32), (1582,32);
/*INSERT INTO li_lineas_proyectos_proyectos VALUES (1517,33), (1566,33), (1305,33);*/


/* 4 => Interculturalidad y Desarrollo Comunitario */
INSERT INTO li_lineas_proyectos VALUES
( 40, 4, 'Programas de sensibilización social para la inclusión', 'Sensibilización social'),
( 41, 4, 'Programas de convivencia, participación comunitaria y derecho al saber', 'Convivencia, participación y derecho al saber'),
( 42, 4, 'Programas de deporte y arte inclusivo', 'Deporte y arte inclusivo'),
( 43, 4, 'Programas de gestión de la diversidad, formación y mediación intercultural', 'Gestión de la diversidad, formación y mediación intercultural');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1521,40), (1564,40), (1570,40), (1612,40);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1518,43), (1568,43), (1486,43), (1602,43);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1522,41), (1520,41), (1545,41), (1620,41), (1554,41), (1536,41), (1619,41), (1580,41), (1584,41), (1636,41), (1638,41), (1637,41), (1644,41);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1574,42), (1575,42), (1581,42), (1553,42), (1022,42);


/* 6 => Igualdad y No Discriminación */
INSERT INTO li_lineas_proyectos VALUES
( 60, 6, 'Programas de mejora de la empleabilidad de mujeres y promoción de la igualdad', 'Mejora de la empleabilidad de mujeres y promoción de la igualdad'),
( 61, 6, 'Programas de prevención y asistencia de víctimas de discriminación por origen racial y/o étnico', 'Prevención y asistencia de víctimas de discriminación'),
( 62, 6, 'Programas con hombres y masculinidades igualitarias', 'Hombres y Masculinidades igualitarias'),
( 63, 6, 'Programas de intervención y prevención de violencias machistas', 'Intervención y prevención de violencias machistas');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1095,60), (1336,60), (1467,60), (1577,60);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1572,61), (1519,61);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1171,62), (1312,62), (1556,62);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1523,63), (1563,63), (1318,63);

/* 7 => Cooperación al desarrollo y codesarrollo */
INSERT INTO li_lineas_proyectos VALUES
( 70, 7, 'Programas de coodesarrollo y retorno productivo', 'Coodesarrollo y retorno productivo'),
( 71, 7, 'Programas de cooperación al desarrollo', 'Cooperación al desarrollo'),
( 72, 7, 'África', 'África'),
( 73, 7, 'América Latina', 'América Latina');


INSERT INTO li_lineas_proyectos_proyectos VALUES (1451,70), (1450,70);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1211,71), (1412,71), (1414,71), (1483,71), (1485,71), (1489,71), (1490,71), (1592,71), (1607,71);

/* 9 => Intervención con Jóvenes y familias */
INSERT INTO li_lineas_proyectos VALUES
( 90, 9, 'Programas de atención psicosocial con las familias', 'Atención psicosocial familias'),
( 91, 9, 'Programas de intervención socioeducativa con menores y familias', 'Intervención socioeducativa con menores y familias'),
( 92, 9, 'Programas de emancipación', 'Emancipación');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1492,90), (1543,90), (1550,90), (1558,90), (1608,90), (1610,90), (1538,90), (1655,90), (1654,90), (1653,90);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1469,91), (1470,91), (1471,91), (1472,91), (1473,91), (1474,91), (1475,91), (1476,91), (1477,91), (1478,91), (1479,91), (1524,91), (1557,91), (1567,91);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1366,92), (1552,92), (1559,92), (1595,92), (1596,92), (1597,92),  (1599,92), (1647,92);

-- (1598,92),


/* 12 => Desarrollo rural */
INSERT INTO li_lineas_proyectos VALUES
( 120, 12, 'Programas de empleo y movilidad en los entornos rurales', 'Empleo y movilidad'),
( 121, 12, 'Programas de acompañamiento y fomento de la participación en el medio rural', 'Acompañamiento y fomento de la participación');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1420,120), (1515,120), (1537,120), (1539,120), (1544,120), (1551,120), (1555,120), (1561,120), (1562,120), (1576,120), (1579,120), (1594,120), (1614,120), (1633,120), (1634,120), (1663,120), (1219,120);


-- 13 => Vivienda
INSERT INTO li_lineas_proyectos VALUES
( 130, 13, 'Programas de asentamientos y centros diurnos', 'Asentamientos y centros diurnos'),
( 131, 13, 'Programas de vivienda', 'Vivienda');

INSERT INTO li_lineas_proyectos_proyectos VALUES (1542,130), (1547,130), (1616,130), (1643,130), (1571,130);
INSERT INTO li_lineas_proyectos_proyectos VALUES (1415,131), (1464,131), (1540,131), (1546,131), (1548,131), (1613,131), (1615,131), (1643,131);

-- Crear líneas de programa por omisión de las áreas que no hemos creado
-- Las líneas las he creado de forma que la primera línea de un area es 10*id_area
INSERT IGNORE INTO `usuarios_cepaim`.li_lineas_proyectos
	SELECT id*10, id, CONCAT('Línea creada a partir del área ', nombre), nombre FROM usuarios.programas
	WHERE id NOT IN (2,3,4,6,7,9,12,13);

-- Añadir a todos los proyectos sin línea una línea por omisión
INSERT INTO `usuarios_cepaim`.li_lineas_proyectos_proyectos
	SELECT id, id_area*10 FROM `usuarios_cepaim`.`proyectos` where id not in (select id_proyecto from li_lineas_proyectos_proyectos);

	
-- ALTER TABLE `usuarios_cepaim`.`proyectos` DROP COLUMN id_area;

ALTER TABLE usuarios.permisos DROP FOREIGN KEY usuarios_permisos_id_area;
ALTER TABLE usuarios.permisos DROP INDEX `usuarios_permisos_unique`;
ALTER TABLE usuarios.permisos CHANGE COLUMN id_area id_tabla INT(11) NOT NULL;
ALTER TABLE usuarios.permisos ADD COLUMN tabla VARCHAR(50) NOT NULL;
alter table usuarios.permisos add unique index `usuarios_permisos_unique` (modulo,nif,id_tabla,tabla);
-- por ahora solo había módulo autorizaciones y tabla usuarios.programas.
UPDATE usuarios.permisos SET tabla = 'usuarios.programas' WHERE modulo='autorizaciones';

INSERT INTO `usuarios_cepaim`.`li_lineas_proyectos_usuarios`
	SELECT id_area*10, nif FROM usuarios.usuarios_area;
