Browse Source

commit inicial con los archivos del sistema

main
Alfredo 2 months ago
parent
commit
cde8cd49f9
  1. 16
      BD/conversion/mig_3.08_a_3.09.sql
  2. 21
      BD/conversion/mig_3.09_a_3.10.sql
  3. 10
      BD/conversion/mig_3.10_a_3.11.sql
  4. 57
      BD/conversion/mig_3.11.0_a_3.11.1.sql
  5. 458
      BD/conversion/mig_3.11_a_3.12.sql
  6. 52
      BD/conversion/mig_3.12.0_a_3.13.0.sql
  7. 58
      BD/conversion/mig_3.13.0_a_3.21.0.sql
  8. 21
      BD/conversion/mig_3.21.0_a_3.21.1.sql
  9. 172
      BD/conversion/mig_3.21.0_a_3.22.0.sql
  10. 11
      BD/conversion/mig_3.21.1_a_3.21.2.sql
  11. 93
      BD/conversion/mig_3.21.2_a_3.21.3.sql
  12. 10
      BD/creacion/armar_script_postgresql.bat
  13. 12
      BD/creacion/armar_script_postgresql.sh
  14. 1629
      BD/creacion/creacion_preinscripcion3_postgresql.sql
  15. 8
      BD/sql/ck/ck_sga_preinscripcion_aud_lenguaje_labial.sql
  16. 8
      BD/sql/ck/ck_sga_preinscripcion_aud_lenguaje_senias.sql
  17. 8
      BD/sql/ck/ck_sga_preinscripcion_aud_req_aro_magnetico.sql
  18. 8
      BD/sql/ck/ck_sga_preinscripcion_aud_req_interprete_lengua_senias.sql
  19. 8
      BD/sql/ck/ck_sga_preinscripcion_aud_req_otros_apoyos.sql
  20. 8
      BD/sql/ck/ck_sga_preinscripcion_condicion_discapacidad.sql
  21. 8
      BD/sql/ck/ck_sga_preinscripcion_disc_auditiva.sql
  22. 8
      BD/sql/ck/ck_sga_preinscripcion_disc_cond_psicosocial.sql
  23. 8
      BD/sql/ck/ck_sga_preinscripcion_disc_motora.sql
  24. 8
      BD/sql/ck/ck_sga_preinscripcion_disc_otra.sql
  25. 8
      BD/sql/ck/ck_sga_preinscripcion_disc_visual.sql
  26. 15
      BD/sql/ck/ck_sga_preinscripcion_es_mayor_25_sin_secundario.sql
  27. 17
      BD/sql/ck/ck_sga_preinscripcion_estado.sql
  28. 8
      BD/sql/ck/ck_sga_preinscripcion_mot_req_apoyo_aula.sql
  29. 8
      BD/sql/ck/ck_sga_preinscripcion_mot_req_otros_apoyos.sql
  30. 8
      BD/sql/ck/ck_sga_preinscripcion_otra_req_apoyo_vida_diaria.sql
  31. 17
      BD/sql/ck/ck_sga_preinscripcion_propuestas_estado.sql
  32. 8
      BD/sql/ck/ck_sga_preinscripcion_psi_req_otros_apoyos.sql
  33. 8
      BD/sql/ck/ck_sga_preinscripcion_tiene_cud.sql
  34. 8
      BD/sql/ck/ck_sga_preinscripcion_validado_con_renaper.sql
  35. 8
      BD/sql/ck/ck_sga_preinscripcion_vis_req_archivo_audio.sql
  36. 8
      BD/sql/ck/ck_sga_preinscripcion_vis_req_otros_apoyos.sql
  37. 8
      BD/sql/ck/ck_sga_preinscripcion_vis_req_texto_braile.sql
  38. 8
      BD/sql/ck/ck_sga_preinscripcion_vis_req_texto_digital.sql
  39. 15
      BD/sql/ck/ck_sga_requisitos_digitales_estado.sql
  40. 18
      BD/sql/datos/00_sga_propuestas_tipos.sql
  41. 268
      BD/sql/datos/10_sga_campos_form.sql
  42. 285
      BD/sql/datos/20_sga_campos_conf.sql
  43. 7
      BD/sql/datos/90_app_versiones_base.sql
  44. 14
      BD/sql/fks/fks_sga_actuacion_doc.sql
  45. 14
      BD/sql/fks/fks_sga_actuacion_prof.sql
  46. 24
      BD/sql/fks/fks_sga_campos_conf.sql
  47. 17
      BD/sql/fks/fks_sga_formacion_acad.sql
  48. 15
      BD/sql/fks/fks_sga_preinscripcion_propuestas.sql
  49. 14
      BD/sql/fks/fks_sga_requisitos_digitales.sql
  50. 26
      BD/sql/funciones/f_limpiar_acentos.sql
  51. 10
      BD/sql/indices/id__sga_preinscripcion__apellido_nombres_fecha_nac.sql
  52. 9
      BD/sql/indices/id__sga_preinscripcion__codigo_validacion.sql
  53. 9
      BD/sql/indices/iu__admin_usuarios__usuario.sql
  54. 8
      BD/sql/indices/iu__sga_preinscripcion__usuario.sql
  55. 31
      BD/sql/lenguajes/language_plpgsql.sql
  56. 21
      BD/sql/tablas/admin_usuarios.sql
  57. 22
      BD/sql/tablas/app_versiones_base.sql
  58. 26
      BD/sql/tablas/cfg_perfiles_datos.sql
  59. 27
      BD/sql/tablas/sga_actuacion_doc.sql
  60. 26
      BD/sql/tablas/sga_actuacion_prof.sql
  61. 22
      BD/sql/tablas/sga_campos_conf.sql
  62. 17
      BD/sql/tablas/sga_campos_form.sql
  63. 32
      BD/sql/tablas/sga_formacion_acad.sql
  64. 378
      BD/sql/tablas/sga_preinscripcion.sql
  65. 30
      BD/sql/tablas/sga_preinscripcion_propuestas.sql
  66. 18
      BD/sql/tablas/sga_propuestas_tipos.sql
  67. 28
      BD/sql/tablas/sga_requisitos_digitales.sql
  68. 10
      bin/preinscripcion
  69. 3
      bin/preinscripcion.bat
  70. BIN
      bin/yuicompressor-2.4.2.jar
  71. 81
      composer.json
  72. 2361
      composer.lock
  73. 102
      db/migrations/20200819191727_es_mayor25_sin_secundario.php
  74. 89
      instalacion/alias_template.conf
  75. 3
      instalacion/arai_documentos_template.ini
  76. 470
      instalacion/config_template.php
  77. 90
      instalacion/login_template.php
  78. 22
      instalacion/rewrite.conf
  79. 22
      instalacion/servicios_web_config_template.php
  80. 29
      phinx.php
  81. 4
      src/pers/composer.json
  82. 35
      src/pers/ejemplo/mensajes/mensajes.es.php
  83. 107
      src/pers/ejemplo/modelo/manejador_datos.php
  84. 169
      src/pers/ejemplo/operaciones/_comun/generador_pdf.php
  85. 63
      src/pers/ejemplo/operaciones/_comun/templates/header.twig
  86. 11
      src/pers/ejemplo/operaciones/censo/idiomas/default.css
  87. 46
      src/pers/ejemplo/operaciones/censo/idiomas/default.twig
  88. 81
      src/pers/ejemplo/operaciones/censo/idiomas/form_idiomas.php
  89. 28
      src/pers/ejemplo/www/css/preinscripcion.css
  90. BIN
      src/pers/ejemplo/www/img/favicon.ico
  91. BIN
      src/pers/ejemplo/www/img/logo.png
  92. 35
      src/siu/Install.php
  93. 492
      src/siu/bootstrap.php
  94. 31
      src/siu/conf/acceso/acc_admin.xml
  95. 13
      src/siu/conf/acceso/acc_alumno.xml
  96. 14
      src/siu/conf/acceso/acc_anonimo_admin.xml
  97. 17
      src/siu/conf/acceso/acc_anonimo_alumno.xml
  98. 15
      src/siu/errores/error_preinscripcion.php
  99. 9
      src/siu/errores/error_preinscripcion_alumno_g3.php
  100. 9
      src/siu/errores/error_preinscripcion_clave.php
  101. Some files were not shown because too many files have changed in this diff Show More

16
BD/conversion/mig_3.08_a_3.09.sql

@ -0,0 +1,16 @@
BEGIN WORK;
--------------------------------------------------------------------------------------
-- Ajustes en "Configuración de campos de formulario"
--------------------------------------------------------------------------------------
UPDATE sga_campos_conf SET visible = 1, obligatorio = 1 WHERE columna = 'e_mail';
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Versión de la base
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.9', CURRENT_TIMESTAMP, 'Versión 3.9 de la base de Preinscripción');
COMMIT WORK;

21
BD/conversion/mig_3.09_a_3.10.sql

@ -0,0 +1,21 @@
BEGIN WORK;
--------------------------------------------------------------------------------------
-- Ajustes de tipos de campos
--------------------------------------------------------------------------------------
ALTER TABLE sga_preinscripcion ALTER COLUMN nro_documento TYPE VARCHAR(20);
--------------------------------------------------------------------------------------
-- Ajustes en "Configuración de campos de formulario"
--------------------------------------------------------------------------------------
UPDATE sga_campos_conf SET visible = 1, obligatorio = 1 WHERE columna = 'e_mail';
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Versión de la base
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.10', CURRENT_TIMESTAMP, 'Versión 3.10 de la base de Preinscripción');
COMMIT WORK;

10
BD/conversion/mig_3.10_a_3.11.sql

@ -0,0 +1,10 @@
BEGIN WORK;
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Versión de la base
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.11', CURRENT_TIMESTAMP, 'Versión 3.11 de la base de Preinscripción');
COMMIT WORK;

57
BD/conversion/mig_3.11.0_a_3.11.1.sql

@ -0,0 +1,57 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.11 a 3.11.2
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- +++++++++++++++ Agrega el campo "es_mayor_25_sin_secundario" ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'es_mayor_25_sin_secundario'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N';
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S'));
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario','Es mayor de 25 años y no tiene estudios secundarios');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_mayor_25_sin_secundario',1,1,1);
-- si ya existe
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se replica la config de propuestas de Grado para los demás tipos
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo <> '200'
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;
END IF;
--Por si fue modificada manualmente
UPDATE sga_campos_conf SET visible=1, obligatorio=1, se_imprime=1 WHERE columna='es_mayor_25_sin_secundario';
END $BODY$;
-- ++++++++++++++++++ Fin agregado campo es_mayor_25_sin_secundario +++++++++++++++++++
COMMIT WORK;

458
BD/conversion/mig_3.11_a_3.12.sql

@ -0,0 +1,458 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.11 a 3.12
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.12', CURRENT_TIMESTAMP, 'Versión 3.12 de la base de Preinscripción');
-- +++++++++++++++ Agrega el campo "es_mayor_15_sin_secundario" ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'es_mayor_25_sin_secundario'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N';
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S'));
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario','Es mayor de 25 años y no tiene estudios secundarios');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_mayor_25_sin_secundario',1,1,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin agregado campo es_mayor_25_sin_secundario +++++++++++++++++++
-- +++++++++++++++ Agrega campos de Discapacidad en la tabla "sga_preinscripcion" ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
DECLARE c_p RECORD;
DECLARE c_d RECORD;
DECLARE _tipo integer;
DECLARE _tiene_cud char(1);
DECLARE _condicion_discapacidad char(1);
DECLARE _desde_hasta text;
DECLARE _desc text;
DECLARE _desc_otras_discapacidades text;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'condicion_discapacidad'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion
ADD COLUMN condicion_discapacidad Char(1) NOT NULL DEFAULT 'N',
ADD COLUMN tiene_cud Char(1) DEFAULT 'N',
ADD COLUMN disc_auditiva Char(1) DEFAULT 'N',
ADD COLUMN aud_tipo Smallint DEFAULT 1,
ADD COLUMN aud_lenguaje_senias Char(1) DEFAULT 'N',
ADD COLUMN aud_lenguaje_labial Char(1) DEFAULT 'N',
ADD COLUMN aud_comunicacion_otra Text,
ADD COLUMN aud_apoyo_vida_diaria Text,
ADD COLUMN aud_req_interprete_lengua_senias Char(1) DEFAULT 'N',
ADD COLUMN aud_req_aro_magnetico Char(1) DEFAULT 'N',
ADD COLUMN aud_req_otros_apoyos Char(1) DEFAULT 'N',
ADD COLUMN aud_otros_apoyos Text,
ADD COLUMN disc_visual Char(1) DEFAULT 'N',
ADD COLUMN vis_dificultad_para_ver Smallint DEFAULT 1,
ADD COLUMN vis_apoyo_vida_diaria Text,
ADD COLUMN vis_req_archivo_audio Char(1) DEFAULT 'N',
ADD COLUMN vis_req_texto_digital Char(1) DEFAULT 'N',
ADD COLUMN vis_req_texto_braile Char(1) DEFAULT 'N',
ADD COLUMN vis_req_otros_apoyos Char(1) DEFAULT 'N',
ADD COLUMN vis_otros_apoyos Text,
ADD COLUMN disc_motora Char(1) DEFAULT 'N',
ADD COLUMN mot_apoyo_vida_diaria Text,
ADD COLUMN mot_req_apoyo_aula Char(1) DEFAULT 'N',
ADD COLUMN mot_apoyo_aula Text,
ADD COLUMN mot_req_otros_apoyos Char(1) DEFAULT 'N',
ADD COLUMN mot_otros_apoyos Text,
ADD COLUMN disc_cond_psicosocial Char(1) DEFAULT 'N',
ADD COLUMN psi_descripcion Text,
ADD COLUMN psi_apoyo_vida_diaria Text,
ADD COLUMN psi_req_otros_apoyos Char(1) DEFAULT 'N',
ADD COLUMN psi_otros_apoyos Text,
ADD COLUMN disc_otra Char(1) DEFAULT 'N',
ADD COLUMN otra_descripcion Text,
ADD COLUMN otra_req_apoyo_vida_diaria Char(1) DEFAULT 'N',
ADD COLUMN otra_apoyo_vida_diaria Text,
ADD COLUMN informacion_importante Text;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_condicion_discapacidad CHECK (condicion_discapacidad IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_tiene_cud CHECK (tiene_cud IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_auditiva CHECK (disc_auditiva IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_senias CHECK (aud_lenguaje_senias IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial CHECK (aud_lenguaje_labial IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_interprete_lengua_senias CHECK (aud_req_interprete_lengua_senias IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_aro_magnetico CHECK (aud_req_aro_magnetico IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_otros_apoyos CHECK (aud_req_otros_apoyos IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_visual CHECK (disc_visual IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_archivo_audio CHECK (vis_req_archivo_audio IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_texto_digital CHECK (vis_req_texto_digital IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_texto_braile CHECK (vis_req_texto_braile IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_otros_apoyos CHECK (vis_req_otros_apoyos IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_motora CHECK (disc_motora IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_mot_req_apoyo_aula CHECK (mot_req_apoyo_aula IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_mot_req_otros_apoyos CHECK (mot_req_otros_apoyos IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_cond_psicosocial CHECK (disc_cond_psicosocial IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_psi_req_otros_apoyos CHECK (psi_req_otros_apoyos in ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_otra CHECK (disc_otra IN ('S','N'));
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_otra_req_apoyo_vida_diaria CHECK (otra_req_apoyo_vida_diaria IN ('S','N'));
-- Se modifica a 300 caracteres para los datos de discapacidad
ALTER TABLE sga_campos_form ALTER COLUMN descripcion TYPE VARCHAR(300);
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('condicion_discapacidad', 'Condición de Discapacidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_cud', 'Tenés CUD');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_auditiva', 'Auditiva');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_tipo', '¿Tenés dificultad para oír, incluso si usás un audífono o implante coclear?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_lenguaje_senias', 'Lengua de Señas');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_lenguaje_labial', 'Lectura labial');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_comunicacion_otra', 'Otra forma');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_interprete_lengua_senias', 'Requerís Intérprete de Lengua de Señas Argentina');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_aro_magnetico', 'Requerís Aro magnético');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_visual', 'Visual');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_dificultad_para_ver', '¿Tenés dificultad para ver, incluso si usás lentes?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_archivo_audio', 'Requerís Archivos de audio');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_texto_digital', 'Requerís Texto digital accesible');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_texto_braile', 'Requerís Texto en Braille');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_motora', 'Motora');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_req_apoyo_aula', '¿Requerís apoyos para la permanencia en el aula?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_apoyo_aula', '¿Cuáles?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_cond_psicosocial', 'Condición Psicosocial');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_descripcion', '¿Cuál?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_otra', 'Otra');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_descripcion', '¿Cuál/cuáles?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_req_apoyo_vida_diaria', '¿Requiere otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_apoyo_vida_diaria', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('informacion_importante', 'Alguna otra información que consideres importante comunicar');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'condicion_discapacidad', 1, 1, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'tiene_cud', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_auditiva', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_tipo', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_lenguaje_senias', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_lenguaje_labial', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_comunicacion_otra', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_interprete_lengua_senias', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_aro_magnetico', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_visual', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_dificultad_para_ver', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_archivo_audio', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_texto_digital', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_texto_braile', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_motora', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_req_apoyo_aula', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_apoyo_aula', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_cond_psicosocial', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_descripcion', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_otra', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_descripcion', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_req_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'informacion_importante', 1, 0, 1);
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se replica la config. inicial de propuestas de Grado para los demás tipos
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo != '200'
AND NOT EXISTS (SELECT * FROM sga_campos_conf AS config WHERE config.propuesta_tipo = sga_propuestas_tipos.propuesta_tipo AND config.columna = sga_campos_conf.columna)
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se pasan los datos de discapacidad de la tabla 'mdp_datos_salud' a 'sga_preinscripcion'
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
FOR c_p IN ( SELECT id_preinscripcion
FROM sga_preinscripcion
ORDER BY id_preinscripcion)
LOOP
SELECT condicion_discapacidad INTO _condicion_discapacidad
FROM sga_preinscripcion
WHERE id_preinscripcion = c_p.id_preinscripcion
LIMIT 1;
IF _condicion_discapacidad = 'S' THEN
-- Ya fue procesado, sigo con el siguiente alumno.
CONTINUE;
END IF;
_tiene_cud := 'N';
_desde_hasta := '';
_desc_otras_discapacidades := 'Otras discapacidades: ';
-- Recorro los datos cargados por tipo de discapacidad
-- Solo paso el ultimo registro por cada tipo de discapacidad (con fecha_desde mayor)
_tipo := 0;
FOR c_d IN (SELECT * FROM mdp_datos_salud WHERE id_preinscripcion = c_p.id_preinscripcion ORDER BY tipo, fecha_desde DESC)
LOOP
IF c_d.tipo = _tipo THEN
_tipo := c_d.tipo;
CONTINUE;
END IF;
IF c_d.certificado = 'S' THEN
_tiene_cud := 'S';
END IF;
IF c_d.fecha_desde IS NOT NULL THEN
_desde_hasta := 'Desde ' || to_char(c_d.fecha_desde,'DD/MM/YYYY');
END IF;
IF c_d.fecha_hasta IS NOT NULL THEN
_desde_hasta := COALESCE(_desde_hasta,'') || ' hasta ' || to_char(c_d.fecha_hasta,'DD/MM/YYYY') || '.';
END IF;
/* Carácter:
"T" "Transitoria"
"P" "Permanente"
Grado:
"S" "Severa"
"M" "Moderada"
"L" "Leve"
*/
_desc := 'Carácter: ' || CASE c_d.caracter WHEN 'T' THEN 'Transitoria' WHEN 'P' THEN 'Permanente' END;
_desc := _desc || '. Grado: ' || CASE c_d.grado WHEN 'S' THEN 'Severa' WHEN 'M' THEN 'Moderada' WHEN 'L' THEN 'Leve' END;
IF c_d.observaciones IS NOT NULL THEN
_desc := _desc || '. ' || c_d.observaciones || '. ';
END IF;
_desc := _desc || _desde_hasta;
/* Tipos de Discapacidades */
IF c_d.tipo = 1 THEN -- "Neurológica"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Neurológica > ' || _desc;
ELSIF c_d.tipo = 2 THEN -- "Psicológica"
UPDATE sga_preinscripcion
SET disc_cond_psicosocial = 'S',
psi_descripcion = _desc
WHERE id_preinscripcion = c_p.id_preinscripcion;
ELSIF c_d.tipo = 3 THEN -- "Motora"
UPDATE sga_preinscripcion
SET disc_motora = 'S',
mot_req_otros_apoyos = 'S',
mot_otros_apoyos = _desc
WHERE id_preinscripcion = c_p.id_preinscripcion;
ELSIF c_d.tipo = 4 THEN -- "Renal"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Renal > ' || _desc;
ELSIF c_d.tipo = 5 THEN -- "Respiratoria"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Respiratoria > ' || _desc;
ELSIF c_d.tipo = 6 THEN -- "Auditiva"
UPDATE sga_preinscripcion
SET disc_auditiva = 'S',
aud_tipo = CASE c_d.grado WHEN 'S' THEN 4 WHEN 'M' THEN 3 WHEN 'L' THEN 2 ELSE 1 END,
aud_req_otros_apoyos = 'S',
aud_otros_apoyos = _desc
WHERE id_preinscripcion = c_p.id_preinscripcion;
ELSIF c_d.tipo = 7 THEN -- "Cardiaca"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Cardíaca > ' || _desc;
ELSIF c_d.tipo = 8 THEN -- "Visual"
UPDATE sga_preinscripcion
SET disc_visual = 'S',
vis_dificultad_para_ver = CASE c_d.grado WHEN 'S' THEN 4 WHEN 'M' THEN 3 WHEN 'L' THEN 2 ELSE 1 END,
vis_req_otros_apoyos = 'S',
vis_otros_apoyos = _desc
WHERE id_preinscripcion = c_p.id_preinscripcion;
ELSIF c_d.tipo = 9 THEN -- "Metabólica"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Metabólica > ' || _desc;
ELSIF c_d.tipo = 10 THEN -- "Trastornos del lenguaje"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Trastornos del lenguaje > ' || _desc;
ELSIF c_d.tipo = 11 THEN -- "Otras"
_desc_otras_discapacidades := _desc_otras_discapacidades || ' * Otras > ' || _desc;
END IF;
IF _desc_otras_discapacidades <> 'Otras discapacidades: ' THEN
UPDATE sga_preinscripcion
SET disc_otra = 'S',
otra_descripcion = _desc_otras_discapacidades
WHERE id_preinscripcion = c_p.id_preinscripcion;
END IF;
-- Actualizo datos genericos del registro de discapacidad de la persona.
UPDATE sga_preinscripcion
SET condicion_discapacidad = 'S',
tiene_cud = _tiene_cud
WHERE id_preinscripcion = c_p.id_preinscripcion;
_tipo := c_d.tipo;
END LOOP;
END LOOP;
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se eliminan tablas viejas de discapacidad
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DROP TABLE IF EXISTS mdp_datos_salud;
DROP SEQUENCE IF EXISTS mdp_datos_salud_seq;
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin agregado campos de Discapacidad en la tabla "sga_preinscripcion" +++++++++++++++++++
-- Cambia el tipo de datos de la columna "fecha_registro" de DATE a TIMESTAMP. Para poder controlar el tiempo permitido para confirmar el mail.
ALTER TABLE sga_preinscripcion ALTER COLUMN fecha_registro TYPE TIMESTAMP WITH TIME ZONE;
ALTER TABLE sga_preinscripcion ALTER COLUMN fecha_registro SET DEFAULT CURRENT_TIMESTAMP;
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se agregan campos de IDENTIDAD DE GENERO
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'identidad_genero'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN identidad_genero Integer;
ALTER TABLE sga_preinscripcion ADD COLUMN identidad_genero_otro Varchar(100);
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('identidad_genero','identidad de genero elegido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('identidad_genero_otro','campo para especificar identidad de genero');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','identidad_genero',1,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','identidad_genero_otro',1,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo != '200'
AND NOT EXISTS (SELECT * FROM sga_campos_conf AS config WHERE config.propuesta_tipo = sga_propuestas_tipos.propuesta_tipo AND config.columna = sga_campos_conf.columna)
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;
END IF;
END $BODY$;
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se agregan campos de diversidad e identidad de genero
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND (a0.attname = 'apellido_elegido' OR a0.attname = 'nombres_elegido')
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN apellido_elegido VARCHAR(30) ;
ALTER TABLE sga_preinscripcion ADD COLUMN nombres_elegido VARCHAR(30);
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido_elegido','apellido elegido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombres_elegido','nombres elegido');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','apellido_elegido',1,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nombres_elegido',1,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo != '200'
AND NOT EXISTS (SELECT * FROM sga_campos_conf AS config WHERE config.propuesta_tipo = sga_propuestas_tipos.propuesta_tipo AND config.columna = sga_campos_conf.columna)
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;
END IF;
END $BODY$;
COMMIT WORK;

52
BD/conversion/mig_3.12.0_a_3.13.0.sql

@ -0,0 +1,52 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.12.0 a 3.13.0
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.13', CURRENT_TIMESTAMP, 'Versión 3.13 de la base de Preinscripción');
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion_propuestas'
AND a0.attname = 'atiende'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion_propuestas ADD COLUMN atiende INTEGER;
END IF;
END $BODY$;
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion_propuestas'
AND a0.attname = 'observaciones'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion_propuestas ADD COLUMN observaciones TEXT;
END IF;
END $BODY$;
ALTER TABLE sga_preinscripcion_propuestas DROP CONSTRAINT IF EXISTS ck_sga_preinscripcion_propuestas_estado;
ALTER TABLE sga_preinscripcion_propuestas ADD CONSTRAINT ck_sga_preinscripcion_propuestas_estado CHECK (estado IN ('P', 'I', 'S', 'C'));
COMMIT WORK;

58
BD/conversion/mig_3.13.0_a_3.21.0.sql

@ -0,0 +1,58 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.13.0 a 3.21.0
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.21', CURRENT_TIMESTAMP, 'Versión 3.21 de la base de Preinscripción');
DO $BODY$
DECLARE cant INTEGER;
BEGIN
-- Datos de configuracion
DELETE FROM sga_campos_conf WHERE columna ='sector' ;
DELETE FROM sga_campos_conf WHERE columna ='sub_sector' ;
DELETE FROM sga_campos_form WHERE columna ='sector' ;
DELETE FROM sga_campos_form WHERE columna ='sub_sector' ;
-- Se eliminan columnas "Sector" y "Subsector" dentro de "Situación laboral"
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS sector;
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS subsector;
END $BODY$;
-- CAMPOS RELACIONADOS CON RENAPER
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'validado_con_renaper'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN validado_con_renaper Char(1) NOT NULL DEFAULT 'N';
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_validado_con_renaper CHECK (validado_con_renaper IN ('S','N'));
END IF;
END $BODY$;
-- Cambio la longitud del campo de 30 a 60 caracteres como esta en la base de G3.
ALTER TABLE sga_preinscripcion ALTER COLUMN apellido TYPE varchar(60);
ALTER TABLE sga_preinscripcion ALTER COLUMN nombres TYPE varchar(60);
ALTER TABLE sga_preinscripcion ALTER COLUMN apellido_elegido TYPE varchar(60);
ALTER TABLE sga_preinscripcion ALTER COLUMN nombres_elegido TYPE varchar(60);
ALTER TABLE sga_preinscripcion ADD COLUMN IF NOT EXISTS codigo_validacion_alta Timestamp with time zone;
COMMIT WORK;

21
BD/conversion/mig_3.21.0_a_3.21.1.sql

@ -0,0 +1,21 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.21.0 a 3.21.1
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.21.1', CURRENT_TIMESTAMP, 'Versión 3.21.1 de la base de Preinscripción');
-- +++++++++++++++ Mejora constraint "ck_sga_preinscripcion_aud_lenguaje_labial" ++++++++++++++++++++++++++++++
DO $BODY$
BEGIN
ALTER TABLE sga_preinscripcion
DROP CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial
, ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial CHECK (aud_lenguaje_labial IN ('S', 'N'));
END $BODY$;
-- ++++++++++++++++++ Fin mejora constraint "ck_sga_preinscripcion_aud_lenguaje_labial" +++++++++++++++++++
COMMIT WORK;

172
BD/conversion/mig_3.21.0_a_3.22.0.sql

@ -0,0 +1,172 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.21.0 a 3.22.0
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.22.0', CURRENT_TIMESTAMP, 'Versión 3.22.0 de la base de Preinscripción');
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Scripts de versiones de 3er digito de 3.21
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- 3.21.1
DO $BODY$
BEGIN
ALTER TABLE sga_preinscripcion
DROP CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial
, ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial CHECK (aud_lenguaje_labial IN ('S', 'N'));
END $BODY$;
-- 3.21.2
-- 3.21.3
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'duplicada'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN duplicada Char(1) NOT NULL DEFAULT 'N';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('duplicada','duplicada');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','duplicada',1,0,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta +++++++++++++++++++
-- +++++++++++++++ Agrego campos de pregunta_secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'pregunta_secreta'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN pregunta_secreta Char(255) NOT NULL DEFAULT '';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pregunta_secreta','pregunta secreta');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pregunta_secreta',1,0,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta +++++++++++++++++++
-- +++++++++++++++ Agrego campos de respuesta secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'respuesta_secreta'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN respuesta_secreta Char(255) NOT NULL DEFAULT '';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('respuesta_secreta','respuesta secreta');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','respuesta_secreta',1,0,1);
END IF;
END $BODY$;
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Scripts de la version 3.22.0
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se elimina campo "Empresa" dentro de "Situación laboral"
DELETE FROM sga_campos_conf WHERE columna = 'empresa';
DELETE FROM sga_campos_form WHERE columna = 'empresa';
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS empresa;
-- Se elimina campo "Otra empresa" dentro de "Situación laboral"
DELETE FROM sga_campos_conf WHERE columna = 'empresa_otra';
DELETE FROM sga_campos_form WHERE columna = 'empresa_otra';
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS empresa_otra;
-- Se elimina campo "Facilidad de estudio en la empresa" dentro de "Situación laboral"
DELETE FROM sga_campos_conf WHERE columna = 'facilidad_est_emp';
DELETE FROM sga_campos_form WHERE columna = 'facilidad_est_emp';
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS facilidad_est_emp;
-- Se elimina campo "Facilidad de estudio en la institución" dentro de "Situación laboral"
DELETE FROM sga_campos_conf WHERE columna = 'facilidad_est_inst';
DELETE FROM sga_campos_form WHERE columna = 'facilidad_est_inst';
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS facilidad_est_inst;
-- Creo la extensión unaccent
CREATE EXTENSION IF NOT EXISTS unaccent;
-- Modifico la función f_limpiar_acentos
CREATE OR REPLACE FUNCTION f_limpiar_acentos(text)
RETURNS text
IMMUTABLE
STRICT
LANGUAGE SQL
AS $$
SELECT REPLACE(REPLACE(unaccent(REPLACE(REPLACE($1, 'Ñ', '%enie_may%'), 'ñ', '%enie_min%')), '%enie_may%', 'Ñ'), '%enie_min%', 'ñ');
$$;
GRANT EXECUTE ON FUNCTION f_limpiar_acentos(text) to public;
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Ticket 44988
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
alter table sga_preinscripcion alter column usuario type varchar(100);
alter table sga_preinscripcion alter column e_mail type varchar(100);
alter table sga_preinscripcion alter column apellido_padre type varchar(60);
alter table sga_preinscripcion alter column apellido_madre type varchar(60);
alter table sga_preinscripcion alter column nombres_padre type varchar(60);
alter table sga_preinscripcion alter column nombres_madre type varchar(60);
CREATE INDEX IF NOT EXISTS id__sga_preinscripcion__codigo_validacion ON sga_preinscripcion (codigo_validacion);
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Ticket 25423
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
alter table sga_preinscripcion alter column pregunta_secreta type VARCHAR(255);
alter table sga_preinscripcion alter column respuesta_secreta type VARCHAR(255);
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Ticket 47688
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CREATE INDEX IF NOT EXISTS id__sga_preinscripcion__apellido_nombres_fecha_nac ON sga_preinscripcion (apellido, nombres, fecha_nacimiento);
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Ticket 46901 se reemplaza usuario por email
ALTER TABLE sga_preinscripcion DROP COLUMN IF EXISTS usuario;-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
COMMIT WORK;

11
BD/conversion/mig_3.21.1_a_3.21.2.sql

@ -0,0 +1,11 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.21.1 a 3.21.2
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.21.2', CURRENT_TIMESTAMP, 'Versión 3.21.2 de la base de Preinscripción');
COMMIT WORK;

93
BD/conversion/mig_3.21.2_a_3.21.3.sql

@ -0,0 +1,93 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Script de conversion de version 3.21.2 a 3.21.3
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
BEGIN WORK;
-- Versión de la base
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.21.3', CURRENT_TIMESTAMP, 'Versión 3.21.3 de la base de Preinscripción');
-- +++++++++++++++ Agrego campos de duplicada ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'duplicada'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN duplicada Char(1) NOT NULL DEFAULT 'N';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('duplicada','duplicada');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','duplicada',1,0,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta +++++++++++++++++++
-- +++++++++++++++ Agrego campos de pregunta_secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'pregunta_secreta'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN pregunta_secreta Char(255) NOT NULL DEFAULT '';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pregunta_secreta','pregunta secreta');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pregunta_secreta',1,0,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de pregunta_secreta +++++++++++++++++++
-- +++++++++++++++ Agrego campos de respuesta secreta ++++++++++++++++++++++++++++++
DO $BODY$
DECLARE cant INTEGER;
BEGIN
SELECT COUNT(*) INTO cant
FROM pg_tables
JOIN pg_namespace ON pg_namespace.nspname = pg_tables.schemaname
JOIN pg_class ON (pg_class.relname = pg_tables.tablename AND pg_class.relnamespace = pg_namespace.oid)
JOIN pg_attribute as a0 ON a0.attrelid = pg_class.oid
WHERE pg_tables.schemaname = trim(current_schema())
AND pg_tables.tablename = 'sga_preinscripcion'
AND a0.attname = 'respuesta_secreta'
AND a0.attnum > 0;
IF cant = 0 THEN
ALTER TABLE sga_preinscripcion ADD COLUMN respuesta_secreta Char(255) NOT NULL DEFAULT '';
-- Datos de configuracion
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('respuesta_secreta','respuesta secreta');
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','respuesta_secreta',1,0,1);
END IF;
END $BODY$;
-- ++++++++++++++++++ Fin Agrego campos de respuesta secreta +++++++++++++++++++
COMMIT WORK;

10
BD/creacion/armar_script_postgresql.bat

@ -0,0 +1,10 @@
@echo off
copy nul creacion_preinscripcion3_postgresql.sql
type ..\sql\tablas\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\lenguajes\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\funciones\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\datos\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\fks\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\indices\*.sql >> creacion_preinscripcion3_postgresql.sql
type ..\sql\ck\*.sql >> creacion_preinscripcion3_postgresql.sql

12
BD/creacion/armar_script_postgresql.sh

@ -0,0 +1,12 @@
#!/bin/bash
#Este script genera el script SQL de creación de una nueva base de Preinscripción.
touch creacion_preinscripcion3_postgresql.sql
cat ../sql/tablas/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/lenguajes/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/funciones/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/datos/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/fks/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/indices/*.sql >> creacion_preinscripcion3_postgresql.sql
cat ../sql/ck/*.sql >> creacion_preinscripcion3_postgresql.sql

1629
BD/creacion/creacion_preinscripcion3_postgresql.sql

File diff suppressed because it is too large Load Diff

8
BD/sql/ck/ck_sga_preinscripcion_aud_lenguaje_labial.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_labial CHECK (aud_lenguaje_labial IN ('S', 'N'));

8
BD/sql/ck/ck_sga_preinscripcion_aud_lenguaje_senias.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_senias;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_lenguaje_senias CHECK (aud_lenguaje_senias IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_aud_req_aro_magnetico.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_aud_req_aro_magnetico;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_aro_magnetico CHECK (aud_req_aro_magnetico IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_aud_req_interprete_lengua_senias.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_aud_req_interprete_lengua_senias;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_interprete_lengua_senias CHECK (aud_req_interprete_lengua_senias IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_aud_req_otros_apoyos.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_aud_req_otros_apoyos;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_aud_req_otros_apoyos CHECK (aud_req_otros_apoyos IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_condicion_discapacidad.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_condicion_discapacidad;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_condicion_discapacidad CHECK (condicion_discapacidad IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_disc_auditiva.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_disc_auditiva;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_auditiva CHECK (disc_auditiva IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_disc_cond_psicosocial.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_disc_cond_psicosocial;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_cond_psicosocial CHECK (disc_cond_psicosocial IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_disc_motora.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_disc_motora;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_motora CHECK (disc_motora IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_disc_otra.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_disc_otra;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_otra CHECK (disc_otra IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_disc_visual.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_disc_visual;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_disc_visual CHECK (disc_visual IN ('S','N'));

15
BD/sql/ck/ck_sga_preinscripcion_es_mayor_25_sin_secundario.sql

@ -0,0 +1,15 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
--
-- Check: campo es_mayor_25_sin_secundario:
-- S = Es mayor a 25 años y no tiene titulo secundario.
-- N = Tiene titulo secundario (valor default)
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S'));

17
BD/sql/ck/ck_sga_preinscripcion_estado.sql

@ -0,0 +1,17 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_preinscripcion
--
-- Check: campo estado:
-- + P = Pendiente de activacion
-- + A = Activado. La persona respondió el mail enviado
-- + C = Comprobante impreso. Preparado para ingresarlo en Guarani
-- + I = Inscripto en Gestión. Cuenta de Preinscripción cerrada (continúa sus trámites por 3w).
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_estado;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_estado CHECK (estado IN ('P', 'A', 'C', 'I'));

8
BD/sql/ck/ck_sga_preinscripcion_mot_req_apoyo_aula.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_mot_req_apoyo_aula;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_mot_req_apoyo_aula CHECK (mot_req_apoyo_aula IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_mot_req_otros_apoyos.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_mot_req_otros_apoyos;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_mot_req_otros_apoyos CHECK (mot_req_otros_apoyos IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_otra_req_apoyo_vida_diaria.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_otra_req_apoyo_vida_diaria;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_otra_req_apoyo_vida_diaria CHECK (otra_req_apoyo_vida_diaria IN ('S','N'));

17
BD/sql/ck/ck_sga_preinscripcion_propuestas_estado.sql

@ -0,0 +1,17 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0, 3.13.0
-- Tabla: sga_preinscripcion_propuestas
--
-- Check: campo estado:
-- P: Pendiente de inscripción
-- I: Inscripto en Gestión
-- C: Copiado al modelo de Gestión
-- S: Solicitud de informacion al aspirante
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion_propuestas DROP CONSTRAINT IF EXISTS ck_sga_preinscripcion_propuestas_estado;
ALTER TABLE sga_preinscripcion_propuestas ADD CONSTRAINT ck_sga_preinscripcion_propuestas_estado CHECK (estado IN ('P', 'I', 'S', 'C'));

8
BD/sql/ck/ck_sga_preinscripcion_psi_req_otros_apoyos.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_psi_req_otros_apoyos;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_psi_req_otros_apoyos CHECK (psi_req_otros_apoyos in ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_tiene_cud.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_tiene_cud;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_tiene_cud CHECK (tiene_cud IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_validado_con_renaper.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.21.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_validado_con_renaper;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_validado_con_renaper CHECK (validado_con_renaper IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_vis_req_archivo_audio.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_vis_req_archivo_audio;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_archivo_audio CHECK (vis_req_archivo_audio IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_vis_req_otros_apoyos.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_vis_req_otros_apoyos;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_otros_apoyos CHECK (vis_req_otros_apoyos IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_vis_req_texto_braile.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_vis_req_texto_braile;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_texto_braile CHECK (vis_req_texto_braile IN ('S','N'));

8
BD/sql/ck/ck_sga_preinscripcion_vis_req_texto_digital.sql

@ -0,0 +1,8 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.12.0
-- Tabla: sga_preinscripcion
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_vis_req_texto_digital;
ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_vis_req_texto_digital CHECK (vis_req_texto_digital IN ('S','N'));

15
BD/sql/ck/ck_sga_requisitos_digitales_estado.sql

@ -0,0 +1,15 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.8.0
-- Tabla: sga_requisitos_digitales
--
-- Check: campo estado:
-- + P = Pendiente de validación
-- + A = Aceptado en G3
-- + R = Rechazado en G3
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- ALTER TABLE sga_requisitos_digitales DROP CONSTRAINT ck_sga_requisitos_digitales_estado;
ALTER TABLE sga_requisitos_digitales ADD CONSTRAINT ck_sga_requisitos_digitales_estado CHECK (estado IN ('P', 'A', 'R'));

18
BD/sql/datos/00_sga_propuestas_tipos.sql

@ -0,0 +1,18 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_propuestas_tipos
-- Tipos de propuestas formativas
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (200, 'Grado');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (201, 'Pregrado');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (202, 'Posgrado');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (203, 'Ciclo Básico o Común');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (204, 'Curso de Ingreso');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (205, 'Postítulo');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (206, 'Terciario');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (207, 'Vocacional');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (208, 'Cursos');
INSERT INTO sga_propuestas_tipos (propuesta_tipo, descripcion) VALUES (209, 'Convenio');

268
BD/sql/datos/10_sga_campos_form.sql

@ -0,0 +1,268 @@
DELETE FROM sga_campos_form;
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('id_preinscripcion','');
--INSERT INTO sga_campos_form (columna, descripcion) VALUES ('usuario','');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('clave','');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('fecha_registro','Fecha Inscripción');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('fecha_ult_modif','');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('version_modificacion','');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('estado','Estado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido','Apellido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombres','Nombres');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('sexo','Género');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('fecha_nacimiento','Fecha de nacimiento');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nacionalidad','Nacionalidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('loc_nacimiento','Localidad de nacimiento');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario','Es mayor de 25 años y no tiene estudios secundarios');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('colegio_secundario','Colegio secundario');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('titulo_secundario','Titulo secundario');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('anio_egreso_sec','Año de egreso del colegio secundario');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pais_emisor_pasap','País emisor del pasaporte');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nro_pasap','Número de pasaporte');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido_padre','Apellido del padre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombres_padre','Nombres del padre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido_madre','Apellido de la madre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombres_madre','Nombres de la madre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('estado_civil','Estado civil');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('e_mail','Correo electrónico');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tipo_visa','Tipo de visa');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otorgamiento_visa','Fecha de otorgamiento de la visa');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vencimiento_visa','Vencimiento de la visa');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tipo_residencia','Tipo de residencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('calle_proc','Calle de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('numero_proc','Numero de calle de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('piso_proc','Piso de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('dpto_proc','Departamento de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('unidad_proc','Unidad de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('loc_proc','Localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('cp_proc','Código postal de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('te_proc','Teléfono de la localidad de procedencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pais_documento','País emisor del documento');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tipo_documento','Tipo de documento');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nro_documento','Numero de documento');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('ult_est_cur_padre','Últimos estudios cursados por el padre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('ult_est_cur_madre','Últimos estudios cursados por la madre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('hora_sem_trab_alum','Horas semanales trabajadas por el alumno');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('rel_trab_propuesta','Relación del trabajo con la propuesta');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nro_ci','Numero de cedula de identidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('ent_emisora_ci','Entidad emisora de la célula de identidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tipo_res_per_lect','Tipo de residencia del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('calle_per_lect','Calle de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('numero_per_lect','Numero de calle de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('piso_per_lect','Piso de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('dpto_per_lect','Departamento de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('unidad_per_lect','Unidad de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('loc_per_lect','Localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('cp_per_lect','Código postal de la localidad del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('te_per_lect','Teléfono de la dirección del periodo lectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('sit_laboral_padre','Situación laboral del padre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('sit_laboral_madre','Situación laboral de la madre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido_pers_alleg','Apellido allegado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombre_pers_alleg','Nombre de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tipo_allegado','Relación allegado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('calle_pers_alleg','Calle de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nro_pers_alleg','Numero de calle de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('piso_pers_alleg','Piso de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('dpto_pers_alleg','Departamento de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('unidad_pers_alleg','Unidad de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('loc_pers_alleg','Localidad de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('cp_pers_alleg','Código postal de la localidad de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('te_pers_alleg','Teléfono de la persona allegada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('cant_hijos_alum','Cantidad de hijos del alumno');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('obra_social_alu','Tiene obra social o no');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_nombre_1','Nombre de la institucion terciaria (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_titulo_1','Titulo obtenido en la institucion terciaria (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_estado_1','Nivel alcanzado en la institucion terciaria (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_nombre_2','Nombre de la institucion terciaria (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_titulo_2','Titulo obtenido en la institucion terciaria (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('terciario_estado_2','Nivel alcanzado en la institucion terciaria (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_nombre_1','Nombre de la universidad (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_titulo_1','Titulo obtenido en la universidad (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_estado_1','Nivel alcanzado en la universidad (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_nombre_2','Nombre de universidad (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_titulo_2','Titulo obtenido en la universidad (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('universit_estado_2','Nivel alcanzado en la universidad (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_nombre_1','Institucion donde realizo el postgrado (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_titulo_1','Titulo del postgrado (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_estado_1','Nivel alcanzado (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_nombre_2','Institucion donde realizo el postgrado (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_titulo_2','Titulo del postgrado (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('postgrado_estado_2','Nivel alcanzado (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('antecedente_1','Antecedentes académicos (i)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('antecedente_2','Antecedentes académicos (ii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('antecedente_3','Antecedentes académicos (iii)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('actividad_academica','Actividad académica realizada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('titulo_tentativo','Titulo de postgrado tentativo ');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('area_tematica','Área temática');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('existe_trab_alum','Existencia de trabajo:');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('remuneracion','Remunerado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('numero_cuil','Número de C.U.I.L.');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_est_civil_uh','Se encuentra unido de hecho');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_trab_hace','En ese trabajo es usted');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_trab_desjub','¿Le hacen descuentos jubilatorios?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_trab_fami','Trabaja en el negocio o empresa de un familiar?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_trab_ocup','Esa ocupación es');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_trab_tarea','Describa la tarea que realiza');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('padre_trab_hace','Padre - En ese trabajo es');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('padre_trab_ocup','Padre - Esa ocupación es');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('padre_trab_otro','Si no trabaja y no busca trabajo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('padre_trab_tarea','Padre - Describa la tarea que realizar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('madre_trab_hace','Madre - En ese trabajo es');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('madre_trab_ocup','Madre - Esa ocupación es');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('madre_trab_otro','Si no trabaja y no busca trabajo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('madre_trab_tarea','Madre - Describa la tarea que realizar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_ap_fam','Con el aporte de familiares');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_trab','Con su trabajo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_beca','Con beca');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_plsoc','Planes sociales');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_otra','Otras fuentes');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_cos_est_espec','Fuente');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_muni','Municipal');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_otra','Otra');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_prov','Provincial');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_tipo_eco','De ayuda económica');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_tipo_ser','De contraprestación de servicios');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_tipo_inv','De investigación');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_eco_tran','Transporte');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_eco_come','Comedor');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_eco_foto','Fotocopia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_eco_efec','Efectivo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_beca_eco_habi','Habitacional');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_uni','Universidad/Institución');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_tipo','Tipo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_area','Áreas');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_carr','Otros Estudios - Propuesta');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_esta','Otros Estudios - Estado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_egre','Año de egreso');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_niv','Nivel');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_pc_casa','Tiene PC en su casa');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_pc_trab','Tiene PC en el trabajo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_pc_univ','Tiene PC en la universidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_pc_otro','Tiene PC en otro lugar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_int_casa','Consulta Internet en su casa');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_int_trab','Consulta Internet en el trabajo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_int_univ','Consulta Internet en la universidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_int_movil','Consulta Internet en un dispositivo móvil');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_tec_int_otro','Consulta Internet en otro lugar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_ingl','Inglés');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_fran','Francés');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_port','Portugués');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_ital','Italiano');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_alem','Alemán');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_chino','Chino');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_otro','Otro');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_idioma_otro_nivel','Nivel');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('practica_deportes','Practica deportes');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('hace_dep_univ','Deportes en la Universidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('hace_dep_gim_priv','Deportes en gimnasio privado');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('hace_dep_partic','Deportes en gimnasio particular');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('hace_dep_otros','Deportes en otros lados');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_futbol','Practica Futbol');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_basquet','Practica Básquet');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_voley','Practica Voley');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_gimnasia','Practica gimnasia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_tenis','Practica tenis');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_natacion','Practica Natación');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_handball','Practica Handball');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('prac_dep_otros','Practica otros deportes');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vive_actual_con','Vive actualmente con');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('celular_numero','Número Celular');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('celular_compania','Compañía Celular');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_beca_inter','Tiene beca internacional');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_beca','Tiene beca');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_beca_univ','Tiene beca universitaria');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_beca_nacio','Tiene beca nacional');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('cant_fami_cargo','Cantidad Familiares a cargo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('padre_vive','¿Padre Vive?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('madre_vive','¿Madre Vive?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('residencia', 'Tipo de residencia - Extranjeros');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('fecha_respre_otorg', 'Fecha de otorgamiento de la residencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('fecha_respre_venc', 'Fecha de vencimiento de la residencia');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('turno_preferido','Turno preferido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('barrio_per_lec','Barrio (período lectivo)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('barrio_proc','Barrio (procedencia)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('barrio_alleg','Barrio (persona allegada)');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('insc_otra_inst','¿Estás inscripto en otra institución?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('insc_otra_inst_descr','¿En cuál?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('como_conocio_institucion','¿Cómo conociste la Institución?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pertenece_pueblo_originario','¿Pertenecés a algún pueblo originario?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pueblo_originario','¿A cuál?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pueblo_originario_otro','Nombre');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('orientacion_recibida','Orientación vocacional recibida');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_celiaco','¿Sos celíaco?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('adeuda_materias', '¿Adeudás materias?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_razon_abandono', 'Razón de abandono');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('alu_otestsup_razon_abandono_otros', 'Especificar razón de abandono');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_econom', 'Por cuestiones económicas / bajo costo');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_prestigio', 'Por el prestigio');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_difusion', 'Por la difusión');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_rec_estud', 'Por recomendación de otros estudiantes / graduados');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_rec_amigos', 'Por recomendación de amigos / familiares');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_sist_ing', 'Por el sistema de ingreso');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_ubicacion', 'Ubicación geográfica');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_inst_otros', 'Otros');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_vocacion', 'Vocación');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_sug_fam', 'Sugerencia del núcleo familiar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_rec_social', 'Reconocimiento social');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_ins_lab', 'Rápida inserción laboral');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_perf_prof', 'Perfil profesional');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_mejora_ec', 'Mejora de las condiciones económicas');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_util_soc', 'Deseo de ser útil a la sociedad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_prop_otros', 'Otros');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('condicion_discapacidad', 'Condición de Discapacidad');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('tiene_cud', 'Tenés CUD');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_auditiva', 'Auditiva');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_tipo', '¿Tenés dificultad para oír, incluso si usás un audífono o implante coclear?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_lenguaje_senias', 'Lengua de Señas');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_lenguaje_labial', 'Lectura labial');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_comunicacion_otra', 'Otra forma');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_interprete_lengua_senias', 'Requerís Intérprete de Lengua de Señas Argentina');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_aro_magnetico', 'Requerís Aro magnético');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('aud_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_visual', 'Visual');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_dificultad_para_ver', '¿Tenés dificultad para ver, incluso si usás lentes?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_archivo_audio', 'Requerís Archivos de audio');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_texto_digital', 'Requerís Texto digital accesible');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_texto_braile', 'Requerís Texto en Braille');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('vis_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_motora', 'Motora');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_req_apoyo_aula', '¿Requerís apoyos para la permanencia en el aula?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_apoyo_aula', '¿Cuáles?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('mot_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_cond_psicosocial', 'Condición Psicosocial');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_descripcion', '¿Cuál?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_apoyo_vida_diaria', '¿Qué apoyos utilizás en tu vida diaria?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_req_otros_apoyos', '¿Requerís otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('psi_otros_apoyos', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('disc_otra', 'Otra');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_descripcion', '¿Cuál/cuáles?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_req_apoyo_vida_diaria', '¿Requiere otros apoyos?');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('otra_apoyo_vida_diaria', 'Especificar cuáles');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('informacion_importante', 'Alguna otra información que consideres importante comunicar');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('apellido_elegido', 'apellido elegido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('nombres_elegido', 'nombres elegido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('identidad_genero', 'identidad de genero elegido');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('identidad_genero_otro', 'campo para especificar identidad de genero');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('duplicada','duplicada');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('pregunta_secreta','pregunta secreta');
INSERT INTO sga_campos_form (columna, descripcion) VALUES ('respuesta_secreta','respuesta secreta');

285
BD/sql/datos/20_sga_campos_conf.sql

@ -0,0 +1,285 @@
DELETE FROM sga_campos_conf;
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Configuración inicial para propuestas de GRADO
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','id_preinscripcion',1,0,1);
--INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','usuario',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','clave',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','fecha_registro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','fecha_ult_modif',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','version_modificacion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','estado',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','apellido',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nombres',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','sexo',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','fecha_nacimiento',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nacionalidad',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','loc_nacimiento',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_mayor_25_sin_secundario',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','colegio_secundario',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','titulo_secundario',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','anio_egreso_sec',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pais_emisor_pasap',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nro_pasap',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','apellido_padre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nombres_padre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','apellido_madre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nombres_madre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','estado_civil',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','e_mail',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tipo_visa',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','otorgamiento_visa',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','vencimiento_visa',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tipo_residencia',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','calle_proc',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','numero_proc',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','piso_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','dpto_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','unidad_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','loc_proc',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','cp_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','barrio_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','te_proc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pais_documento',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tipo_documento',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nro_documento',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','ult_est_cur_padre',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','ult_est_cur_madre',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','hora_sem_trab_alum',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','rel_trab_propuesta',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nro_ci',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','ent_emisora_ci',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tipo_res_per_lect',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','calle_per_lect',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','numero_per_lect',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','piso_per_lect',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','dpto_per_lect',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','unidad_per_lect',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','loc_per_lect',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','cp_per_lect',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','barrio_per_lec',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','te_per_lect',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','sit_laboral_padre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','sit_laboral_madre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','apellido_pers_alleg',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nombre_pers_alleg',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tipo_allegado',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','calle_pers_alleg',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','nro_pers_alleg',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','piso_pers_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','dpto_pers_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','unidad_pers_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','loc_pers_alleg',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','barrio_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','cp_pers_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','te_pers_alleg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','turno_preferido',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','cant_hijos_alum',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','obra_social_alu',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_nombre_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_titulo_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_estado_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_nombre_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_titulo_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','terciario_estado_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_nombre_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_titulo_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_estado_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_nombre_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_titulo_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','universit_estado_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_nombre_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_titulo_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_estado_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_nombre_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_titulo_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','postgrado_estado_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','antecedente_1',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','antecedente_2',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','antecedente_3',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','actividad_academica',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','titulo_tentativo',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','area_tematica',0,0,0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','existe_trab_alum',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','remuneracion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','numero_cuil',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_est_civil_uh',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_trab_hace',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_trab_desjub',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_trab_fami',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_trab_ocup',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_trab_tarea',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','padre_trab_hace',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','padre_trab_ocup',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','padre_trab_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','padre_trab_tarea',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','madre_trab_hace',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','madre_trab_ocup',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','madre_trab_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','madre_trab_tarea',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_ap_fam',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_trab',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_beca',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_plsoc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_otra',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_cos_est_espec',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_muni',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_otra',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_prov',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_tipo_eco',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_tipo_ser',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_tipo_inv',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_eco_tran',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_eco_come',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_eco_foto',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_eco_efec',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_beca_eco_habi',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_uni',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_tipo',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_area',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_carr',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_esta',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_egre',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_niv',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_pc_casa',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_pc_trab',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_pc_univ',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_pc_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_int_casa',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_int_trab',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_int_univ',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_int_movil',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_tec_int_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_ingl',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_fran',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_port',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_ital',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_alem',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_chino',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_idioma_otro_nivel',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','practica_deportes',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','hace_dep_univ',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','hace_dep_gim_priv',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','hace_dep_partic',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','hace_dep_otros',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_futbol',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_basquet',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_voley',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_gimnasia',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_tenis',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_natacion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_handball',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','prac_dep_otros',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','vive_actual_con',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','celular_numero',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','celular_compania',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tiene_beca_inter',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tiene_beca',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tiene_beca_univ',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','tiene_beca_nacio',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','cant_fami_cargo',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','padre_vive',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','madre_vive',1,1,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','residencia',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','fecha_respre_otorg',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','fecha_respre_venc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_econom',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_prestigio',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_difusion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_rec_estud',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_rec_amigos',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_sist_ing',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_ubicacion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_inst_otros',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_vocacion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_sug_fam',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_rec_social',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_ins_lab',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_perf_prof',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_mejora_ec',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_util_soc',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','mot_prop_otros',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','adeuda_materias',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_razon_abandono',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','alu_otestsup_razon_abandono_otros',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','insc_otra_inst',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','insc_otra_inst_descr',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','como_conocio_institucion',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pertenece_pueblo_originario',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pueblo_originario',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pueblo_originario_otro',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','orientacion_recibida',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','es_celiaco',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'condicion_discapacidad', 1, 1, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'tiene_cud', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_auditiva', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_tipo', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_lenguaje_senias', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_lenguaje_labial', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_comunicacion_otra', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_interprete_lengua_senias', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_aro_magnetico', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'aud_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_visual', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_dificultad_para_ver', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_archivo_audio', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_texto_digital', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_texto_braile', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'vis_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_motora', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_req_apoyo_aula', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_apoyo_aula', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'mot_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_cond_psicosocial', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_descripcion', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_req_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'psi_otros_apoyos', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'disc_otra', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_descripcion', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_req_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'otra_apoyo_vida_diaria', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'informacion_importante', 1, 0, 1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'apellido_elegido', 1, 0, 0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'nombres_elegido', 1, 0, 0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'identidad_genero', 1, 0, 0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'identidad_genero_otro', 1, 0, 0);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','duplicada',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','pregunta_secreta',1,0,1);
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200','respuesta_secreta',1,0,1);
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se replica la config. inicial de propuestas de Grado para los demás tipos
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime)
SELECT sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna,
sga_campos_conf.visible,
sga_campos_conf.obligatorio,
sga_campos_conf.se_imprime
FROM sga_campos_conf,
sga_propuestas_tipos
WHERE sga_campos_conf.propuesta_tipo = '200'
AND sga_propuestas_tipos.propuesta_tipo <> '200'
ORDER BY sga_propuestas_tipos.propuesta_tipo,
sga_campos_conf.columna;

7
BD/sql/datos/90_app_versiones_base.sql

@ -0,0 +1,7 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Versión de la base
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
INSERT INTO app_versiones_base(version_base, fecha_actualizacion, observaciones)
VALUES ('3.21', CURRENT_TIMESTAMP, 'Versión 3.21 de la base de Preinscripción');

14
BD/sql/fks/fks_sga_actuacion_doc.sql

@ -0,0 +1,14 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_actuacion_doc
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_actuacion_doc__sga_preinscripcion;
CREATE INDEX ifk__sga_actuacion_doc__sga_preinscripcion ON sga_actuacion_doc (id_preinscripcion);
-- ALTER TABLE sga_actuacion_doc DROP CONSTRAINT fk__sga_actuacion_doc__sga_preinscripcion;
ALTER TABLE sga_actuacion_doc
ADD CONSTRAINT fk__sga_actuacion_doc__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;

14
BD/sql/fks/fks_sga_actuacion_prof.sql

@ -0,0 +1,14 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_actuacion_prof
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_actuacion_prof__sga_preinscripcion;
CREATE INDEX ifk__sga_actuacion_prof__sga_preinscripcion ON sga_actuacion_prof (id_preinscripcion);
-- ALTER TABLE sga_actuacion_prof DROP CONSTRAINT fk__sga_actuacion_prof__sga_preinscripcion;
ALTER TABLE sga_actuacion_prof
ADD CONSTRAINT fk__sga_actuacion_prof__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;

24
BD/sql/fks/fks_sga_campos_conf.sql

@ -0,0 +1,24 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_campos_conf
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_campos_conf__sga_campos_form;
CREATE INDEX ifk__sga_campos_conf__sga_campos_form ON sga_campos_conf (columna);
-- ALTER TABLE sga_campos_conf DROP CONSTRAINT fk__sga_campos_conf__sga_campos_form;
ALTER TABLE sga_campos_conf
ADD CONSTRAINT fk__sga_campos_conf__sga_campos_form FOREIGN KEY (columna)
REFERENCES sga_campos_form (columna) on update restrict on delete restrict;
--------------------------------------------------------------------------------
-- DROP INDEX ifk__sga_campos_conf__sga_propuestas_tipos;
CREATE INDEX ifk__sga_campos_conf__sga_propuestas_tipos ON sga_campos_conf (propuesta_tipo);
-- ALTER TABLE sga_campos_conf DROP CONSTRAINT fk__sga_campos_conf__sga_propuestas_tipos;
ALTER TABLE sga_campos_conf
ADD CONSTRAINT fk__sga_campos_conf__sga_propuestas_tipos FOREIGN KEY (propuesta_tipo)
REFERENCES sga_propuestas_tipos (propuesta_tipo) on update restrict on delete restrict;

17
BD/sql/fks/fks_sga_formacion_acad.sql

@ -0,0 +1,17 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_formacion_acad
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_formacion_acad__sga_preinscripcion;
CREATE INDEX ifk__sga_formacion_acad__sga_preinscripcion ON sga_formacion_acad (id_preinscripcion);
-- ALTER TABLE sga_formacion_acad DROP CONSTRAINT fk__sga_formacion_acad__sga_preinscripcion;
ALTER TABLE sga_formacion_acad
ADD CONSTRAINT fk__sga_formacion_acad__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;

15
BD/sql/fks/fks_sga_preinscripcion_propuestas.sql

@ -0,0 +1,15 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_preinscripcion_propuestas
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_preinscripcion_propuestas__sga_preinscripcion;
CREATE INDEX ifk__sga_preinscripcion_propuestas__sga_preinscripcion ON sga_preinscripcion_propuestas (id_preinscripcion);
-- ALTER TABLE sga_preinscripcion_propuestas DROP CONSTRAINT fk__sga_preinscripcion_propuestas__sga_preinscripcion;
ALTER TABLE sga_preinscripcion_propuestas
ADD CONSTRAINT fk__sga_preinscripcion_propuestas__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;

14
BD/sql/fks/fks_sga_requisitos_digitales.sql

@ -0,0 +1,14 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- FKs tabla: sga_requisitos_digitales
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX ifk__sga_requisitos_digitales__sga_preinscripcion;
CREATE INDEX ifk__sga_requisitos_digitales__sga_preinscripcion ON sga_requisitos_digitales (id_preinscripcion);
-- ALTER TABLE sga_requisitos_digitales DROP CONSTRAINT fk__sga_requisitos_digitales__sga_preinscripcion;
ALTER TABLE sga_requisitos_digitales
ADD CONSTRAINT fk__sga_requisitos_digitales__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;

26
BD/sql/funciones/f_limpiar_acentos.sql

@ -0,0 +1,26 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Function: f_limpiar_acentos
--
-- Quita los tildes de una cadena de caracteres
--
-- Recibe: Text - Cadena a quitar los tildes
-- Retorna: Text - Texto sin tildes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Creo la extensión unaccent
CREATE EXTENSION IF NOT EXISTS unaccent;
-- DROP FUNCTION f_limpiar_acentos(text);
CREATE OR REPLACE FUNCTION f_limpiar_acentos(text)
RETURNS text
IMMUTABLE
STRICT
LANGUAGE SQL
AS $$
SELECT REPLACE(REPLACE(unaccent(REPLACE(REPLACE($1, 'Ñ', '%enie_may%'), 'ñ', '%enie_min%')), '%enie_may%', 'Ñ'), '%enie_min%', 'ñ');
$$;
GRANT EXECUTE ON FUNCTION f_limpiar_acentos(text) to public;

10
BD/sql/indices/id__sga_preinscripcion__apellido_nombres_fecha_nac.sql

@ -0,0 +1,10 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- MODULO PREINSCIRPCION A PROPUESTA - Sistema de Gestión Académica
-- Versión 3.22.0
-- Tabla: sga_preinscripcion
-- Indice: id__sga_preinscripcion__apellido_nombres_fecha_nac
-- Utilizado en reporte de preinscripciones desde Gestion.
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX IF EXISTS id__sga_preinscripcion__apellido_nombres_fecha_nac;
CREATE INDEX id__sga_preinscripcion__apellido_nombres_fecha_nac ON sga_preinscripcion (apellido, nombres, fecha_nacimiento);

9
BD/sql/indices/id__sga_preinscripcion__codigo_validacion.sql

@ -0,0 +1,9 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Version 3.22.0
-- Tabla: sga_preinscripcion
-- Indice: id__sga_preinscripcion__codigo_validacion
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX IF EXISTS id__sga_preinscripcion__codigo_validacion;
CREATE INDEX id__sga_preinscripcion__codigo_validacion ON sga_preinscripcion (codigo_validacion);

9
BD/sql/indices/iu__admin_usuarios__usuario.sql

@ -0,0 +1,9 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Tabla: sga_preinscripcion
-- Indice: iu__admin_usuarios__usuario
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX iu_admin_usuarios_usuario;
CREATE UNIQUE INDEX iu__admin_usuarios__usuario ON admin_usuarios (usuario);

8
BD/sql/indices/iu__sga_preinscripcion__usuario.sql

@ -0,0 +1,8 @@
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Tabla: sga_preinscripcion
-- Indice: iu__sga_preinscripcion__usuario
-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP INDEX iu__sga_preinscripcion__usuario;
CREATE UNIQUE INDEX iu__sga_preinscripcion__usuario ON sga_preinscripcion (usuario);

31
BD/sql/lenguajes/language_plpgsql.sql

@ -0,0 +1,31 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- Se chequea la existencia del lenguaje plpgsql. Si no existe, se lo crea
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
CREATE OR REPLACE FUNCTION create_language_plpgsql()
RETURNS BOOLEAN AS $$
CREATE LANGUAGE plpgsql;
SELECT TRUE;
$$ LANGUAGE SQL;
SELECT CASE WHEN NOT
(
SELECT TRUE AS exists
FROM pg_language
WHERE lanname = 'plpgsql'
UNION
SELECT FALSE AS exists
ORDER BY exists DESC
LIMIT 1
)
THEN
create_language_plpgsql()
ELSE
FALSE
END AS plpgsql_created;
DROP FUNCTION create_language_plpgsql();
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

21
BD/sql/tablas/admin_usuarios.sql

@ -0,0 +1,21 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: admin_usuarios
--
-- Usuarios de ADMINISTRACIÓN del módulo de preinscripcion.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP SEQUENCE admin_usuarios_seq;
CREATE SEQUENCE admin_usuarios_seq START 1;
-- DROP TABLE usuarios;
CREATE TABLE admin_usuarios
(
id_usuario integer DEFAULT nextval('admin_usuarios_seq'::text) NOT NULL,
usuario varchar(100) NOT NULL,
clave varchar(255) NOT NULL,
id_pto_acceso varchar NOT NULL
);
ALTER TABLE admin_usuarios ADD CONSTRAINT pk_admin_usuarios PRIMARY KEY (id_usuario) ;

22
BD/sql/tablas/app_versiones_base.sql

@ -0,0 +1,22 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: app_versiones_base
--
-- Versiones de la base de datos
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP SEQUENCE app_versiones_base_seq;
CREATE SEQUENCE app_versiones_base_seq START 1;
-- DROP TABLE IF EXISTS app_versiones_base;
CREATE TABLE app_versiones_base
(
id_conversion INTEGER NOT NULL DEFAULT nextval('app_versiones_base_seq'::text) ,
version_base VARCHAR(10) NOT NULL,
fecha_actualizacion TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
script_ejecutado TEXT,
observaciones TEXT
);
ALTER TABLE app_versiones_base ADD CONSTRAINT pk_app_versiones_base PRIMARY KEY (id_conversion);

26
BD/sql/tablas/cfg_perfiles_datos.sql

@ -0,0 +1,26 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: cfg_perfiles_datos
--
-- Configuración de perfiles de datos por punto de acceso
-- Para un determinado id_pto_acceso, se insertará un registro por cada RA,
-- tipo de propuesta o propuesta.
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE cfg_perfiles_datos_seq;
CREATE SEQUENCE cfg_perfiles_datos_seq START 1;
--DROP TABLE IF EXISTS cfg_perfiles_datos;
CREATE TABLE cfg_perfiles_datos
(
cfg_perfil_datos INTEGER DEFAULT nextval('cfg_perfiles_datos_seq'::text) NOT NULL,
id_pto_acceso VARCHAR NOT NULL,
ra INTEGER,
propuesta_tipo INTEGER,
propuesta INTEGER,
ubicacion INTEGER
);
ALTER TABLE cfg_perfiles_datos ADD CONSTRAINT pk_cfg_perfiles_datos PRIMARY KEY (cfg_perfil_datos);

27
BD/sql/tablas/sga_actuacion_doc.sql

@ -0,0 +1,27 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_actuacion_doc
--
-- Datos de actuación docente de aspirantes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE sga_actuacion_doc_seq;
CREATE SEQUENCE sga_actuacion_doc_seq START 1;
-- DROP TABLE sga_actuacion_doc;
CREATE TABLE sga_actuacion_doc
(
actuacion_doc INTEGER DEFAULT nextval('sga_actuacion_doc_seq'::text) NOT NULL ,
id_preinscripcion INTEGER NOT NULL,
institucion INTEGER,
institucion_prein VARCHAR(255),
cargo VARCHAR(255),
materia VARCHAR(255),
hora_sem_trab INTEGER,
fecha_desde DATE,
fecha_hasta DATE
);
ALTER TABLE sga_actuacion_doc ADD CONSTRAINT pk_sga_actuacion_doc PRIMARY KEY (actuacion_doc);

26
BD/sql/tablas/sga_actuacion_prof.sql

@ -0,0 +1,26 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_actuacion_prof
--
-- Datos de actuación profesional de aspirantes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE sga_actuacion_prof_seq;
CREATE SEQUENCE sga_actuacion_prof_seq START 1;
-- DROP TABLE sga_actuacion_prof;
CREATE TABLE sga_actuacion_prof
(
actuacion_prof INTEGER DEFAULT nextval('sga_actuacion_prof_seq'::text) NOT NULL,
id_preinscripcion INTEGER NOT NULL,
empresa VARCHAR(255),
cargo VARCHAR(255),
area VARCHAR(255),
hora_sem_trab INTEGER,
fecha_desde DATE,
fecha_hasta DATE
);
ALTER TABLE sga_actuacion_prof ADD CONSTRAINT pk_sga_actuacion_prof PRIMARY KEY (actuacion_prof);

22
BD/sql/tablas/sga_campos_conf.sql

@ -0,0 +1,22 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_actuacion_doc
--
-- Configuración de los campos del formulario por tipo de propuesta.
-- visible, obligatorio, se_imprime, genera_reporte: 1 = Si / 0 = No
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP TABLE sga_campos_conf;
CREATE TABLE sga_campos_conf
(
propuesta_tipo INTEGER NOT NULL,
columna VARCHAR(40) NOT NULL,
visible SMALLINT NOT NULL DEFAULT 1,
obligatorio SMALLINT NOT NULL DEFAULT 0,
se_imprime SMALLINT NOT NULL DEFAULT 1,
genera_reporte SMALLINT NOT NULL DEFAULT 0
);
ALTER TABLE sga_campos_conf ADD CONSTRAINT pk_campos_conf PRIMARY KEY (propuesta_tipo, columna);

17
BD/sql/tablas/sga_campos_form.sql

@ -0,0 +1,17 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_actuacion_doc
--
-- Campos del formulario de Preinscripción
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP TABLE sga_campos_form;
CREATE TABLE sga_campos_form
(
columna VARCHAR(40) NOT NULL,
descripcion VARCHAR(300)
);
ALTER TABLE sga_campos_form ADD CONSTRAINT pk_campos_form PRIMARY KEY (columna);

32
BD/sql/tablas/sga_formacion_acad.sql

@ -0,0 +1,32 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_formacion_acad
--
-- Datos de formación académica de aspirantes
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE sga_formacion_acad_seq;
CREATE SEQUENCE sga_formacion_acad_seq START 1;
-- DROP TABLE sga_formacion_acad;
CREATE TABLE sga_formacion_acad
(
formacion_acad INTEGER DEFAULT nextval('sga_formacion_acad_seq'::text) NOT NULL,
id_preinscripcion INTEGER NOT NULL,
titulo_superior VARCHAR(5),
titulo_sup_prein VARCHAR(255),
institucion INTEGER,
institucion_prein VARCHAR(255),
fecha_ingreso DATE,
fecha_egreso DATE,
titulo_tesis VARCHAR(255),
director_tesis VARCHAR(255),
categoria_coneau CHAR(2),
duracion_teorica INTEGER,
nivel_estudio INTEGER, -- nivel_estudio: 4 = Superior / 5 = Universitario / 6 = Posgrado
estado CHAR(1) -- estado: F = Finalizado / A = Abandonado / C = En Curso
);
ALTER TABLE sga_formacion_acad ADD CONSTRAINT pk_sga_formacion_acad PRIMARY KEY (formacion_acad);

378
BD/sql/tablas/sga_preinscripcion.sql

@ -0,0 +1,378 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0, 3.12.0, 3.21.0, 3.22.0
-- Tabla: sga_preinscripcion
--
-- Formulario de Preinscripción
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE sga_preinscripcion_seq;
CREATE SEQUENCE IF NOT EXISTS sga_preinscripcion_seq START 1;
-- DROP TABLE IF EXISTS sga_preinscripcion;
CREATE TABLE sga_preinscripcion
(
id_preinscripcion INTEGER DEFAULT nextval('sga_preinscripcion_seq'::text) NOT NULL,
--usuario VARCHAR(100) NOT NULL,
clave VARCHAR(255) NOT NULL,
codigo_validacion VARCHAR(127),
codigo_validacion_alta Timestamp with time zone,
email_valido TIMESTAMP,
facebook VARCHAR(100),
google VARCHAR(100),
fecha_registro TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP,
fecha_ult_modif DATE NOT NULL,
version_modificacion INTEGER NOT NULL,
version_impresa INTEGER,
persona INTEGER, -- Para completar por G3 al incorporar
duplicada Char(1) NOT NULL DEFAULT 'N',
pregunta_secreta VARCHAR(255) NOT NULL DEFAULT '',
respuesta_secreta VARCHAR(255) NOT NULL DEFAULT '',
----------------------------------------------------------------------------
-- Datos personales principales
apellido VARCHAR(60) NOT NULL,
nombres VARCHAR(60) NOT NULL,
apellido_elegido VARCHAR(60) ,
nombres_elegido VARCHAR(60) ,
pais_documento INTEGER NOT NULL,
tipo_documento INTEGER NOT NULL,
nro_documento VARCHAR(20) NOT NULL,
validado_con_renaper CHAR(1) NOT NULL DEFAULT 'N',
numero_cuil VARCHAR(15),
sexo CHAR(1),
identidad_genero INTEGER,
identidad_genero_otro VARCHAR(100),
fecha_nacimiento DATE,
nacionalidad INTEGER,
loc_nacimiento INTEGER,
turno_preferido VARCHAR(20), -- Turno preferido de cursada
-- Colegio secundario
es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N',
colegio_secundario INTEGER,
titulo_secundario INTEGER,
anio_egreso_sec INTEGER,
-- Cedula de Identidad - Pasaporte
ent_emisora_ci INTEGER,
nro_ci DECIMAL(15,0),
pais_emisor_pasap INTEGER,
nro_pasap VARCHAR(15),
-- Datos padres
apellido_padre VARCHAR(60),
nombres_padre VARCHAR(60),
apellido_madre VARCHAR(60),
nombres_madre VARCHAR(60),
-- Datos censales - personales
alu_est_civil_uh CHAR(1),
alu_trab_hace CHAR(1),
alu_trab_desjub CHAR(1),
alu_trab_fami CHAR(1),
alu_trab_ocup CHAR(1),
alu_trab_tarea VARCHAR(255),
padre_trab_hace CHAR(1),
padre_trab_ocup CHAR(1),
padre_trab_otro CHAR(1),
padre_trab_tarea VARCHAR(255),
madre_trab_hace CHAR(1),
madre_trab_ocup CHAR(1),
madre_trab_otro CHAR(1),
madre_trab_tarea VARCHAR(255),
alu_cos_est_ap_fam CHAR(1),
alu_cos_est_trab CHAR(1),
alu_cos_est_beca CHAR(1),
alu_cos_est_plsoc CHAR(1),
alu_cos_est_otra CHAR(1),
alu_cos_est_espec VARCHAR(255),
alu_beca_muni CHAR(1),
alu_beca_otra CHAR(1),
alu_beca_prov CHAR(1),
alu_beca_tipo_eco CHAR(1),
alu_beca_tipo_ser CHAR(1),
alu_beca_tipo_inv CHAR(1),
alu_beca_eco_tran CHAR(1),
alu_beca_eco_come CHAR(1),
alu_beca_eco_foto CHAR(1),
alu_beca_eco_efec CHAR(1),
alu_beca_eco_habi CHAR(1),
alu_otestsup_uni VARCHAR(255),
alu_otestsup_tipo CHAR(1),
alu_otestsup_area VARCHAR(255),
alu_otestsup_carr VARCHAR(255),
alu_otestsup_esta CHAR(1),
alu_otestsup_razon_abandono INTEGER,
alu_otestsup_razon_abandono_otros VARCHAR(200),
alu_otestsup_egre INTEGER,
alu_otestsup_niv CHAR(1),
alu_tec_pc_casa CHAR(1),
alu_tec_pc_trab CHAR(1),
alu_tec_pc_univ CHAR(1),
alu_tec_pc_otro CHAR(1),
alu_tec_int_movil CHAR(1),
alu_tec_int_casa CHAR(1),
alu_tec_int_trab CHAR(1),
alu_tec_int_univ CHAR(1),
alu_tec_int_otro CHAR(1),
alu_idioma_ingl CHAR(1),
alu_idioma_fran CHAR(1),
alu_idioma_port CHAR(1),
alu_idioma_ital CHAR(1),
alu_idioma_alem CHAR(1),
alu_idioma_chino CHAR(1),
alu_idioma_otro VARCHAR(20),
alu_idioma_otro_nivel CHAR(1),
sec_egreso CHAR(1),
o_est_ter_estado CHAR(1),
o_est_uni_estado CHAR(1),
sit_actual_padre CHAR(1),
sit_actual_madre CHAR(1),
tit_obt_padre VARCHAR(60),
tit_obt_madre VARCHAR(60),
cant_fami_cargo INTEGER,
cant_empl_cargo INTEGER,
barrio_per_lec VARCHAR(60),
barrio_proc VARCHAR(60),
barrio_alleg VARCHAR(60),
pais_nacionalidad INTEGER,
existe_trab_alum INTEGER,
cant_hijos_alum INTEGER,
vive_actual_con INTEGER,
obra_social_alu CHAR(1),
obra_social_trab CHAR(1),
obra_social_fami CHAR(1),
obra_social_univ CHAR(1),
costea_estudios INTEGER,
tiene_beca CHAR(1),
tiene_beca_univ CHAR(1),
tiene_beca_nacio CHAR(1),
tiene_beca_inter CHAR(1),
remuneracion CHAR(1),
hora_sem_trab_alum INTEGER,
practica_deportes CHAR(1),
hace_dep_univ CHAR(1),
hace_dep_gim_priv CHAR(1),
hace_dep_partic CHAR(1),
hace_dep_otros CHAR(1),
prac_dep_futbol CHAR(1),
prac_dep_basquet CHAR(1),
prac_dep_voley CHAR(1),
prac_dep_gimnasia CHAR(1),
prac_dep_tenis CHAR(1),
prac_dep_natacion CHAR(1),
prac_dep_handball CHAR(1),
prac_dep_otros CHAR(1),
padre_vive CHAR(1),
madre_vive CHAR(1),
vive_con_conyuge INTEGER,
vive_con_padre INTEGER,
vive_con_madre INTEGER,
vive_con_hijos INTEGER,
vive_con_hermanos INTEGER,
celular_numero VARCHAR(18),
celular_compania VARCHAR(5),
estado_civil INTEGER,
e_mail VARCHAR(100),
tipo_visa VARCHAR(20),
otorgamiento_visa DATE,
vencimiento_visa DATE,
tipo_residencia CHAR(1),
tipo_res_per_lect INTEGER,
calle_per_lect VARCHAR(50),
numero_per_lect VARCHAR(10),
piso_per_lect VARCHAR(3),
dpto_per_lect VARCHAR(5),
unidad_per_lect VARCHAR(3),
loc_per_lect INTEGER,
cp_per_lect VARCHAR(15),
te_per_lect VARCHAR(18),
calle_proc VARCHAR(50),
numero_proc VARCHAR(10),
piso_proc VARCHAR(3),
dpto_proc VARCHAR(5),
unidad_proc VARCHAR(3),
loc_proc INTEGER,
cp_proc VARCHAR(15),
te_proc VARCHAR(18),
otros_estud_super VARCHAR(60),
fliares_cargo_alum VARCHAR(60),
sit_laboral_alu INTEGER,
categ_ocup_alum INTEGER,
act_econom_alum INTEGER,
det_rama_act_alum VARCHAR(60),
rel_trab_propuesta INTEGER,
sit_laboral_padre INTEGER,
ult_est_cur_padre INTEGER,
act_econom_padre INTEGER,
det_rama_act_padre VARCHAR(60),
categ_ocup_padre INTEGER,
sit_laboral_madre INTEGER,
ult_est_cur_madre INTEGER,
act_econom_madre INTEGER,
det_rama_act_madre VARCHAR(60),
categ_ocup_madre INTEGER,
apellido_pers_alleg VARCHAR(60),
nombre_pers_alleg VARCHAR(60),
tipo_allegado CHAR(1),
calle_pers_alleg VARCHAR(50),
nro_pers_alleg VARCHAR(10),
piso_pers_alleg VARCHAR(3),
dpto_pers_alleg VARCHAR(5),
unidad_pers_alleg VARCHAR(3),
loc_pers_alleg INTEGER,
cp_pers_alleg VARCHAR(15),
te_pers_alleg VARCHAR(18),
residencia CHAR(1),
fecha_respre_otorg DATE,
fecha_respre_venc DATE,
-- Pueblos originacios
pertenece_pueblo_originario CHAR(1),
pueblo_originario INTEGER,
pueblo_originario_otro VARCHAR(100),
-- Inscripto en otra Institución
insc_otra_inst CHAR(1),
insc_otra_inst_descr VARCHAR(100),
-- Cómo conocío la institución
como_conocio_institucion VARCHAR(255),
-- Orientación vocacional
orientacion_recibida INTEGER,
-- Motivos de elección de la Institución
mot_inst_econom CHAR(1),
mot_inst_prestigio CHAR(1),
mot_inst_difusion CHAR(1),
mot_inst_rec_estud CHAR(1),
mot_inst_rec_amigos CHAR(1),
mot_inst_sist_ing CHAR(1),
mot_inst_ubicacion CHAR(1),
mot_inst_otros CHAR(1),
-- Motivos de elección de Propuesta
mot_prop_vocacion CHAR(1),
mot_prop_sug_fam CHAR(1),
mot_prop_rec_social CHAR(1),
mot_prop_ins_lab CHAR(1),
mot_prop_perf_prof CHAR(1),
mot_prop_mejora_ec CHAR(1),
mot_prop_util_soc CHAR(1),
mot_prop_otros CHAR(1),
-- Es celíaco
es_celiaco CHAR(1),
-- Discapacidad
condicion_discapacidad Char(1) NOT NULL DEFAULT 'N',
tiene_cud Char(1) DEFAULT 'N',
disc_auditiva Char(1) DEFAULT 'N',
aud_tipo Smallint DEFAULT 1,
aud_lenguaje_senias Char(1) DEFAULT 'N',
aud_lenguaje_labial Char(1) DEFAULT 'N',
aud_comunicacion_otra Text,
aud_apoyo_vida_diaria Text,
aud_req_interprete_lengua_senias Char(1) DEFAULT 'N',
aud_req_aro_magnetico Char(1) DEFAULT 'N',
aud_req_otros_apoyos Char(1) DEFAULT 'N',
aud_otros_apoyos Text,
disc_visual Char(1) DEFAULT 'N',
vis_dificultad_para_ver Smallint DEFAULT 1,
vis_apoyo_vida_diaria Text,
vis_req_archivo_audio Char(1) DEFAULT 'N',
vis_req_texto_digital Char(1) DEFAULT 'N',
vis_req_texto_braile Char(1) DEFAULT 'N',
vis_req_otros_apoyos Char(1) DEFAULT 'N',
vis_otros_apoyos Text,
disc_motora Char(1) DEFAULT 'N',
mot_apoyo_vida_diaria Text,
mot_req_apoyo_aula Char(1) DEFAULT 'N',
mot_apoyo_aula Text,
mot_req_otros_apoyos Char(1) DEFAULT 'N',
mot_otros_apoyos Text,
disc_cond_psicosocial Char(1) DEFAULT 'N',
psi_descripcion Text,
psi_apoyo_vida_diaria Text,
psi_req_otros_apoyos Char(1) DEFAULT 'N',
psi_otros_apoyos Text,
disc_otra Char(1) DEFAULT 'N',
otra_descripcion Text,
otra_req_apoyo_vida_diaria Char(1) DEFAULT 'N',
otra_apoyo_vida_diaria Text,
informacion_importante Text,
-- Adeuda materias
adeuda_materias CHAR(1),
estado CHAR(1) NOT NULL -- P = Pendiente de activacion
-- A = Activado. La persona respondió el mail enviado
-- C = Comprobante impreso. Preparado para ingresarlo en Guarani
-- I = Inscripto en Gestión
);
ALTER TABLE sga_preinscripcion ADD CONSTRAINT pk_sga_preinscripcion PRIMARY KEY (id_preinscripcion);
---- Valores por defecto para campos "booleanos" -------------------------------
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_est_civil_uh SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_trab_desjub SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_trab_fami SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN remuneracion SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN practica_deportes SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN hace_dep_gim_priv SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN hace_dep_univ SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN hace_dep_partic SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN hace_dep_otros SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_futbol SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_basquet SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_voley SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_gimnasia SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_tenis SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_natacion SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_handball SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN prac_dep_otros SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_cos_est_ap_fam SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_cos_est_plsoc SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_cos_est_trab SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_cos_est_beca SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_cos_est_otra SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN tiene_beca SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN tiene_beca_univ SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN tiene_beca_inter SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN tiene_beca_nacio SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_prov SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_muni SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_otra SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_tipo_eco SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_tipo_ser SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_tipo_inv SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_eco_tran SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_eco_efec SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_eco_foto SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_eco_habi SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_beca_eco_come SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_pc_casa SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_pc_trab SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_pc_univ SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_pc_otro SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_int_casa SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_int_trab SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_int_univ SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_int_movil SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN alu_tec_int_otro SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN insc_otra_inst SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_econom SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_prestigio SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_difusion SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_rec_estud SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_rec_amigos SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_sist_ing SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_ubicacion SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_inst_otros SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_vocacion SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_sug_fam SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_rec_social SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_ins_lab SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_perf_prof SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_mejora_ec SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_util_soc SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN mot_prop_otros SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN adeuda_materias SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN insc_otra_inst SET DEFAULT 'N';
ALTER TABLE sga_preinscripcion ALTER COLUMN es_celiaco SET DEFAULT 'N';

30
BD/sql/tablas/sga_preinscripcion_propuestas.sql

@ -0,0 +1,30 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0, 3.13.0
-- Tabla: sga_preinscripcion_propuestas
--
-- Propuestas en las que se ha preinscripto un aspirante
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
--DROP SEQUENCE sga_preinscripcion_propuestas_seq;
CREATE SEQUENCE sga_preinscripcion_propuestas_seq START 1;
-- DROP TABLE sga_preinscripcion_propuestas;
CREATE TABLE sga_preinscripcion_propuestas
(
preinscripcion_propuesta INTEGER NOT NULL DEFAULT nextval('sga_preinscripcion_propuestas_seq'::text) ,
id_preinscripcion INTEGER NOT NULL,
responsable_academica INTEGER NOT NULL,
propuesta INTEGER NOT NULL,
ubicacion INTEGER NOT NULL,
modalidad CHAR(1) NOT NULL DEFAULT 'P',
periodo_insc INTEGER NOT NULL,
fecha_preinscripcion TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
fecha_fin_vigencia DATE NOT NULL,
estado CHAR(1) NOT NULL DEFAULT 'P', -- P: Pendiente de inscripción, I: Inscripto en Gestión, C: Copiado al modelo de Gestión, S: Solicitud de informacion al aspirante
atiende INTEGER,
observaciones TEXT
);
ALTER TABLE sga_preinscripcion_propuestas ADD CONSTRAINT pk_sga_preinscripcion_propuestas PRIMARY KEY (preinscripcion_propuesta);

18
BD/sql/tablas/sga_propuestas_tipos.sql

@ -0,0 +1,18 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.7.0
-- Tabla: sga_propuestas_tipos
--
-- Tipos de propuestas formativas
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP TABLE IF EXISTS sga_propuestas_tipos;
CREATE TABLE sga_propuestas_tipos
(
propuesta_tipo INTEGER NOT NULL,
descripcion VARCHAR(100) NOT NULL
);
-- ALTER TABLE sga_propuestas_tipos DROP CONSTRAINT pk_sga_propuestas_tipos;
ALTER TABLE sga_propuestas_tipos ADD CONSTRAINT pk_sga_propuestas_tipos PRIMARY KEY (propuesta_tipo);

28
BD/sql/tablas/sga_requisitos_digitales.sql

@ -0,0 +1,28 @@
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- SIU - PREINSCRIPCIÓN
-- Versión de creación / revisión: 3.8.0
-- Tabla: sga_requisitos_digitales
--
-- Requisitos digitales presentados por un aspirante
-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- DROP SEQUENCE sga_requisitos_digitales_seq;
CREATE SEQUENCE sga_requisitos_digitales_seq START 1;
-- DROP TABLE IF EXISTS sga_requisitos_digitales;
CREATE TABLE sga_requisitos_digitales
(
requisito_digital INTEGER NOT NULL DEFAULT nextval('sga_requisitos_digitales_seq'::text) ,
id_preinscripcion INTEGER NOT NULL,
requisito INTEGER NOT NULL,
id_documento TEXT NOT NULL,
estado CHAR(1) DEFAULT 'P' NOT NULL -- P: Pendiente de validación | A: Aceptado en G3 | R: Rechazado en G3
);
-- ALTER TABLE sga_requisitos_digitales DROP CONSTRAINT pk_sga_requisitos_digitales;
ALTER TABLE sga_requisitos_digitales ADD CONSTRAINT pk_sga_requisitos_digitales PRIMARY KEY (requisito_digital);
Revoke all ON sga_requisitos_digitales FROM public;
-- ++++++++++++++++++++++++++ Fin tabla sga_requisitos_digitales +++++++++++++++++++++++++++++

10
bin/preinscripcion

@ -0,0 +1,10 @@
#!/bin/sh
#
# Disparo la consola!!!
#
dir_actual=`pwd`
cd `dirname $0`
g3w2_dir=`pwd`
cd $dir_actual
php $g3w2_dir/../src/siu/util/consola/run.php $*

3
bin/preinscripcion.bat

@ -0,0 +1,3 @@
@echo off
set g3w2_dir=%~dp0..
php "%g3w2_dir%\src\siu\util\consola\run.php" %*

BIN
bin/yuicompressor-2.4.2.jar

Binary file not shown.

81
composer.json

@ -0,0 +1,81 @@
{
"name": "siu/guarani-preinscripcion",
"description": "Modulo de Preinscripcion a Propuestas",
"version": "3.22.0",
"type": "project",
"homepage": "http://documentacion.siu.edu.ar/wiki/SIU-Guarani",
"license": "proprietary",
"support": {
"forum": "http://foro.comunidad.siu.edu.ar",
"wiki": "http://documentacion.siu.edu.ar/wiki/SIU-Guarani",
"source": "https://colab.siu.edu.ar/svn/guarani3"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/SIU-Toba/djjob"
},
{
"type": "composer",
"url": "https://satis.siu.edu.ar"
}
],
"require": {
"php": "7.4.*",
"siu/chulupi-framework": "2.6.*",
"ext-curl": "*",
"ext-mbstring": "*",
"ext-pdo_pgsql": "*",
"lib-openssl": "*",
"ext-apcu": "*",
"ext-gd": "*",
"composer-plugin-api": "^2.0"
},
"suggest": {
"robmorgan/phinx": "Migrations para la DB (instalar tag 0.10.8)"
},
"require-dev": {
},
"scripts": {
"post-update-cmd": "siu\\Install::postUpdate",
"post-install-cmd": "siu\\Install::postUpdate"
},
"autoload": {
"exclude-from-classmap": ["/src/siu/www/_comp/_img_alumnos/"],
"psr-4": {
"siu\\": "src/siu/"
}
},
"minimum-stability": "dev",
"prefer-stable": true,
"extra": {
"merge-plugin": {
"include": [
"src/pers/composer.json"
],
"recurse": true,
"replace": false,
"ignore-duplicates": false,
"merge-dev": true,
"merge-extra": false,
"merge-extra-deep": false,
"merge-scripts": false
}
},
"config": {
"discard-changes": true,
"allow-plugins": {
"wikimedia/composer-merge-plugin": true
}
}
}

2361
composer.lock generated

File diff suppressed because it is too large Load Diff

102
db/migrations/20200819191727_es_mayor25_sin_secundario.php

@ -0,0 +1,102 @@
<?php
use Phinx\Migration\AbstractMigration;
class EsMayor25SinSecundario extends AbstractMigration
{
/**
* @see https://phinx.readthedocs.io/en/latest/migrations.html#the-up-method
* Migrate Up (Aplica cambios en la DB).
*/
public function up()
{
// También se puede ejecutar desde un archivo .sql
//$sql = file_get_contents(realpath(dirname(__FILE__).'/../../BD/conversion/mig_3.11_a_3.12.sql'));
//$this->execute($sql);
$this->execute("INSERT INTO app_versiones_base (version_base, fecha_actualizacion, observaciones) VALUES ('3.12', CURRENT_TIMESTAMP, 'Versión 3.12 de la base de Preinscripción')");
$sga_preinscripcion = $this->table('sga_preinscripcion');
// Si no existe la columna 'es_mayor_25_sin_secundario' en la tabla 'sga_preinscripcion'
if (!$sga_preinscripcion->hasColumn('es_mayor_25_sin_secundario')) {
/**
* @see https://phinx.readthedocs.io/en/latest/migrations.html#adding-a-column-after-another-column
* Se agrega la columna 'es_mayor_25_sin_secundario' en la tabla 'sga_preinscripcion'.
*/
$sga_preinscripcion->addColumn('es_mayor_25_sin_secundario', 'char', ['length' => 1, 'null' => false, 'default' => 'N','after' => 'estado']);
$sga_preinscripcion->update();
// También se puede agregar de esta forma
//$this->execute("ALTER TABLE sga_preinscripcion ADD COLUMN es_mayor_25_sin_secundario Char(1) NOT NULL DEFAULT 'N'");
// Se agrega la CONSTRAINT
$this->execute("ALTER TABLE sga_preinscripcion ADD CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario CHECK (es_mayor_25_sin_secundario IN ('N', 'S'))");
/**
* Se insertan datos en las tablas 'sga_campos_form' y 'sga_campos_conf'
* @see https://phinx.readthedocs.io/en/latest/migrations.html#inserting-data.
*/
$row = [
'columna' => 'es_mayor_25_sin_secundario',
'descripcion' => 'Es mayor de 25 años y no tiene estudios secundarios'
];
$sga_campos_form = $this->table('sga_campos_form');
$sga_campos_form->insert($row);
$sga_campos_form->saveData();
$row = [
'propuesta_tipo' => '200',
'columna' => 'es_mayor_25_sin_secundario',
'visible' => 1,
'obligatorio' => 1,
'se_imprime' => 1
];
$sga_campos_conf = $this->table('sga_campos_conf');
$sga_campos_conf->insert($row);
$sga_campos_conf->saveData();
// También se pueden insertan datos de esta forma
//$this->execute("INSERT INTO sga_campos_form (columna, descripcion) VALUES ('es_mayor_25_sin_secundario', 'Es mayor de 25 años y no tiene estudios secundarios')");
//$this->execute("INSERT INTO sga_campos_conf (propuesta_tipo, columna, visible, obligatorio, se_imprime) VALUES ('200', 'es_mayor_25_sin_secundario', 1, 1, 1)");
}
}
/**
* @see https://phinx.readthedocs.io/en/latest/migrations.html#the-down-method
* Migrate Down (Revierte cambios en la DB).
*/
public function down()
{
$this->execute("DELETE FROM app_versiones_base WHERE version_base = '3.12'");
$sga_preinscripcion = $this->table('sga_preinscripcion');
// Si existe la columna 'es_mayor_25_sin_secundario' en la tabla 'sga_preinscripcion'
if ($sga_preinscripcion->hasColumn('es_mayor_25_sin_secundario')) {
$this->execute("DELETE FROM sga_campos_conf WHERE columna = 'es_mayor_25_sin_secundario'");
$this->execute("DELETE FROM sga_campos_form WHERE columna = 'es_mayor_25_sin_secundario'");
// Se borra la CONSTRAINT
$this->execute("ALTER TABLE sga_preinscripcion DROP CONSTRAINT ck_sga_preinscripcion_es_mayor_25_sin_secundario");
/**
* @see https://phinx.readthedocs.io/en/latest/migrations.html#dropping-a-column
* Se borra la columna 'es_mayor_25_sin_secundario' de la tabla 'sga_preinscripcion'.
*/
$sga_preinscripcion->removeColumn('es_mayor_25_sin_secundario')->save();
// También se puede borrar de esta forma
//$this->execute("ALTER TABLE sga_preinscripcion DROP COLUMN es_mayor_25_sin_secundario");
}
}
}

89
instalacion/alias_template.conf

@ -0,0 +1,89 @@
# En esta plantilla se muestra cómo definir los puntos de acceso del sistema
# SIU-Preinscripción.
# A partir de este template, crear el archivo alias.conf en esta misma carpeta.
# Ese archivo debe ser incluido en la configuración de Apache. Ejemplo:
# Include "/path/a/preinscripcion/instalacion/alias.conf"
# Si bien los alias apuntan al mismo directorio, para cada punto de acceso
# se define una variable de servidor "ACC_ID" que identifica el punto de acceso,
# además del perfil funcional asociado (alumno / admin).
# ------------------------------------------------------------------------------
# Si se desea utilizar una misma instalación de Preinscripción como front-end de
# varias bases (por ejemplo, una por unidad académica), replicar todas las
# configuraciones mostradas a continuación, utilizando distintos alias y definiendo
# el bloque de configuración correspondiente en la sección 'accesos' del config.php
# Ejemplo:
# * Alias /preinscripcion/ua2 "/path/a/preinscripcion/src/siu/www/"
# * Alias /preinscripcion_admin/ua2 "/path/a/preinscripcion/src/siu/www/"
# ...
# ------------------------------------------------------------------------------
# Alias del punto de acceso de ALUMNOS del punto de acceso [pto_acc]
# Ejemplo: /preinscripcion/ingenieria
# Reemplazarlo según corresponda
Alias /preinscripcion/[pto_acc] "/path/a/preinscripcion/src/siu/www/"
# Alias del punto de acceso ADMINISTRADOR del punto de acceso [pto_acc]
# Ejemplo: /preinscripcion_admin/ingenieria
# Reemplazarlo según corresponda
Alias /preinscripcion_admin/[pto_acc] "/path/a/preinscripcion/src/siu/www/"
# Configuración del directorio navegable
<Directory "/path/a/preinscripcion/src/siu/www/">
Options FollowSymLinks
DirectoryIndex index.php
<IfModule !mod_authz_core.c>
Order allow,deny
Allow from all
</IfModule>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
include /path/a/preinscripcion/instalacion/rewrite.conf
</Directory>
#### CONFIGURACION DE ACCESO [pto_acc]
<Location /preinscripcion/[pto_acc]>
# --------------------------------------------------------------------------
# PUNTO DE ACCESO: alumnos de la instalación del punto de acceso [pto_acc]
# --------------------------------------------------------------------------
# Nombre o ID del Punto de Acceso. No utilizar espacios.
# Si se definen varios puntos de acceso, no debe repetirse este valor
SetEnv ID_PTO_ACCESO [id_pto_acc]
# Setea el perfil funcional de quienes acceden por este punto de acceso.
# NO MODIFICAR ESTE VALOR
SetEnv PERFIL alumno
# se setea de esta manera para que esta variable sea accesible desde mod_rewrite
# ATENCIÓN: el alias debe empezar con '/'
SetEnvIf always_match ^ ACC_ALIAS=/preinscripcion/[pto_acc]
</Location>
<Location /preinscripcion_admin/[pto_acc]>
# --------------------------------------------------------------------------
# PUNTO DE ACCESO: admin del punto de acceso [pto_acc]
# --------------------------------------------------------------------------
# Nombre o ID del Punto de Acceso. No utilizar espacios.
# Si se definen puntos de acceso, tener cuidado de no repetir este valor
# Debe corresponderse con el ID_PTO_ACCESO del perfil 'alumno' que administra este panel de admin.
SetEnv ID_PTO_ACCESO [id_pto_acc]
# Setea el perfil funcional de quienes acceden por este punto de acceso.
# NO MODIFICAR ESTE VALOR
SetEnv PERFIL admin
# se setea de esta manera para que esta variable sea accesible desde mod_rewrite
# ATENCIÓN: el alias debe empezar con '/'
SetEnvIf always_match ^ ACC_ALIAS=/preinscripcion_admin/[pto_acc]
# Si se desea restringir las IP desde las cuales acceder al panel de
# administración, hacerlo aquí.
</Location>
#### FIN CONFIGURACION DE ACCESO [pto_acc]

3
instalacion/arai_documentos_template.ini

@ -0,0 +1,3 @@
host_arai = "<BASE-URI-ARAI-DOCUMENTOS-API>"
usr_arai = "<USER-ARAI-DOCUMENTOS-API>"
pass_arai = "<PASS-ARAI-DOCUMENTOS-API>"

470
instalacion/config_template.php

@ -0,0 +1,470 @@
<?php
use Monolog\Logger;
use SIU\Chulupi\util\log\log;
use SIU\Chulupi\util\mail;
use PHPMailer\PHPMailer\SMTP;
return [
'global' => [
/**
* Indica si el sistema está o no en un entorno de producción
* - Valores posibles: true|false
*/
'produccion' => false,
/**
* Indica si el sistema utiliza personalizaciones. Se debe complementar indicando
* el ID de personalización en la configuración de los puntos de acceso.
* - Valores posibles: true|false
*/
'usar_personalizaciones' => false,
/**
* Path al directorio donde se guardarán los attachments de los mensajes.
* En esta carpeta apache debe tener permisos de escritura.
* - Valores posibles: string (un path)
*/
'dir_attachment' => '/tmp',
/**
* Máximo tiempo de inactividad (en minutos). Vencido el mismo,
* se pedirá identificarse nuevamente
* - Valores posibles: números enteros
*/
'sesion_timeout' => 30,
/**
* Máxima duración de la sesión (en minutos)
* - Valores posibles: números enteros
*/
'sesion_maxtime' => 120,
/**
* Sufijo del archivo de idioma, donde se definen todos los mensajes y
* etiquetas del sistema. En la carpeta src/siu/mensajes debe existir
* un archivo llamado "mensajes.<locale>.php".
* El archivo por defecto entregado por el SIU es "mensajes.es.php"
*/
'locale' => 'es',
/**
* En algunos lugares de la aplicación se encriptan cadenas con sha1.
* Se utiliza este SALT para hacer la encriptación de las claves de los
* alumnos preinscriptos. Cambiar este valor no reviste inconvenientes.
* - Valores posibles: string
*/
'salt' => '9bf057558b90263987bd8f99caf2e92f7efc1a13',
/**
* Valor de SALT usado para cifrar las claves default de la sección de
* administración (usuarios administradores).
*
*/
'salt_admin' => '9bf057558b90263987bd8f99caf2e92f7efc1a13',
/**
* Configuracion Google Analytics
*
*/
'google_analytics' =>
[
'activo' => true,
'account' => 'UA-xxx-y'
],
/**
* Configuración de logging. Si no se especifica este bloque no se usa
* el log (es lo mismo que setear activo en false).
*/
'log' => [
/**
* Indica si el log está activo o no
* - Valores posibles: true|false
*/
'activo' => true,
/**
* Niveles de log:
* - 'log::NIVEL_DEBUG' -> Recomendado en Desarrollo
* - 'log::NIVEL_INFO' -> Solo muestra información de tiempo y memoria consumida
* - 'log::NIVEL_ERROR' -> Recomendado en Producción
*/
'nivel' => log::NIVEL_DEBUG,
/**
* Nivel mínimo de log para consola (CLI):
* - 'Logger::DEBUG' -> Recomendado en Desarrollo
* - 'Logger::INFO'
* - 'Logger::NOTICE'
* - 'Logger::WARNING'
* - 'Logger::ERROR' -> Recomendado en Producción
* - 'Logger::CRITICAL'
* - 'Logger::ALERT'
* - 'Logger::EMERGENCY'
*/
'nivel_consola' => Logger::DEBUG,
/**
* Nivel mínimo de log para Web:
* - 'Logger::DEBUG' -> Recomendado en Desarrollo
* - 'Logger::INFO'
* - 'Logger::NOTICE'
* - 'Logger::WARNING'
* - 'Logger::ERROR' -> Recomendado en Producción
* - 'Logger::CRITICAL'
* - 'Logger::ALERT'
* - 'Logger::EMERGENCY'
*/
'nivel_web' => Logger::DEBUG,
'barra_dev' => true,
],
/**
* URL de la de ayuda para identidad de genero
* - Ejemplo: https://drive.google.com/file/d/1WFW6s9CAZro2mtOs1JIkBX0la6fzJP_o/view
*/
'url_identidad_genero' => 'https://drive.google.com/file/d/1WFW6s9CAZro2mtOs1JIkBX0la6fzJP_o/view',
/**
* E-mail de ayuda para contactarse con la Universidad.
* - Ejemplo: uunn@edu.ar
*/
'email_ayuda' => '',
//--------------------------------------------------------------------------
//---- Configuración de captcha --------------------------------------------
//--------------------------------------------------------------------------
/**
* Configuración de captchas (se usa recaptcha). Si no se especifica este
* bloque no se usa captcha (es lo mismo que setear activo en false)
*/
'captcha' => [
/**
* Indica si se activan los captchas a través de toda la aplicación
* - Valores posibles: true|false
*/
'activo' => true,
/**
* Cantidad de intentos fallidos permitidos antes
* de exigir que se complete un captcha en el login
*/
'intentos_login' => 2,
/**
* Configuración de reCAPTCHA 2
* Para obtener el par de API keys ('site_key' y 'secret_key')
* ir a https://www.google.com/recaptcha/admin
*
* Los provistos en este ejemplo fueron generados para la URL http://localhost
*/
'site_key' => '6LeA9yEUAAAAAL804tNWD5g2IfN6hca7s3a-KzbD',
'secret_key' => '6LeA9yEUAAAAAKYf2iTtWq5t3moHOG4Bwk8TX3Pv',
/**
* Son las opciones de Guzzle (http://docs.guzzlephp.org/en/stable/request-options.html)
*/
'opciones' => [
//'proxy' => 'tcp://localhost:8125',
//'verify' => false,
]
],
/**
* Configuración de Proxy (por defecto desactivado)
*/
'proxy' => [
'activo' => false,
'proxy_host' => 'proxy.xxxxxxxxx',
'proxy_port' => 8080,
'proxy_username' => 'PROXY-USERNAME',
'proxy_password' => 'PROXY-PASSWORD'
],
/**
* Configuración de proxypass de Apache
*/
//'server_name' => '192.168.126.180',
//--------------------------------------------------------------------------
//---- Servidor de correo --------------------------------------------------
//--------------------------------------------------------------------------
/**
* Se provee un ejemplo de configuración del correo usando el servidor de GMail
*/
'smtp' => [
'from' => 'preinscripcion@gmail.com',
'from_name' => 'SIU-Preinscripción',
'host' => 'smtp.gmail.com',
'seguridad' => mail::SSL,
'auth' => true,
'port' => 465,
'reply_to' => 'preinscripcion@gmail.com',
/**
* Debug output level.
* Options:
* * SMTP::DEBUG_OFF (`0`) No debug output, default
* * SMTP::DEBUG_CLIENT (`1`) Client commands
* * SMTP::DEBUG_SERVER (`2`) Client commands and server responses
* * SMTP::DEBUG_CONNECTION (`3`) As DEBUG_SERVER plus connection status
* * SMTP::DEBUG_LOWLEVEL (`4`) Low-level data output, all messages.
*/
'smtp_debug' => SMTP::DEBUG_OFF,
/**
* RECOMENDADO
* Si se usa OAUTH2 se debe configurar lo siguiente
* Obtener los tokens de aquí: https://github.com/PHPMailer/PHPMailer/wiki/Using-Gmail-with-XOAUTH2
*/
'auth_type' => mail::AUTH_TYPE_XOAUTH2,
'oauth2_email' => 'preinscripcion@gmail.com',
'oauth2_client_id' => 'RANDOMCHARS-----duv1n2.apps.googleusercontent.com',
'oauth2_client_secret' => 'RANDOMCHARS-----lGyjPcRtvP',
'oauth2_refresh_token' => 'RANDOMCHARS-----DWxgOvPT003r-yFUV49TQYag7_Aod7y0',
/**
* NO RECOMENDADO: Se debe dar "Acceso de apps menos seguras" en Gmail
* Si se usa autenticación simple configurar 'usuario' y 'clave'
*/
//'auth_type' => mail::AUTH_TYPE_USER_PASS,
//'usuario' => 'preinscripcion@gmail.com',
//'clave' => '**********',
// Decidir si se verifican los certificados en una conexión SSL
// Ver: https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure
/*
'ssl' => [
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
]
*/
],
//--------------------------------------------------------------------------
//---- Configuración de Repositorio Digital Integrado (RDI) ----------------
//--------------------------------------------------------------------------
/**
* Configuración de Repositorio Digital Integrado (RDI).
* Para utilizarlo, es necesario tener establecido el parámetro de Guarani
* "usa_repositorio_digital" en "S: Se almacenan los documentos en el repositorio digital"
*/
'rdi' => [
'config' => [
'proyecto' => 'preinscripcion',
'repositorio' => 'url_repositorio', // Ejemplo: 'http://192.168.125.1:8081/nuxeo/atom/cmis',
'usuario' => '****',
'clave' => '****',
'conector' => 'CMIS_ATOM',
],
],
//--------------------------------------------------------------------------
//---- Configuración del logo de página ------------------------------------
//--------------------------------------------------------------------------
/**
* Nombre del archivo del logo de página, relativa a la carpeta www/img/
* del proyecto o de la carpeta de la personalización activa
*/
'logo_pagina' => 'logo-transparente.png',
//--------------------------------------------------------------------------
//---- Configuración de SSL, la cual define si la aplicación es accedida ---
//---- vía el protocolo HTTP o HTTPS. --------------------------------------
//--------------------------------------------------------------------------
/**
* + alcance: valores posibles 'all' | 'none'
* - 'all': la aplicación es accedida vía el protocolo HTTPS
* - 'none': se accede vía el protocolo HTTP, esta ultima es la opción por defecto. Los
* + redirigir_ssl: indica si se debe redirigir en el caso que se haya accedido con el protocolo incorrecto.
* - valores posibles: 'true' | 'false'
*/
'ssl' => [
'alcance' => 'none',
'redirigir_ssl' => true,
],
/*
*
*tiempo definido para la confirmación del alta de preinscripción (en horas):
*/
'tiempo_confirmacion_alta_preinscripcion' => 24,
//--------------------------------------------------------------------------
//---- Configuración de puntos de acceso -----------------------------------
//--------------------------------------------------------------------------
'accesos' => [
'[id_pto_acc]' => [
/**
* Id de la personalización que se va a utilizar.
* Representa el nombre de carpeta dentro de src/pers.
* Si se deja en NULL no se utiliza ninguna personalización.
*/
'personalizacion' => NULL,
/**
* Información de conexión de la base de datos
*/
'database' => [
'vendor' => 'pgsql',
'dbname' => 'nombre_base_preinscripcion',
'host' => 'host_base_preinscripcion',
'port' => 'puerto_base_preinscripcion',
'pdo_user' => 'usuario_base_preinscripcion',
'pdo_passwd' => 'password_base_preinscripcion',
],
/**
* Forma de obtener información de Guaraní
* - Valores posibles: 'consultas_bd'
*/
'modo_consultas_g3' => 'consultas_bd',
/**
* Si el parámetro 'modo_consultas_g3' está definido como 'consultas_bd',
* aquí se configura la información de conexión de la base de datos de Guaraní
*/
'database_guarani' => [
'vendor' => 'pgsql',
'dbname' => 'nombre_base_gestion',
'schema' => 'schema_base_gestion',
'host' => 'host_base_gestion',
'port' => 'puerto_base_gestion',
'pdo_user' => 'usuario_base_gestion',
'pdo_passwd' => 'password_base_gestion',
],
//------------------------------------------------------------------
//-- Parámetros sistema --------------------------------------------
//--
//-- Desde versión 3.5.0 estos parámetros se incluyen dentro de este
//-- bloque, para permitir mayor flexibilidad de configuración en
//-- instalaciones que manejan varios puntos de acceso
//------------------------------------------------------------------
/**
* Longitud mínima de la clave de usuario
* - Valores permitidos: números enteros
*/
'clave_long_minima' => 6,
/**
* Formatea uniformemente los campos de texto que ingresa el usuario en el sistema
* - Valores posibles:
* + 'libre' : Se deja la entrada tal cual como la ingresa el usuario
* + 'mayusculas' : Se formatea todo en mayúsculas
* + 'capitalizar' : Se deja la primera letra de cada palabra en mayúsculas y el resto en minúsculas.
*/
'formateo_campos' => 'libre',
/**
* Determina si el aspirante debe elegir un turno para la presentación de documentación
* - Valores posibles: true | false
*/
'carga_turno_presentacion' => false,
/**
* Forma de generación de comprobante para presentar en la Institución
* - Valores posibles:
* + ra: un comprobante por cada Responsable Académica
* + propuesta: un comprobante por cada Propuesta elegida
* + unico: un sólo comprobante por aspirante
*/
'modo_impresion_comprobante' => 'ra',
//------------------------------------------------------------------
//---- Parámetros del reporte (comprobante del alumno) -------------
//------------------------------------------------------------------
/**
* Nombre de la institución que se mostrará en el encabezado de página
*/
'rep_nombre_institucion' => 'INSTITUCIÓN SIU',
/**
* Determina si se imprime el período de inscripción (ID) junto con las propuestas elegidas
* - 1: Se imprime
* - 0: No se imprime
*/
'rep_imprime_periodo_insc' => '0',
/**
* Determina si se imprime tabla para completar resultado de CBC
* - 1: Se imprime
* - 0: No se imprime
*/
'rep_imprime_CBC' => '0',
/**
* Determina si se imprime credencial provisoria
* - 1: Se imprime
* - 0: No se imprime
*/
'rep_imprime_credencial_provisoria' => '0',
/**
* URL del logo que se imprime en el encabezado de página, relativa a
* la carpeta www/img/ del proyecto.
* IMPORTANTE: el logo debe estar en formato PNG y sin canal alfa
* Si se elimina o comenta esta entrada, no se imprime logo.
*/
'rep_encabezado_logo' => 'logo2.png',
/**
* Si se desea imprimir el nombre de localidad junto con la fecha, a la altura
* de la firma, consignarla aquí. Si no se desea, dejar un string vacío ('')
*
* Ejemplo de salida (asumiendo fecha actual: 15/11/2012):
* - Completando este valor: Buenos Aires, 15/11/2012
* - Si no se ingresa valor: 15/11/2012
*/
'rep_localidad' => 'Buenos Aires',
/**
* Arreglo para poner los ítems que se quieran imprimir como avisos en
* la impresión.
* Aparecerán en forma de lista numerada, respetando el orden de definición.
* Se proveen valores de ejemplo.
*/
'rep_avisos' => [
'La presente tiene carácter de <b>DECLARACIÓN JURADA</b>, la cual deberá ser completada personalmente por el firmante.',
//'-- Completar aquí avisos que serán listados en el comprobante --',
//'-- Cada línea de este arreglo aparecerá como un ítem de una lista numerada --',
],
/**
* Datos de ayuda al alumno
* - email de contacto
* - telefono de contacto
* - url de 3w
* - portal de ayuda
*/
'datos_ayuda' => [ 'datos_ayuda_email' => '0',
'datos_ayuda_telefono' => '0',
'datos_ayuda_url_3w' => '0',
'datos_ayuda_url_ayuda' => '0',
]
],
],
/*
*
*tiempo definido para la confirmación del alta de preinscripción (en horas):
*/
'tiempo_confirmacion_alta_preinscripcion' => 24,
/**
* Tiempo de expiración del código validación para recuperar contraseña (sga_preinscripcion.codigo_validacion)
* Debe ser un interval de PostgreSQL (ver: https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-interval/)
* - Ejemplos: '30 minutes', '1 hour', '2 hours', '1 day', '3 days', '1 month'
*/
'ttl_codigo_validacion' => '1 day',
],
];

90
instalacion/login_template.php

@ -0,0 +1,90 @@
<?php
return [
'form' => [
'activo' => (!empty($_SERVER['PERFIL'])) && ($_SERVER['PERFIL'] == 'alumno'),
'clase' => 'modelo\\autenticacion\\auth_form',
'parametros' => [
'clase_login' => "extension_kernel\\login"
]
],
'form_documento' => [
'activo' => (!empty($_SERVER['PERFIL'])) && ($_SERVER['PERFIL'] == 'alumno'),
'clase' => 'modelo\\autenticacion\\auth_form_documento',
'parametros' => [
'clase_login' => "extension_kernel\\login"
]
],
'admin' => [
'activo' => (!empty($_SERVER['PERFIL'])) && ($_SERVER['PERFIL'] == 'admin'),
'clase' => 'modelo\\autenticacion\\auth_admin',
'parametros' => [
'clase_login' => "extension_kernel\\login_admin"
]
],
'token' => [
'activo' => (!empty($_SERVER['PERFIL'])) && ($_SERVER['PERFIL'] == 'alumno'),
'clase' => 'modelo\\autenticacion\\auth_token',
'parametros' => [],
],
'cuentas_ext' => [
/**
* Si desea habilitarse alguno de los servicios de login con servicios externos,
* primero se debe establecer la siguiente directiva en true
*/
'activo' => false,
'clase' => 'modelo\\autenticacion\\auth_cuenta_ext',
'parametros' => [
'clase_login' => "extension_kernel\\login",
'proveedores' => [
'google' => [
/**
* Para habilitar el login mediante Google:
* + establecer 'activo' => true,
* + crear un proyecto en https://console.developers.google.com/
* + habilitar la Google+ API y obtener los valores de ID y secreto de cliente para completar aquí.
* + En la sección URIs de redireccionamiento completar http://<url_preinscripcion_completa>/acceso/index?auth=cuentas_ext&f=google
*/
'activo' => false,
'tipo' => 'oauth2',
'icono' => 'img/login/google.jpg',
'app_key' => 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.apps.googleusercontent.com',
'app_secret' => 'xxxxxxxxxxxxxxxxxxxxxxx',
'scope' => 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email',
'auth_url' => 'https://accounts.google.com/o/oauth2/auth',
'acc_url' => 'https://accounts.google.com/o/oauth2/token',
'id_url' => 'https://www.googleapis.com/oauth2/v1/userinfo',
'id_path' => 'id', //de que campo saca el id
'email_path' => 'email', //de que campo saca el mail
],
'facebook' => [
/**
* Para habilitar el login mediante Facebook, establecer 'activo' => true
* y generar valores para app_key y app_secret como se explica en
* https://repositorio.siu.edu.ar/trac/Portal-G3/wiki/G2/Preinscripcion/2.9.0/DocTecnica/Instalacion/ConfigFacebook
*/
'activo' => false,
'tipo' => 'oauth2',
'icono' => 'img/login/facebook.jpg',
'app_key' => 'xxxxxxxxxxxxxxx',
'app_secret' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
'scope' => 'email',
'auth_url' => 'https://www.facebook.com/dialog/oauth',
'acc_url' => 'https://graph.facebook.com/oauth/access_token',
'id_url' => 'https://graph.facebook.com/me',
'id_path' => 'id',
'email_path' => 'email',
],
],
],
],
];

22
instalacion/rewrite.conf

@ -0,0 +1,22 @@
RewriteEngine On
RewriteCond %{ENV:ACC_ALIAS} ^(.*)$
RewriteRule .* - [E=ALIAS:%1,NE]
# punto de entrada de la aplicación
RewriteCond %{REQUEST_URI} .*/index\.php [OR]
# ignoramos el acceso a recursos a través de rs.php
RewriteCond %{REQUEST_URI} .*/rs\.php.* [OR]
RewriteCond %{REQUEST_URI} .*/clearapc\.php.* [OR]
RewriteCond %{REQUEST_URI} .*/favicon\.ico [OR]
# ignoramos el acceso a recursos en las carpetas js, css e img
RewriteCond %{REQUEST_URI} .*/(js|css|img|temp|_comp).*
RewriteRule (.*) - [L,NS]
# las expresiones a matchear pueden o no empezar con una / dependiendo de si vienen
# a través de un alias o un vhost (estos vienen con una barra adelante). Por eso el ^/?
# http://www.regular-expressions.info/reference.html
RewriteRule ^/?(.+?)/(.+?)/(.+)/?$ %{ENV:ALIAS}/index.php?__o=$1&__a=$2&__p=$3 [L,NS,QSA]
RewriteRule ^/?(.+?)/(.+?)/?$ %{ENV:ALIAS}/index.php?__o=$1&__a=$2 [L,NS,QSA]
RewriteRule ^/?(.*?)/?$ %{ENV:ALIAS}/index.php?__o=$1 [L,NS,QSA]

22
instalacion/servicios_web_config_template.php

@ -0,0 +1,22 @@
<?php
return [
'consumidos' => [
'arai_usuarios' => [
'tipo' => 'rest',
'parametros' => [
'base_uri' => '<BASE-URI-ARAI-USUARIOS-API>',
'auth' => ['<USER-ARAI-USUARIOS-API>', '<PASS-ARAI-USUARIOS-API>', '<AUTH-TYPE-ARAI-USUARIOS-API>']
]
],
'renaper' => [
'tipo' => 'rest',
'parametros' => [
'base_uri' => '<BASE-URI-RENAPER-API>',//EJEMPLO: https://URL_RENAPER.gob.ar/
'url_header' => '<URL-HEADER-RENAPER-API>',//EJEMPLO: URL-Method/personData
'apiKey_personData' => '<API-KEY-RENAPER>',//EJEMPLO: 12345678-1234-4321-1234-9s8e6g57h3f4
]
],
]
];

29
phinx.php

@ -0,0 +1,29 @@
<?php
use SIU\Chulupi\kernel;
use siu\bootstrap;
use siu\preinscripcion;
// Ver: https://phinx.readthedocs.io/en/latest/configuration.html
require_once(realpath(dirname(__FILE__).'/src/siu/bootstrap.php'));
$_SERVER['PERFIL'] = 'consola';
bootstrap::cargar(true);
$acceso = current(kernel::proyecto()->get_accesos_bd());
return
[
'paths' => [
'migrations' => '%%PHINX_CONFIG_DIR%%/db/migrations',
'seeds' => '%%PHINX_CONFIG_DIR%%/db/seeds'
],
'environments' => [
'default_database' => 'development',
'development' => [
'name' => $acceso['dbname'],
'connection' => preinscripcion::admin()->get_db()->get_pdo()
]
],
'version_order' => 'creation'
];

4
src/pers/composer.json

@ -0,0 +1,4 @@
{
"require": {
}
}

35
src/pers/ejemplo/mensajes/mensajes.es.php

@ -0,0 +1,35 @@
<?php
return array (
//--------------------------------------------------------------------------
//---- PERFIL: Administración ----------------------------------------------
//--------------------------------------------------------------------------
'administracion' => 'Administración :: PERSONALIZADO',
//--------------------------------------------------------------------------
//---- PERFIL: Alumno ------------------------------------------------------
//--------------------------------------------------------------------------
'nombre_sistema' => 'SIU-Preinscripción :: PERSONALIZADO',
//-------------------------------------------------------------------------
//---- Personalización de etiquetas de campos de formulario en reporte ----
//-------------------------------------------------------------------------
/**
* Si se desea que la etiqueta de un campo de formulario se vea distinto en
* el PDF respecto a la etiqueta que se muestra en pantalla, agregar aquí
* entradas respetando la siguiente convención:
*
* 'pdf_<nombre_campo_original>' => '<Nueva etiqueta>',
*
* Ej: Si se quiere que para la etiqueta 'nro_documento' se imprima
* 'Nro. documento' en lugar de 'Número de documento' como está definida
* para la salida en pantalla, agregar una entrada:
*
* 'pdf_nro_documento' => 'Nro. documento',
*
*/
'pdf_nro_documento' => 'Nro. documento',
);

107
src/pers/ejemplo/modelo/manejador_datos.php

@ -0,0 +1,107 @@
<?php
namespace ejemplo\modelo;
use siu\modelo\manejador_datos as manejador_datos_base;
class manejador_datos extends manejador_datos_base
{
/**
* SE EJEMPLIFICA EN ESTA CLASE CÓMO PROCEDER ANTE LA NECESIDAD DE RECOLECTAR
* DATOS EXTRA EN LOS FORMULARIOS DE PREINSCRIPCIÓN.
*
* No se muestra aquí cómo agregar los campos en los formularios y pagelets.
* Sólo cómo darles tratamiento a nivel de persistencia.
*
* Parte del supuesto de haber creado una tabla anexa con los campos propios.
* Sugerimos prefijar las tablas propias con el código de institución (de no
* conoverlo solicitarlo al SIU; en el ejemplo: Uxyz_ )
*
CREATE TABLE Uxyz_sga_preinscripcion
(
id_preinscripcion Integer,
campo1 VARCHAR(20),
campo2 VARCHAR(20)
);
ALTER TABLE Uxyz_sga_preinscripcion ADD CONSTRAINT pk_Uxyz_sga_preinscripcion PRIMARY KEY (id_preinscripcion);
*
* El campo 'id_preinscripcion' será una Foreign Key al campo homónimo en
* la tabla principal (sga_preinscripcion).
*
ALTER TABLE Uxyz_sga_preinscripcion
ADD CONSTRAINT fk__Uxyz_sga_preinscripcion__sga_preinscripcion FOREIGN KEY (id_preinscripcion)
REFERENCES sga_preinscripcion (id_preinscripcion) on update restrict on delete restrict;
*
* Sugerimos definir un trigger que inserte un registro en la tabla anexa
* al momento de dar de alta un registro en la tabla principal (sga_preinscripcion).
* De esa manera, nos garantizamos trabajar siempre en modo UPDATE.
*
CREATE OR REPLACE FUNCTION ftia_Uxyz_sga_preinscripcion () RETURNS trigger AS
$BODY$
BEGIN
-- Inserta en la tabla del IPAP
INSERT INTO Uxyz_sga_preinscripcion(id_preinscripcion) VALUES (NEW.id_preinscripcion);
RETURN NEW;
END;
$BODY$
LANGUAGE 'plpgsql';
CREATE TRIGGER tia_Uxyz_sga_preinscripcion
AFTER INSERT ON sga_preinscripcion
FOR EACH ROW EXECUTE PROCEDURE ftia_Uxyz_sga_preinscripcion();
*
*/
function get_datos_formularios_preinsc()
{
$this->datos_formulario = parent::get_datos_formularios_preinsc();
/**
* Se obtienen los datos propios almacenados en la tabla anexa y se
* efectúa un merge con los datos por defecto.
*
$id_preinscripcion = kernel::db()->quote($this->get_id_preinscripcion());
$sql = "SELECT campo1,
campo2
FROM Uxyz_sga_preinscripcion
WHERE id_preinscripcion = $id_preinscripcion";
$datos_propios = kernel::db()->consultar_fila($sql);
$this->datos_formulario = array_merge($this->datos_formulario, $datos_propios);
*
*/
return $this->datos_formulario;
}
function set_datos_preinscripcion($datos)
{
/**
*
// Completar este arreglo con los campos agregados en la tabla anexa
$campos_propios = array('campo1', 'campo2');
// Se guardan en el arreglo $datos_propios los datos que persisten en la tabla anexa,
// ya que luego serán filtrados por el método "filtrar_datos_preinscripcion"
// ( al invocar parent::set_datos_preinscripcion($datos); )
$datos_propios = array();
foreach ($campos_propios as $campo) {
if (isset($datos[$campo])) {
$datos_propios[$campo] = $datos[$campo];
unset($datos[$campo]);
}
}
if (!empty($datos_propios)) {
// Se procede a realizar el UPDATE sobre la tabla anexa con los datos propios
$clave = array('id_preinscripcion' => $this->get_id_preinscripcion());
abm::modificacion('Uxyz__sga_preinsincripcion', $datos_propios, $clave);
}
*
*/
// Se setean los datos por defecto del SIU
parent::set_datos_preinscripcion($datos);
}
}
?>

169
src/pers/ejemplo/operaciones/_comun/generador_pdf.php

@ -0,0 +1,169 @@
<?php
namespace ejemplo\operaciones\_comun;
use SIU\Chulupi\kernel;
use siu\operaciones\_comun\generador_pdf as generador_pdf_base;
use siu\preinscripcion;
class generador_pdf extends generador_pdf_base
{
/**
* Como ejemplo de personalización:
* + Se eliminan del reporte (se deja comentado):
* - CBC
* - Avisos
* - Fecha y firma
* - Credencial provisoria
* + Se cambia el orden de la sección "Datos de estudios": se imprime luego de "Datos personales"
*/
function __construct()
{
$this->pdf = kernel::localizador()->instanciar('operaciones\\_comun\\preinscripcion_PDF', 'A4');
$this->modo_comprobante = kernel::proyecto()->modo_impresion_comprobante();
if ($this->modo_comprobante == preinscripcion::modo_comp_PROPUESTA) {
$propuestas = $this->obtener_propuestas();
$this->cant_comprobantes = count($propuestas);
} elseif ($this->modo_comprobante == preinscripcion::modo_comp_RA) {
$propuestas = $this->obtener_propuestas_por_ra();
$this->cant_comprobantes = count($propuestas);
} else {
$propuestas = $this->obtener_propuestas();
$this->cant_comprobantes = 1;
}
$this->inicializar_pagina();
for ($i = 0; $i < $this->cant_comprobantes; $i++) {
if ($i > 0) {
// Se genera una nueva página
$this->pdf->ezNewPage();
}
$this->encabezado();
if ($this->modo_comprobante == preinscripcion::modo_comp_PROPUESTA) {
// Un comprobante por propuesta
$datos = array();
$datos[] = $propuestas[$i];
$this->propuestas($datos);
} elseif ($this->modo_comprobante == preinscripcion::modo_comp_RA) {
// Un comprobante por RA
$this->propuestas($propuestas[$i]);
} else {
// Un comprobante por aspirante
$this->propuestas($propuestas);
}
// if (kernel::proyecto()->get_parametro('rep_imprime_CBC')) {
// $this->CBC();
// }
$this->datos_seccion('datos_principales');
$this->datos_seccion('datos_personales');
$this->datos_seccion('financiamiento');
$this->datos_seccion('datos_laborales');
$this->datos_seccion('datos_familiares');
$this->datos_seccion('datos_estudios');
$this->datos_seccion('tecnologia');
$this->datos_seccion('deportes');
$this->datos_seccion('idiomas');
// $this->avisos();
// $this->fecha_y_firma();
// if (kernel::proyecto()->get_parametro('rep_imprime_credencial_provisoria')) {
// $this->credencial_provisoria();
// }
}
}
//--------------------------------------------------------------------------
/**
* Datos que se imprimen:
* + Código de preinscripción
* + Fecha última modificiación
* + Apellido y nombre
* + Espacio para completar nro. LU
* + Espacio para foto
*
* - Se elimina código QR (se deja comentado)
*/
protected function encabezado()
{
// Datos básicos de la ficha
$codigo_preinsc = kernel::persona()->datos()->get_codigo_preinscripcion();
$this->pos_y = $this->puntos_cm(26.5);
$texto = kernel::traductor()->trans('rep_ficha_nro') . $codigo_preinsc;
$texto = $this->bold($texto);
$this->pdf->ezSetY($this->pos_y);
$new_y = $this->pdf->ezText($texto, 11);
// Se calcula el Delta Y para futuros posicionamientos
$this->delta_y = $new_y - $this->pos_y;
$this->pos_y = $new_y;
$texto = kernel::traductor()->trans('rep_fecha_ult_modif') . kernel::persona()->datos()->get_campo_comprobante('fecha_ult_modif');
$texto = $this->bold($texto);
$this->pdf->ezSetY($this->pos_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
$apellido = kernel::persona()->datos()->get_campo_comprobante('apellido');
if (strlen($apellido) < 20) {
$texto = $this->bold(kernel::traductor()->trans('apellido') . ': ') . kernel::persona()->datos()->get_campo_comprobante('apellido');
$this->pdf->ezSetY($this->pos_y + $this->delta_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
} else {
// Apellido largo: en dos líneas
$texto = kernel::traductor()->trans('apellido') . ': ';
$texto = $this->bold($texto);
$this->pdf->ezSetY($this->pos_y + $this->delta_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
$texto = kernel::persona()->datos()->get_campo_comprobante('apellido');
$this->pos_y = $this->pdf->ezText($texto, 10);
}
$nombres = kernel::persona()->datos()->get_campo_comprobante('nombres');
if (strlen($nombres) < 20) {
$texto = $this->bold(kernel::traductor()->trans('nombres') . ': ') . kernel::persona()->datos()->get_campo_comprobante('nombres');
$this->pdf->ezSetY($this->pos_y + $this->delta_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
} else {
// Nombre largo: en dos líneas
$texto = kernel::traductor()->trans('nombres') . ': ';
$texto = $this->bold($texto);
$this->pdf->ezSetY($this->pos_y + $this->delta_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
$texto = kernel::persona()->datos()->get_campo_comprobante('nombres');
$this->pos_y = $this->pdf->ezText($texto, 10);
}
$texto = kernel::traductor()->trans('rep_nro_lu') . '..........................';
$texto = $this->bold($texto);
$this->pdf->ezSetY($this->pos_y + $this->delta_y);
$this->pos_y = $this->pdf->ezText($texto, 11);
$texto = kernel::traductor()->trans('rep_nro_lu_leyenda');
$this->pos_y = $this->pdf->ezText($texto, 7);
// // Código QR
// $outfile_QR = preinscripcion::dir_temp() . '/qr' . kernel::persona()->datos()->get_id_preinscripcion() . '.png';
// \QRcode::png($codigo_preinsc, $outfile_QR, 'QR_ECLEVEL_H', 5, 0);
// $this->pdf->addPngFromFile($outfile_QR, $this->puntos_cm(11.6), $this->puntos_cm(23), 100);
// unlink($outfile_QR);
// Espacio para la foto
$this->pdf->rectangle($this->puntos_cm(15.5), $this->puntos_cm(23), $this->puntos_cm($this->dim_cuadro_foto), $this->puntos_cm($this->dim_cuadro_foto));
// Línea separadora
$this->pos_y += 1.5 * $this->delta_y;
$this->linea($this->pos_y);
$this->pos_y += 0.5 * $this->delta_y;
}
}
?>

63
src/pers/ejemplo/operaciones/_comun/templates/header.twig

@ -0,0 +1,63 @@
<div class="brand-nav">
<div class="container-fluid">
<div class="row-fluid">
<div class="span9">
{% if persona.logueada %}
<div class="row-fluid">
<br/>
<div class="span12">
<div class="navbar user-navbar clearfix">
<ul class="nav pull-left">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-user"></i> {{ persona.email }} <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href='{{ persona.url_logout }}'><i class="icon-off"></i> {{ 'header.cerrar_sesion'|trans }}</a></li>
</ul>
</li>
</ul>
</div>
<div style="padding-left: 10px;">
<strong>{{persona.nombre}}</strong>
</div>
</div>
</div>
{% endif %}
</div>
<div class="span3">
<a class="brand" href="{{url_inicio}}"><img src="{{ url_img_logo }}" /></a>
</div>
</div>
</div>
</div>
{% if menu %}
<div class="navbar main-nav">
<div class="navbar-inner">
<div class="container-fluid">
<div role="navigation">
<ul id='js-nav' class='nav'>
{% for item in menu %}
{% if item.tiene_submenu %}
<li class='dropdown js-menuitem-root {{ item.seleccionado ? 'menu-item-seleccionado' : '' }}'>
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ item.nombre|trans }} <b class="caret"></b></a>
<ul class='dropdown-menu'>
{% for subitem in item.submenu %}
<li id='menu_{{ subitem.id }}'><a href='{{ subitem.url }}'>{{ subitem.nombre|trans }}</a></li>
{% endfor %}
</ul>
</li>
{% else %}
<li id='menu_{{ item.id }}' class='js-menuitem-root {{ item.seleccionado ? 'menu-item-seleccionado' : '' }}'>
<a href='{{ item.url }}'>{{ item.nombre|trans }}</a>
</li>
{% endif %}
{% endfor %}
</ul>
</div><!--/.nav-collapse -->
</div><!-- container-fluid -->
</div><!-- navbar-inner -->
</div><!-- navbar -->
{% endif %}

11
src/pers/ejemplo/operaciones/censo/idiomas/default.css

@ -0,0 +1,11 @@
#idiomas .well {
background-color: wheat;
}
#idiomas select {
width: 540px;
}
#idiomas .margen-idiomas {
padding-left: 70px;
}

46
src/pers/ejemplo/operaciones/censo/idiomas/default.twig

@ -0,0 +1,46 @@
{% extends "kernel/pagelet.twig" %}
{% block contenido %}
{% set form = this.get_form() %}
{% autoescape false %}
{{ form.encabezado }}
<div class='controls controls-row form-head clearfix'>
<div class='borde-inferior'>
<div class='pull-left'>
<h2>{{this.get_nombre()|trans}}</h2>
</div>
<div class='pull-right'>
{{ form.submit_button('guardar', 'guardar_datos_personales')}}
</div>
<div class='clearfix'></div>
</div>
</div>
{%if form.hay_visibles_agrupado('conoc_idiomas') %}
<div class='well clearfix'>
<h3 class='toggle-header' onclick="toggle('conoc_idiomas')">{{'conoc_idiomas'|trans}}</h3>
<div class='margen-idiomas'>
<div id='conoc_idiomas' class='toggle-div'>
<div class='clearfix cg-margen'>
{{ form.control_group('alu_idioma_ingl') }}
{{ form.control_group('alu_idioma_alem') }}
{{ form.control_group('alu_idioma_fran') }}
{{ form.control_group('alu_idioma_ital') }}
{{ form.control_group('alu_idioma_port') }}
{{ form.control_group('alu_idioma_otro') }}
</div>
</div>
</div>
</div>
{% endif %}
<div class='controls controls-row form-head clearfix'>
<div class='borde-superior'>
<div class='pull-right'>
{{ form.submit_button('guardar', 'guardar_datos_personales')}}
</div>
</div>
</div>
</form>
{% endautoescape %}
{% endblock %}

81
src/pers/ejemplo/operaciones/censo/idiomas/form_idiomas.php

@ -0,0 +1,81 @@
<?php
namespace ejemplo\operaciones\censo\idiomas;
use SIU\Chulupi\kernel;
use SIU\Chulupi\util\form;
use SIU\Chulupi\util\validador;
use siu\modelo\opciones;
use siu\operaciones\_comun\preinscripcion_form;
class form_idiomas extends preinscripcion_form
{
function get_id_html()
{
return 'form_idiomas';
}
function get_action()
{
return kernel::vinculador()->crear('censo', 'guardar', array('idiomas'));
}
protected function generar_definicion()
{
$this->set_campo('alu_idioma_ingl', array(
form::label => 'alu_idioma_ingl',
form::obligatorio => false,
form::filtro => validador::TIPO_TEXTO,
form::filtro_params => array('allowempty' => true),
form::elemento => array('tipo' => 'select'),
form::multi_options => opciones::get_niveles_idiomas()
));
$this->set_campo('alu_idioma_alem', array(
form::label => 'alu_idioma_alem',
form::obligatorio => false,
form::filtro => validador::TIPO_TEXTO,
form::filtro_params => array('allowempty' => true),
form::elemento => array('tipo' => 'select'),
form::multi_options => opciones::get_niveles_idiomas()
));
$this->set_campo('alu_idioma_fran', array(
form::label => 'alu_idioma_fran',
form::obligatorio => false,
form::filtro => validador::TIPO_TEXTO,
form::filtro_params => array('allowempty' => true),
form::elemento => array('tipo' => 'select'),
form::multi_options => opciones::get_niveles_idiomas()
));
$this->set_campo('alu_idioma_ital', array(
form::label => 'alu_idioma_ital',
form::obligatorio => false,
form::filtro => validador::TIPO_TEXTO,
form::filtro_params => array('allowempty' => true),
form::elemento => array('tipo' => 'select'),
form::multi_options => opciones::get_niveles_idiomas()
));
$this->set_campo('alu_idioma_port', array(
form::label => 'alu_idioma_port',
form::obligatorio => false,
form::filtro => validador::TIPO_TEXTO,
form::filtro_params => array('allowempty' => true),
form::elemento => array('tipo' => 'select'),
form::multi_options => opciones::get_niveles_idiomas()
));
$this->set_campo('alu_idioma_otro', array(
form::label => 'alu_idioma_otro',
form::filtro => validador::TIPO_TEXTO,
form::obligatorio => false,
form::elemento => array('tipo' => 'text'),
form::largo => 20,
form::clase_css => 'input-xxlarge'
));
}
}
?>

28
src/pers/ejemplo/www/css/preinscripcion.css

@ -0,0 +1,28 @@
/**
* Se personaliza el color de los títulos (exceptuando h3, que se utiliza como
* título de un agrupado dentro de una sección).
*/
h1, h2, h4, h5, h6 {
color: #6495ED;
}
/**
* Se personaliza color de fondo de la cabecera.
*/
.brand-nav {
background-color: #E9E9FA;
}
/**
* Se personaliza el color de la clase well, que define los agrupados.
*/
.well {
background-color: #E9E9FA;
}
/**
* Se personaliza el estilo del label obligatorio para que se vea en cursiva.
*/
.label-obligatorio {
font-style: italic;
}

BIN
src/pers/ejemplo/www/img/favicon.ico

Binary file not shown.

After

Width:  |  Height:  |  Size: 596 B

BIN
src/pers/ejemplo/www/img/logo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

35
src/siu/Install.php

@ -0,0 +1,35 @@
<?php
namespace siu;
use Composer\Script\Event;
use SIU\Chulupi\util\ManejadorArchivos;
use SIU\Chulupi\Scripts\Composer;
class Install
{
public static function postUpdate(Event $event)
{
$vendorDir = $event->getComposer()->getConfig()->get('vendor-dir');
$chulupiJs = $vendorDir . '/siu/chulupi-framework/js';
if (!is_dir($chulupiJs)) {
return;
}
$dst = __DIR__ . '/www/js/lib';
ManejadorArchivos::borrar_directorio($dst);
ManejadorArchivos::copiar_directorio($chulupiJs, $dst);
//Agrega fuentes en la carpeta 'fonts' de la librería ezpdf
$fontsToAdd = $vendorDir . '/siu/chulupi-framework/fonts';
$fontsEzpdf = $vendorDir . '/rebuy/ezpdf/src/ezpdf/fonts';
ManejadorArchivos::copiar_directorio($fontsToAdd, $fontsEzpdf);
Composer::fixBugContinue($vendorDir);
Composer::fixBugConstructors($vendorDir);
Composer::fixCountTwig($vendorDir);
Composer::fixArrayKeyExistsObjetos($vendorDir);
Composer::fixDeprecationExcel($vendorDir);
Composer::fixWarningRDI($vendorDir);
}
}

492
src/siu/bootstrap.php

@ -0,0 +1,492 @@
<?php
namespace siu;
include __DIR__."/../../vendor/autoload.php";
include 'func_util.php';
use SIU\Chulupi\kernel;
use SIU\Chulupi\util\u as util;
use SIU\Chulupi\util\config;
use SIU\Chulupi\util\UniversalClassLoader;
use SIU\Chulupi\util\cache\AdminCache;
use Monolog\Logger;
/**
* Configura el KERNEL
*/
class bootstrap
{
static protected $instancia;
protected $config;
protected $bloque_acceso;
protected $perfil;
protected $acceso_consola;
static function cargar($consola = false, $perfil = false)
{
if (!isset(self::$instancia)) {
self::$instancia = new bootstrap();
}
self::$instancia->_cargar($consola, $perfil);
}
static function registrar_autoload()
{
if (!isset(self::$instancia)) {
self::$instancia = new bootstrap();
}
self::$instancia->configurar_autoloader(true);
}
private function __construct()
{
}
private function _cargar($consola, $perfil)
{
$this->acceso_consola = $consola;
$this->perfil = $perfil;
$this->cargar_config();
$this->configurar_autoloader();
$this->configurar_localizador();
// @todo la carga del proyecto no es necesario si el request es de tipo "carga de recurso web".
$this->cargar_proyecto();
}
//--------------------------------------------------------------------------
static function get_dir_raiz()
{
return \realpath(static::get_dir_siu() . '/../..');
}
static function get_dir_instalacion()
{
return static::get_dir_raiz() . '/instalacion';
}
static function get_dir_siu()
{
return dirname(__FILE__);
}
//--------------------------------------------------------------------------
// 1) Cargar Configuracion
//--------------------------------------------------------------------------
/**
* @todo cache
*/
private function cargar_config()
{
$this->config = $this->cargar_config_archivo();
if (!$this->acceso_consola) {
$this->bloque_acceso = $this->config['accesos'][$this->get_id_pto_acceso()];
}
$this->cargar_login_config();
}
private function cargar_login_config()
{
$path = static::get_dir_instalacion() . '/login.php';
if(!file_exists($path)){
throw new \Exception("No se encuetra el archivo '$path', es obligatorio.");
}
$this->login_config = array();
$config = config::load($path);
foreach ($config as $service => $conf) {
$this->login_config[$service] = $conf;
}
}
private function cargar_config_archivo()
{
$path = static::get_dir_instalacion() . '/config.php';
if (!file_exists($path)) {
echo("No se definió el archivo 'instalacion/config.php'. Puede hacerlo a partir del archivo de configuación de ejemplo 'instalacion/config_template.php'");
die();
}
$config = \SIU\Chulupi\util\config::load($path);
if(!isset($config['global'])) {
throw new \Exception('Error en la configuración, falta bloque \'global\'');
}
if (!isset($config['global']['accesos'])) {
throw new \Exception("Error en la configuración, falta bloque 'accesos' dentro del bloque 'global'");
}
$id_pto_acceso = $this->get_id_pto_acceso();
if ((!$this->acceso_consola) && (!isset($config['global']['accesos'][$id_pto_acceso]))) {
throw new \Exception("Error en la configuración, falta bloque '$id_pto_acceso' dentro del bloque 'global::accesos'");
}
return $config['global'];
}
private function test_errores_configuracion()
{
$this->test_error_config_global_activo('google_analytics', 'account');
}
/**
* Testea que si existe un parametro activo en true en la entrada de configuración
* testea que todos los parámetros en la lista de $obligatorios estén seteados.
* Si existe la entrada pero no tiene el parametro activo se pone en false
*/
private function test_error_config_global_activo($entrada, $obligatorios)
{
if (! is_array($obligatorios)) {
$obligatorios = array($obligatorios);
}
if (isset($this->config[$entrada])) {
if (! isset($this->config[$entrada]['activo'])) {
$this->config[$entrada]['activo'] = false;
return;
}
if (isset($this->config[$entrada]['activo']) && $this->config[$entrada]['activo'] == true) {
foreach ($obligatorios as $obligatorio) {
if (! isset($this->config[$entrada][$obligatorio]) || empty($this->config[$entrada][$obligatorio])) {
$error = "Error en configuración (instalacion/config.php). La entrada '$entrada' se encuentra activa pero no se incluye el parametro '$obligatorio'";
echo $error;
die();
}
}
}
}
}
/**
* Recupera el perfil asociado al bloque de acceso
* @return string
*/
private function get_perfil()
{
if ($this->acceso_consola) {
return $this->perfil;
}
if (isset($_SERVER['PERFIL'])) {
return $_SERVER['PERFIL'];
}
return null;
}
/**
* Recupera el perfil asociado al bloque de acceso
* @return string
*/
private function get_id_pto_acceso()
{
if (isset($_SERVER['ID_PTO_ACCESO'])) {
return $_SERVER['ID_PTO_ACCESO'];
}
return null;
}
/**
* Genera el ACC_ID concatenando el perfil y el ID de pto. de acceso
*
* @return string
*/
private function get_acc_id()
{
if ($this->acceso_consola) {
return 'consola';
}
if ((isset($_SERVER['PERFIL'])) && (isset($_SERVER['ID_PTO_ACCESO']))) {
return $_SERVER['PERFIL'] . '_' . $_SERVER['ID_PTO_ACCESO'];
}
return null;
}
/**
* Obtiene todos los accesos de las BD configuradas
* @return array
*/
private function get_accesos_bd()
{
$accesos = array();
foreach ($this->config['accesos'] as $acceso) {
if (!in_array($acceso['database'], $accesos)) {
$accesos[] = $acceso['database'];
}
}
return $accesos;
}
private function get_alias()
{
if ($this->acceso_consola) {
return 'SHELL';
}
if (isset($_SERVER['ACC_ALIAS'])) {
return $_SERVER['ACC_ALIAS'];
}
return null;
}
//--------------------------------------------------------------------------
// 2) Autoload y Localizador
//--------------------------------------------------------------------------
private function configurar_autoloader($delay_pers = false)
{
$loader = new UniversalClassLoader();
util::agregar_dir_include_path(static::get_dir_raiz().'/vendor/siu/chulupi-framework');
if (!$delay_pers && $this->existe_pers()) {
$this->registrar_namespaces_pers($loader);
}
$loader->register();
require_once(realpath(static::get_dir_raiz() . '/vendor/siu/rdi/RDILib/RDIAutoload.php'));
require_once(realpath(static::get_dir_raiz() . '/vendor/siu/rdi/RDILib/RDICliente.php'));
require_once(realpath(static::get_dir_raiz() . '/vendor/siu/rdi/RDILib/RDIServicios.php'));
}
private function existe_pers()
{
return $this->config['usar_personalizaciones'] && isset($this->bloque_acceso['personalizacion']);
}
private function get_pers()
{
if (!$this->existe_pers()) {
throw new \Exception('No hay una personalizacion definida');
}
$pers = $this->bloque_acceso['personalizacion'];
if (is_string($pers)) {
$pers = array($pers);
}
return $pers;
}
private function get_pers_activa()
{
if (!$this->existe_pers()) {
throw new \Exception('No hay una personalizacion definida');
}
$pers = $this->bloque_acceso['personalizacion'];
return $pers;
}
private function registrar_namespaces_pers($loader)
{
$pers = $this->get_pers();
$dir_pers = static::get_dir_raiz() . '/src/pers';
foreach ($pers as $plugin) {
$loader->registerNamespace($plugin, $dir_pers);
}
}
private function configurar_localizador()
{
$dir = static::get_dir_raiz() . '/src';
kernel::localizador()->nuevo_namespace('siu', $dir, 'original');
if ($this->existe_pers()) {
$this->config_pers_localizador();
}
}
private function config_pers_localizador()
{
$pers = $this->get_pers();
$dir_pers = static::get_dir_raiz() . '/src/pers';
foreach ($pers as $plugin) {
kernel::localizador()->nuevo_namespace($plugin, $dir_pers);
}
}
//--------------------------------------------------------------------------
// 3) Proyecto y eventos del kernel
//--------------------------------------------------------------------------
private function cargar_proyecto()
{
$ini_file = static::get_dir_raiz() . '/version.ini';
$datos_version = parse_ini_file($ini_file);
// VALORES por DEFECTO
if (!isset($this->config['intentos_login_captcha'])) {
$this->config['intentos_login_captcha'] = 3;
}
$produccion = $this->config['produccion'];
$perfil = $this->get_perfil();
$acc_id = $this->get_acc_id();
$dir_log = static::get_dir_instalacion() . '/log/' . $acc_id;
$dir_cache = static::get_dir_instalacion() . '/cache/' . $acc_id;
$dir_temp = (isset($this->config['dir_temp'])) ? $this->config['dir_temp'] : static::get_dir_instalacion() . '/temp/' . $acc_id;
$dir_attachment = (isset($this->config['dir_attachment'])) ? $this->config['dir_attachment'] : $dir_temp;
$dir_www_temp = static::get_dir_siu() . '/www/temp';
$clase_persona = "extension_kernel\\persona";
$clase_persona_anonima = "extension_kernel\\persona_anonima";
$clase_login = "extension_kernel\\login";
$clase_pagina = "extension_kernel\\pagina";
$clase_login_admin = "extension_kernel\\login_admin";
$url_recursos = (isset($this->config['url_recursos'])) ? $this->config['url_recursos'] : $this->get_alias() . '/_comp';
$ssl_alcance = (isset($this->config['ssl']['alcance'])) ? $this->config['ssl']['alcance'] : 'none';
$ssl_redirigir_ssl = (isset($this->config['ssl']['redirigir_ssl'])) ? $this->config['ssl']['redirigir_ssl'] : true;
$memcached = (isset($this->config['memcached'])) ? $this->config['memcached'] : null;
$smtp = (isset($this->config['smtp'])) ? $this->config['smtp'] : null;
$locale = (isset($this->config['locale'])) ? $this->config['locale'] : 'es';
$login_externo = (isset($this->config['login_externo'])) ? $this->config['login_externo'] : null;
$login_config = (isset($this->login_config)) ? $this->login_config : array();
$usa_captcha = (isset($this->config['captcha']['activo']) && $this->config['captcha']['activo'] === true);
$intentos_login_captcha = ($usa_captcha) ? $this->config['captcha']['intentos_login'] : 0;
$site_key_captcha = ($usa_captcha) ? $this->config['captcha']['site_key'] : 0;
$secret_key_captcha = ($usa_captcha) ? $this->config['captcha']['secret_key'] : 0;
$opciones_captcha = ($usa_captcha && isset($this->config['captcha']['opciones'])) ? $this->config['captcha']['opciones'] : [];
$salt = ($this->config['salt']) ? $this->config['salt'] : 'no_salt';
$salt_admin = ($this->config['salt_admin']) ? $this->config['salt_admin'] : 'no_salt_admin';
$ga_params = (isset($this->config['google_analytics'])) ? $this->config['google_analytics'] : array('activo' => false);
$usa_proxy = (isset($this->config['proxy']['activo']) && $this->config['proxy']['activo'] === true);
$parametros_proxy = ($usa_proxy) ? $this->config['proxy'] : 0;
$server_name = (isset($this->config['server_name'])) ? $this->config['server_name'] : null;
$parametros_rdi = (!empty($this->config['rdi']['config'])) ? $this->config['rdi']['config'] : array();
$accesos_bd = $this->get_accesos_bd();
$pers = ($this->existe_pers()) ? $this->get_pers_activa() : '';
$personalizaciones = [];
if ($this->existe_pers()) {
$personalizaciones = $this->get_pers();
}
$log_nivel_default = Logger::DEBUG;
// Si es producción
if ($produccion) {
$log_nivel_default = Logger::ERROR;
}
// Logs
$log_activo = (isset($this->config['log']['activo'])) ? $this->config['log']['activo'] : false;
$log_nivel_cli = (isset($this->config['log']['nivel_consola'])) ? $this->config['log']['nivel_consola'] : $log_nivel_default;
$log_nivel_web = (isset($this->config['log']['nivel_web'])) ? $this->config['log']['nivel_web'] : $log_nivel_default;
$url_identidad_genero = (isset($this->config['url_identidad_genero'])) ? $this->config['url_identidad_genero'] : die('Tiene que setear em cofig.php el url_identidad_genero');
$email_ayuda = (isset($this->config['email_ayuda']) && !empty($this->config['email_ayuda'])) ? $this->config['email_ayuda'] : die("Tiene que setear en 'instalacion/config.php' el parámetro 'email_ayuda'");
// Tiempo de expiración del código validación para recuperar contraseña (sga_preinscripcion.codigo_validacion)
$ttl_codigo_validacion = (isset($this->config['ttl_codigo_validacion'])) ? $this->config['ttl_codigo_validacion'] : '1 day';
$proyecto = new extension_kernel\proyecto(array(
'db' => $this->bloque_acceso['database'] ?? [],
'accesos' => $this->config['accesos'],
'accesos_bd' => $accesos_bd,
'alias' => $this->get_alias(),
'produccion' => $produccion,
'personalizacion' => $pers,
'personalizaciones' => $personalizaciones,
'sesion_maxtime' => $this->config['sesion_maxtime'],
'sesion_timeout' => $this->config['sesion_timeout'],
'url_recursos' => $url_recursos,
'memcached' => $memcached,
'dir_log' => $dir_log,
'dir_cache' => $dir_cache,
'dir_temp' => $dir_temp,
'dir_www_temp' => $dir_www_temp,
'dir_instalacion' => static::get_dir_instalacion(),
'salt' => $salt,
'salt_admin' => $salt_admin,
'dir_attachment' => $dir_attachment,
'clase_persona' => $clase_persona,
'clase_persona_anonima' => $clase_persona_anonima,
'clase_login' => $clase_login,
'clase_login_admin' => $clase_login_admin,
'clase_pagina' => $clase_pagina,
'usa_captcha' => $usa_captcha,
'intentos_login_captcha' => $intentos_login_captcha,
'captcha_site_key' => $site_key_captcha,
'captcha_secret_key' => $secret_key_captcha,
'captcha_opciones' => $opciones_captcha,
'usa_proxy' => $usa_proxy,
'parametros_proxy' => $parametros_proxy,
'server_name' => $server_name,
'parametros_rdi' => $parametros_rdi,
'barra_dev' =>
isset($this->config['log']['activo']) &&
$this->config['log']['activo'] == true &&
isset($this->config['log']['barra_dev']) &&
$this->config['log']['barra_dev'] == true,
'smtp' => $smtp,
'ga_params' => $ga_params,
'ssl_alcance' => $ssl_alcance,
'ssl_redirigir_ssl' => $ssl_redirigir_ssl,
'clave_long_minima' => (isset($this->bloque_acceso['clave_long_minima'])) ? $this->bloque_acceso['clave_long_minima'] : 6,
'carga_turno_presentacion' => (isset($this->bloque_acceso['carga_turno_presentacion'])) ? $this->bloque_acceso['carga_turno_presentacion'] : false,
'modo_impresion_comprobante' => (isset($this->bloque_acceso['modo_impresion_comprobante'])) ? $this->bloque_acceso['modo_impresion_comprobante'] : 'ra',
'formateo_campos' => (isset($this->bloque_acceso['formateo_campos'])) ? $this->bloque_acceso['formateo_campos'] : 'libre',
'locale' => $locale,
'login_externo' => $login_externo,
'login_config' => $login_config,
//---- Parametros de reporte ---------------------------------------
'rep_encabezado_logo' => (isset($this->bloque_acceso['rep_encabezado_logo'])) ? $this->bloque_acceso['rep_encabezado_logo'] : '',
'rep_nombre_institucion' => (isset($this->bloque_acceso['rep_nombre_institucion'])) ? $this->bloque_acceso['rep_nombre_institucion'] : '',
'rep_imprime_CBC' => (isset($this->bloque_acceso['rep_imprime_CBC'])) ? $this->bloque_acceso['rep_imprime_CBC'] : false,
'rep_imprime_periodo_insc' => (isset($this->bloque_acceso['rep_imprime_periodo_insc'])) ? $this->bloque_acceso['rep_imprime_periodo_insc'] : false,
'rep_avisos' => (!empty($this->bloque_acceso['rep_avisos'])) ? $this->bloque_acceso['rep_avisos'] : array(),
'rep_imprime_credencial_provisoria' => (isset($this->bloque_acceso['rep_imprime_credencial_provisoria'])) ? $this->bloque_acceso['rep_imprime_credencial_provisoria'] : false,
'rep_localidad' => (isset($this->bloque_acceso['rep_localidad'])) ? $this->bloque_acceso['rep_localidad'] : 'Buenos Aires',
//---- Logo del sistema --------------------------------------------
'logo_pagina' => isset($this->config['logo_pagina']) ? $this->config['logo_pagina'] : 'logo.png',
'version_sistema' => $datos_version['version'],
//---- Acceso a datos de G3 ----------------------------------------
'modo_consultas_g3' => (!empty($this->bloque_acceso['modo_consultas_g3'])) ? $this->bloque_acceso['modo_consultas_g3'] : 'consultas_bd',
'db_guarani' => (isset($this->bloque_acceso['modo_consultas_g3']) && ($this->bloque_acceso['modo_consultas_g3'] == 'consultas_bd')) ? $this->bloque_acceso['database_guarani'] : null,
'log_activo' => $log_activo,
'log_nivel_cli' => $log_nivel_cli,
'log_nivel_web' => $log_nivel_web,
//--------validacion del link confirmacion de correo
'tiempo_confirmacion_alta_preinscripcion' => isset($this->config['tiempo_confirmacion_alta_preinscripcion']) ? $this->config['tiempo_confirmacion_alta_preinscripcion'] : '24',
'url_identidad_genero' => $url_identidad_genero,
'email_ayuda' => $email_ayuda,
'datos_ayuda' =>(!empty($this->bloque_acceso['datos_ayuda'])) ? $this->bloque_acceso['datos_ayuda'] : array(),
'ttl_codigo_validacion'=> $ttl_codigo_validacion,
));
try {
$eventos = kernel::localizador()->instanciar('extension_kernel\eventos_aplicacion');
} catch (\Exception $e) {
die('Debe crear la clase eventos_aplicacion a partir del archivo eventos_aplicacion_template.php. Mensaje: "' . $e->getMessage() . '"');
}
// Registro del proyecto
kernel::registrar_proyecto($proyecto, $eventos);
kernel::proyecto()->set_encoding('iso-8859-1');
kernel::proyecto()->set_bloque_acceso($perfil);
// Inicializacion del LOG
if (isset($this->config['log']['activo']) &&
$this->config['log']['activo'] == true) {
kernel::log()->set_activo(true);
if (isset($this->config['log']['nivel'])) {
try {
kernel::log()->set_nivel($this->config['log']['nivel']);
} catch (\Exception $e) {
die($e->getMessage());
}
}
}
AdminCache::set_manejador_memoria(AdminCache::manejador_memoria_apc);
}
}

31
src/siu/conf/acceso/acc_admin.xml

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<perfil id="admin">
<parametros>
<parametro id="index" valor="config_form" />
</parametros>
<menu>
<opcion nombre="formulario_preinscripcion">
<opcion destino="config_form"/>
<opcion destino="copiar_config_form"/>
<opcion destino="importar_config_form"/>
</opcion>
<opcion destino="limpiar_cache"/>
<opcion destino="perfil_datos"/>
<opcion nombre="tests">
<opcion destino="test_mail"/>
</opcion>
</menu>
<operaciones>
<operacion id="config_form" url="config_form" activa="1" />
<operacion id="copiar_config_form" url="copiar_config_form" activa="1" />
<operacion id="importar_config_form" url="importar_config_form" activa="1" />
<operacion id="acceso" url="acceso_admin" activa="1" />
<operacion id="limpiar_cache" url="limpiar_cache" activa="1" />
<operacion id="perfil_datos" url="perfil_datos" activa="1" />
<operacion id="test_mail" url="test_mail" activa="1" />
</operaciones>
</perfil>

13
src/siu/conf/acceso/acc_alumno.xml

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<perfil id="alumno">
<parametros>
<parametro id="index" valor="censo" />
</parametros>
<operaciones>
<operacion id="censo" url="censo" activa="1" />
<operacion id="acceso" url="acceso" activa="1" />
</operaciones>
</perfil>

14
src/siu/conf/acceso/acc_anonimo_admin.xml

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<perfil id="anonimo_admin">
<parametros>
<parametro id="index" valor="acceso_admin" />
<parametro id="login" valor="acceso_admin" />
</parametros>
<operaciones>
<operacion id="acceso_admin" url="acceso" activa="1" />
<operacion id="pagina_error" url="pagina_error" activa="1" />
</operaciones>
</perfil>

17
src/siu/conf/acceso/acc_anonimo_alumno.xml

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<perfil id="anonimo_alumno">
<parametros>
<parametro id="index" valor="acceso" />
<parametro id="login" valor="acceso" />
</parametros>
<operaciones>
<operacion id="acceso" url="acceso" activa="1" />
<operacion id="alta_usuario" url="alta_usuario" activa="1" />
<operacion id="ayuda_menu" url="ayuda_menu" activa="1" />
<operacion id="asociar_usuario_se" url="asociar_usuario_se" activa="1" />
<operacion id="pagina_error" url="pagina_error" activa="1" />
</operaciones>
</perfil>

15
src/siu/errores/error_preinscripcion.php

@ -0,0 +1,15 @@
<?php
namespace siu\errores;
use SIU\Chulupi\ErrorKernel as error_kernel;
class error_preinscripcion extends error_kernel
{
function get_id_error_generico()
{
return 'error_indefinido';
}
}
?>

9
src/siu/errores/error_preinscripcion_alumno_g3.php

@ -0,0 +1,9 @@
<?php
namespace siu\errores;
class error_preinscripcion_alumno_g3 extends error_preinscripcion
{
}
?>

9
src/siu/errores/error_preinscripcion_clave.php

@ -0,0 +1,9 @@
<?php
namespace siu\errores;
class error_preinscripcion_clave extends error_preinscripcion
{
}
?>

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save