dmencu 2.0.20 → 2.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/server/table-tem.d.ts +3 -0
- package/dist/client/server/table-tem.js +239 -0
- package/dist/client/server/types-dmencu.d.ts +48 -0
- package/dist/client/server/types-dmencu.js +33 -0
- package/dist/client/unlogged/css/bootstrap.min.css +6 -6
- package/dist/client/unlogged/tsconfig.json +14 -14
- package/dist/server/server/table-barrios.js +1 -1
- package/dist/server/server/table-comunas copy.d.ts +2 -0
- package/dist/server/server/table-comunas copy.js +28 -0
- package/dist/server/server/table-comunas.js +2 -2
- package/dist/server/server/table-encuestadores.js +7 -7
- package/dist/server/server/table-fracciones.js +1 -1
- package/dist/server/server/table-hogares.js +1 -1
- package/dist/server/server/table-hogares_sup.js +1 -1
- package/dist/server/server/table-manzanas.js +1 -1
- package/dist/server/server/table-parametros.js +1 -1
- package/dist/server/server/table-personal.js +7 -7
- package/dist/server/server/table-personal_rol.js +7 -7
- package/dist/server/server/table-personas.js +1 -1
- package/dist/server/server/table-personas_sup.js +1 -1
- package/dist/server/server/table-radios.js +3 -3
- package/dist/server/server/table-recepcionistas.js +1 -1
- package/dist/server/server/table-visitas.js +1 -1
- package/dist/server/server/table-visitas_sup.js +1 -1
- package/dist/server/server/table-viviendas.js +1 -1
- package/dist/unlogged/unlogged/css/bootstrap.min.css +6 -6
- package/dist/unlogged/unlogged/server/table-tem.d.ts +3 -0
- package/dist/unlogged/unlogged/server/table-tem.js +239 -0
- package/dist/unlogged/unlogged/server/types-dmencu.d.ts +48 -0
- package/dist/unlogged/unlogged/server/types-dmencu.js +33 -0
- package/dist/unlogged/unlogged/tsconfig.json +14 -14
- package/dist/unlogged/unlogged/unlogged/abrir-formulario.d.ts +13 -0
- package/dist/unlogged/unlogged/unlogged/abrir-formulario.js +109 -0
- package/dist/unlogged/unlogged/unlogged/adapt.d.ts +0 -0
- package/dist/unlogged/unlogged/unlogged/adapt.js +8 -0
- package/dist/unlogged/unlogged/unlogged/bypass-formulario.d.ts +202 -0
- package/dist/unlogged/unlogged/unlogged/bypass-formulario.js +1100 -0
- package/dist/unlogged/unlogged/unlogged/redux-formulario.d.ts +349 -0
- package/dist/unlogged/unlogged/unlogged/redux-formulario.js +318 -0
- package/dist/unlogged/unlogged/unlogged/render-formulario.d.ts +86 -0
- package/dist/unlogged/unlogged/unlogged/render-formulario.js +1692 -0
- package/dist/unlogged/unlogged/unlogged/render-general.d.ts +127 -0
- package/dist/unlogged/unlogged/unlogged/render-general.js +176 -0
- package/dist/unlogged/unlogged/unlogged/tipos.d.ts +486 -0
- package/dist/unlogged/unlogged/unlogged/tipos.js +22 -0
- package/dist/unlogged/unlogged/unlogged/unlogged.d.ts +1 -0
- package/dist/unlogged/unlogged/unlogged/unlogged.js +180 -0
- package/install/actualizar-2023-05-14.sql +38 -38
- package/install/actualizar_inconvar.sql +28 -28
- package/install/agregados_tem.sql +4 -4
- package/install/asignar_desasignar_tareas_tem_trg.sql +43 -43
- package/install/metadatos/permisos.tab +11 -11
- package/install/metadatos/roles.tab +10 -10
- package/install/metadatos/roles_permisos.tab +94 -94
- package/install/metadatos/tipovar.tab +9 -9
- package/install/sincro_tareas_areas_tareas_tem_trg.sql +29 -29
- package/install/usuarios_trg.sql +41 -41
- package/install/validar_tareas_tem_trg.sql +67 -67
- package/package.json +91 -91
|
@@ -1,95 +1,95 @@
|
|
|
1
|
-
rol|permiso|accion|habilitado
|
|
2
|
-
admin|campo|editar|true
|
|
3
|
-
admin|campo|ver|true
|
|
4
|
-
admin|casilleros_texto|editar|true
|
|
5
|
-
admin|configurar|editar|true
|
|
6
|
-
admin|configurar|ver|true
|
|
7
|
-
admin|consistencias|editar|true
|
|
8
|
-
admin|encuestas|ingresar|true
|
|
9
|
-
admin|encuestas|justificar|true
|
|
10
|
-
admin|encuestas|procesar|true
|
|
11
|
-
auxiliar|campo|editar|false
|
|
12
|
-
auxiliar|campo|ver|false
|
|
13
|
-
auxiliar|casilleros_texto|editar|false
|
|
14
|
-
auxiliar|configurar|editar|false
|
|
15
|
-
auxiliar|configurar|ver|false
|
|
16
|
-
auxiliar|consistencias|editar|false
|
|
17
|
-
auxiliar|encuestas|ingresar|false
|
|
18
|
-
auxiliar|encuestas|justificar|false
|
|
19
|
-
auxiliar|encuestas|procesar|false
|
|
20
|
-
coor_campo|campo|administrar|true
|
|
21
|
-
coor_campo|campo|editar|true
|
|
22
|
-
coor_campo|campo|ver|true
|
|
23
|
-
coor_campo|casilleros_texto|editar|false
|
|
24
|
-
coor_campo|configurar|editar|true
|
|
25
|
-
coor_campo|configurar|ver|true
|
|
26
|
-
coor_campo|consistencias|editar|true
|
|
27
|
-
coor_campo|encuestas|ingresar|true
|
|
28
|
-
coor_campo|encuestas|justificar|true
|
|
29
|
-
coor_campo|encuestas|procesar|true
|
|
30
|
-
direccion|campo|editar|true
|
|
31
|
-
direccion|campo|ver|true
|
|
32
|
-
direccion|casilleros_texto|editar|false
|
|
33
|
-
direccion|configurar|editar|true
|
|
34
|
-
direccion|configurar|ver|true
|
|
35
|
-
direccion|consistencias|editar|true
|
|
36
|
-
direccion|encuestas|ingresar|true
|
|
37
|
-
direccion|encuestas|justificar|true
|
|
38
|
-
direccion|encuestas|procesar|true
|
|
39
|
-
dis_conceptual|campo|editar|false
|
|
40
|
-
dis_conceptual|campo|ver|true
|
|
41
|
-
dis_conceptual|casilleros_texto|editar|true
|
|
42
|
-
dis_conceptual|configurar|editar|false
|
|
43
|
-
dis_conceptual|configurar|ver|true
|
|
44
|
-
dis_conceptual|consistencias|editar|false
|
|
45
|
-
dis_conceptual|encuestas|ingresar|false
|
|
46
|
-
dis_conceptual|encuestas|justificar|false
|
|
47
|
-
dis_conceptual|encuestas|procesar|false
|
|
48
|
-
procesamiento|campo|editar|false
|
|
49
|
-
procesamiento|campo|ver|false
|
|
50
|
-
procesamiento|casilleros_texto|editar|false
|
|
51
|
-
procesamiento|configurar|editar|false
|
|
52
|
-
procesamiento|configurar|ver|false
|
|
53
|
-
procesamiento|consistencias|editar|true
|
|
54
|
-
procesamiento|encuestas|ingresar|true
|
|
55
|
-
procesamiento|encuestas|justificar|true
|
|
56
|
-
procesamiento|encuestas|procesar|true
|
|
57
|
-
recepcionista|campo|editar|true
|
|
58
|
-
recepcionista|campo|ver|true
|
|
59
|
-
recepcionista|casilleros_texto|editar|false
|
|
60
|
-
recepcionista|configurar|editar|true
|
|
61
|
-
recepcionista|configurar|ver|true
|
|
62
|
-
recepcionista|consistencias|editar|false
|
|
63
|
-
recepcionista|encuestas|ingresar|true
|
|
64
|
-
recepcionista|encuestas|justificar|true
|
|
65
|
-
recepcionista|encuestas|procesar|false
|
|
66
|
-
encuestador|campo|editar|false
|
|
67
|
-
encuestador|campo|ver|false
|
|
68
|
-
encuestador|casilleros_texto|editar|false
|
|
69
|
-
encuestador|configurar|editar|false
|
|
70
|
-
encuestador|configurar|ver|false
|
|
71
|
-
encuestador|consistencias|editar|false
|
|
72
|
-
encuestador|encuestas|ingresar|true
|
|
73
|
-
encuestador|encuestas|justificar|true
|
|
74
|
-
encuestador|encuestas|procesar|false
|
|
75
|
-
encuestador|encuestas|relevar|true
|
|
76
|
-
recuperador|campo|editar|false
|
|
77
|
-
recuperador|campo|ver|false
|
|
78
|
-
recuperador|casilleros_texto|editar|false
|
|
79
|
-
recuperador|configurar|editar|false
|
|
80
|
-
recuperador|configurar|ver|false
|
|
81
|
-
recuperador|consistencias|editar|false
|
|
82
|
-
recuperador|encuestas|ingresar|true
|
|
83
|
-
recuperador|encuestas|justificar|true
|
|
84
|
-
recuperador|encuestas|procesar|false
|
|
85
|
-
recuperador|encuestas|relevar|true
|
|
86
|
-
supervisor|campo|editar|false
|
|
87
|
-
supervisor|campo|ver|false
|
|
88
|
-
supervisor|casilleros_texto|editar|false
|
|
89
|
-
supervisor|configurar|editar|false
|
|
90
|
-
supervisor|configurar|ver|false
|
|
91
|
-
supervisor|consistencias|editar|false
|
|
92
|
-
supervisor|encuestas|ingresar|true
|
|
93
|
-
supervisor|encuestas|justificar|true
|
|
94
|
-
supervisor|encuestas|procesar|false
|
|
1
|
+
rol|permiso|accion|habilitado
|
|
2
|
+
admin|campo|editar|true
|
|
3
|
+
admin|campo|ver|true
|
|
4
|
+
admin|casilleros_texto|editar|true
|
|
5
|
+
admin|configurar|editar|true
|
|
6
|
+
admin|configurar|ver|true
|
|
7
|
+
admin|consistencias|editar|true
|
|
8
|
+
admin|encuestas|ingresar|true
|
|
9
|
+
admin|encuestas|justificar|true
|
|
10
|
+
admin|encuestas|procesar|true
|
|
11
|
+
auxiliar|campo|editar|false
|
|
12
|
+
auxiliar|campo|ver|false
|
|
13
|
+
auxiliar|casilleros_texto|editar|false
|
|
14
|
+
auxiliar|configurar|editar|false
|
|
15
|
+
auxiliar|configurar|ver|false
|
|
16
|
+
auxiliar|consistencias|editar|false
|
|
17
|
+
auxiliar|encuestas|ingresar|false
|
|
18
|
+
auxiliar|encuestas|justificar|false
|
|
19
|
+
auxiliar|encuestas|procesar|false
|
|
20
|
+
coor_campo|campo|administrar|true
|
|
21
|
+
coor_campo|campo|editar|true
|
|
22
|
+
coor_campo|campo|ver|true
|
|
23
|
+
coor_campo|casilleros_texto|editar|false
|
|
24
|
+
coor_campo|configurar|editar|true
|
|
25
|
+
coor_campo|configurar|ver|true
|
|
26
|
+
coor_campo|consistencias|editar|true
|
|
27
|
+
coor_campo|encuestas|ingresar|true
|
|
28
|
+
coor_campo|encuestas|justificar|true
|
|
29
|
+
coor_campo|encuestas|procesar|true
|
|
30
|
+
direccion|campo|editar|true
|
|
31
|
+
direccion|campo|ver|true
|
|
32
|
+
direccion|casilleros_texto|editar|false
|
|
33
|
+
direccion|configurar|editar|true
|
|
34
|
+
direccion|configurar|ver|true
|
|
35
|
+
direccion|consistencias|editar|true
|
|
36
|
+
direccion|encuestas|ingresar|true
|
|
37
|
+
direccion|encuestas|justificar|true
|
|
38
|
+
direccion|encuestas|procesar|true
|
|
39
|
+
dis_conceptual|campo|editar|false
|
|
40
|
+
dis_conceptual|campo|ver|true
|
|
41
|
+
dis_conceptual|casilleros_texto|editar|true
|
|
42
|
+
dis_conceptual|configurar|editar|false
|
|
43
|
+
dis_conceptual|configurar|ver|true
|
|
44
|
+
dis_conceptual|consistencias|editar|false
|
|
45
|
+
dis_conceptual|encuestas|ingresar|false
|
|
46
|
+
dis_conceptual|encuestas|justificar|false
|
|
47
|
+
dis_conceptual|encuestas|procesar|false
|
|
48
|
+
procesamiento|campo|editar|false
|
|
49
|
+
procesamiento|campo|ver|false
|
|
50
|
+
procesamiento|casilleros_texto|editar|false
|
|
51
|
+
procesamiento|configurar|editar|false
|
|
52
|
+
procesamiento|configurar|ver|false
|
|
53
|
+
procesamiento|consistencias|editar|true
|
|
54
|
+
procesamiento|encuestas|ingresar|true
|
|
55
|
+
procesamiento|encuestas|justificar|true
|
|
56
|
+
procesamiento|encuestas|procesar|true
|
|
57
|
+
recepcionista|campo|editar|true
|
|
58
|
+
recepcionista|campo|ver|true
|
|
59
|
+
recepcionista|casilleros_texto|editar|false
|
|
60
|
+
recepcionista|configurar|editar|true
|
|
61
|
+
recepcionista|configurar|ver|true
|
|
62
|
+
recepcionista|consistencias|editar|false
|
|
63
|
+
recepcionista|encuestas|ingresar|true
|
|
64
|
+
recepcionista|encuestas|justificar|true
|
|
65
|
+
recepcionista|encuestas|procesar|false
|
|
66
|
+
encuestador|campo|editar|false
|
|
67
|
+
encuestador|campo|ver|false
|
|
68
|
+
encuestador|casilleros_texto|editar|false
|
|
69
|
+
encuestador|configurar|editar|false
|
|
70
|
+
encuestador|configurar|ver|false
|
|
71
|
+
encuestador|consistencias|editar|false
|
|
72
|
+
encuestador|encuestas|ingresar|true
|
|
73
|
+
encuestador|encuestas|justificar|true
|
|
74
|
+
encuestador|encuestas|procesar|false
|
|
75
|
+
encuestador|encuestas|relevar|true
|
|
76
|
+
recuperador|campo|editar|false
|
|
77
|
+
recuperador|campo|ver|false
|
|
78
|
+
recuperador|casilleros_texto|editar|false
|
|
79
|
+
recuperador|configurar|editar|false
|
|
80
|
+
recuperador|configurar|ver|false
|
|
81
|
+
recuperador|consistencias|editar|false
|
|
82
|
+
recuperador|encuestas|ingresar|true
|
|
83
|
+
recuperador|encuestas|justificar|true
|
|
84
|
+
recuperador|encuestas|procesar|false
|
|
85
|
+
recuperador|encuestas|relevar|true
|
|
86
|
+
supervisor|campo|editar|false
|
|
87
|
+
supervisor|campo|ver|false
|
|
88
|
+
supervisor|casilleros_texto|editar|false
|
|
89
|
+
supervisor|configurar|editar|false
|
|
90
|
+
supervisor|configurar|ver|false
|
|
91
|
+
supervisor|consistencias|editar|false
|
|
92
|
+
supervisor|encuestas|ingresar|true
|
|
93
|
+
supervisor|encuestas|justificar|true
|
|
94
|
+
supervisor|encuestas|procesar|false
|
|
95
95
|
supervisor|encuestas|relevar|true
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
tipovar|html_type|type_name|validar|radio
|
|
2
|
-
boolean|text|boolean|boolean|false
|
|
3
|
-
decimal|number|decimal|numerico|false
|
|
4
|
-
fecha|text|date|texto|false
|
|
5
|
-
hora|text|interval|texto|false
|
|
6
|
-
numero|number|bigint|numerico|false
|
|
7
|
-
opciones|number|bigint|opciones|true
|
|
8
|
-
si_no|number|bigint|opciones|true
|
|
9
|
-
si_no_nn|number|bigint|opciones|true
|
|
1
|
+
tipovar|html_type|type_name|validar|radio
|
|
2
|
+
boolean|text|boolean|boolean|false
|
|
3
|
+
decimal|number|decimal|numerico|false
|
|
4
|
+
fecha|text|date|texto|false
|
|
5
|
+
hora|text|interval|texto|false
|
|
6
|
+
numero|number|bigint|numerico|false
|
|
7
|
+
opciones|number|bigint|opciones|true
|
|
8
|
+
si_no|number|bigint|opciones|true
|
|
9
|
+
si_no_nn|number|bigint|opciones|true
|
|
10
10
|
texto|text|text|texto|false
|
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
--set search_path=base;
|
|
3
|
-
|
|
4
|
-
DROP FUNCTION if exists sincro_tareas_areas_tareas_tem_trg();
|
|
5
|
-
CREATE OR REPLACE FUNCTION sincro_tareas_areas_tareas_tem_trg()
|
|
6
|
-
RETURNS trigger
|
|
7
|
-
LANGUAGE 'plpgsql'
|
|
8
|
-
AS $BODY$
|
|
9
|
-
begin
|
|
10
|
-
update tareas_tem tt
|
|
11
|
-
set asignado = case when new.asignado is not null and new.asignado is distinct from old.asignado then new.asignado else asignado end,
|
|
12
|
-
recepcionista = case when new.recepcionista is not null and new.recepcionista is distinct from old.recepcionista then new.recepcionista else recepcionista end
|
|
13
|
-
from tem t
|
|
14
|
-
where tt.operativo=t.operativo
|
|
15
|
-
and tt.enc=t.enc
|
|
16
|
-
and tt.tarea=new.tarea
|
|
17
|
-
and t.area=new.area
|
|
18
|
-
and (t.tarea_actual is null or t.tarea_actual = tt.tarea)
|
|
19
|
-
and t.enc_autogenerado_dm_capa is null; --ignora las encuestas de capa
|
|
20
|
-
return new;
|
|
21
|
-
end;
|
|
22
|
-
$BODY$;
|
|
23
|
-
|
|
24
|
-
DROP TRIGGER IF EXISTS sincro_tareas_areas_tareas_tem_trg ON tareas_areas;
|
|
25
|
-
CREATE TRIGGER sincro_tareas_areas_tareas_tem_trg
|
|
26
|
-
AFTER INSERT OR UPDATE OF recepcionista, asignado
|
|
27
|
-
ON tareas_areas
|
|
28
|
-
FOR EACH ROW
|
|
29
|
-
EXECUTE PROCEDURE sincro_tareas_areas_tareas_tem_trg();
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
--set search_path=base;
|
|
3
|
+
|
|
4
|
+
DROP FUNCTION if exists sincro_tareas_areas_tareas_tem_trg();
|
|
5
|
+
CREATE OR REPLACE FUNCTION sincro_tareas_areas_tareas_tem_trg()
|
|
6
|
+
RETURNS trigger
|
|
7
|
+
LANGUAGE 'plpgsql'
|
|
8
|
+
AS $BODY$
|
|
9
|
+
begin
|
|
10
|
+
update tareas_tem tt
|
|
11
|
+
set asignado = case when new.asignado is not null and new.asignado is distinct from old.asignado then new.asignado else asignado end,
|
|
12
|
+
recepcionista = case when new.recepcionista is not null and new.recepcionista is distinct from old.recepcionista then new.recepcionista else recepcionista end
|
|
13
|
+
from tem t
|
|
14
|
+
where tt.operativo=t.operativo
|
|
15
|
+
and tt.enc=t.enc
|
|
16
|
+
and tt.tarea=new.tarea
|
|
17
|
+
and t.area=new.area
|
|
18
|
+
and (t.tarea_actual is null or t.tarea_actual = tt.tarea)
|
|
19
|
+
and t.enc_autogenerado_dm_capa is null; --ignora las encuestas de capa
|
|
20
|
+
return new;
|
|
21
|
+
end;
|
|
22
|
+
$BODY$;
|
|
23
|
+
|
|
24
|
+
DROP TRIGGER IF EXISTS sincro_tareas_areas_tareas_tem_trg ON tareas_areas;
|
|
25
|
+
CREATE TRIGGER sincro_tareas_areas_tareas_tem_trg
|
|
26
|
+
AFTER INSERT OR UPDATE OF recepcionista, asignado
|
|
27
|
+
ON tareas_areas
|
|
28
|
+
FOR EACH ROW
|
|
29
|
+
EXECUTE PROCEDURE sincro_tareas_areas_tareas_tem_trg();
|
package/install/usuarios_trg.sql
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
set role to ut2023_muleto_owner;
|
|
3
|
-
set search_path=base;
|
|
4
|
-
|
|
5
|
-
DROP FUNCTION if exists usuarios_trg();
|
|
6
|
-
set search_path = base;
|
|
7
|
-
|
|
8
|
-
CREATE OR REPLACE FUNCTION usuarios_trg()
|
|
9
|
-
RETURNS trigger
|
|
10
|
-
LANGUAGE 'plpgsql'
|
|
11
|
-
AS $BODY$
|
|
12
|
-
declare
|
|
13
|
-
v_rol_usuario_actual text;
|
|
14
|
-
v_puede_asignar_rol boolean;
|
|
15
|
-
begin
|
|
16
|
-
if new.rol is distinct from old.rol then
|
|
17
|
-
select rol
|
|
18
|
-
into v_rol_usuario_actual
|
|
19
|
-
from usuarios
|
|
20
|
-
where usuario = split_part(current_setting('application_name'),' ',1);
|
|
21
|
-
select true
|
|
22
|
-
into v_puede_asignar_rol
|
|
23
|
-
from roles_subordinados
|
|
24
|
-
where rol = v_rol_usuario_actual and rol_subordinado = new.rol;
|
|
25
|
-
if v_puede_asignar_rol or v_rol_usuario_actual = 'admin' then
|
|
26
|
-
null;
|
|
27
|
-
else
|
|
28
|
-
raise exception 'No se peude asignar el rol %', new.rol;
|
|
29
|
-
end if;
|
|
30
|
-
end if;
|
|
31
|
-
return new;
|
|
32
|
-
end;
|
|
33
|
-
$BODY$;
|
|
34
|
-
|
|
35
|
-
DROP TRIGGER IF EXISTS usuarios_trg ON usuarios;
|
|
36
|
-
CREATE TRIGGER usuarios_trg
|
|
37
|
-
BEFORE UPDATE OR INSERT
|
|
38
|
-
ON usuarios
|
|
39
|
-
FOR EACH ROW
|
|
40
|
-
EXECUTE PROCEDURE usuarios_trg();
|
|
41
|
-
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
set role to ut2023_muleto_owner;
|
|
3
|
+
set search_path=base;
|
|
4
|
+
|
|
5
|
+
DROP FUNCTION if exists usuarios_trg();
|
|
6
|
+
set search_path = base;
|
|
7
|
+
|
|
8
|
+
CREATE OR REPLACE FUNCTION usuarios_trg()
|
|
9
|
+
RETURNS trigger
|
|
10
|
+
LANGUAGE 'plpgsql'
|
|
11
|
+
AS $BODY$
|
|
12
|
+
declare
|
|
13
|
+
v_rol_usuario_actual text;
|
|
14
|
+
v_puede_asignar_rol boolean;
|
|
15
|
+
begin
|
|
16
|
+
if new.rol is distinct from old.rol then
|
|
17
|
+
select rol
|
|
18
|
+
into v_rol_usuario_actual
|
|
19
|
+
from usuarios
|
|
20
|
+
where usuario = split_part(current_setting('application_name'),' ',1);
|
|
21
|
+
select true
|
|
22
|
+
into v_puede_asignar_rol
|
|
23
|
+
from roles_subordinados
|
|
24
|
+
where rol = v_rol_usuario_actual and rol_subordinado = new.rol;
|
|
25
|
+
if v_puede_asignar_rol or v_rol_usuario_actual = 'admin' then
|
|
26
|
+
null;
|
|
27
|
+
else
|
|
28
|
+
raise exception 'No se peude asignar el rol %', new.rol;
|
|
29
|
+
end if;
|
|
30
|
+
end if;
|
|
31
|
+
return new;
|
|
32
|
+
end;
|
|
33
|
+
$BODY$;
|
|
34
|
+
|
|
35
|
+
DROP TRIGGER IF EXISTS usuarios_trg ON usuarios;
|
|
36
|
+
CREATE TRIGGER usuarios_trg
|
|
37
|
+
BEFORE UPDATE OR INSERT
|
|
38
|
+
ON usuarios
|
|
39
|
+
FOR EACH ROW
|
|
40
|
+
EXECUTE PROCEDURE usuarios_trg();
|
|
41
|
+
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
--set role dmencu_owner;
|
|
2
|
-
--set search_path=base;
|
|
3
|
-
|
|
4
|
-
DROP FUNCTION if exists validar_tareas_tem_trg();
|
|
5
|
-
set search_path = base;
|
|
6
|
-
|
|
7
|
-
CREATE OR REPLACE FUNCTION validar_tareas_tem_trg()
|
|
8
|
-
RETURNS trigger
|
|
9
|
-
LANGUAGE 'plpgsql'
|
|
10
|
-
AS $BODY$
|
|
11
|
-
declare
|
|
12
|
-
v_habilitada boolean;
|
|
13
|
-
v_tarea_actual text;
|
|
14
|
-
v_permite_asignar boolean;
|
|
15
|
-
v_estado_al_asignar text;
|
|
16
|
-
v_tarea_inicial text;
|
|
17
|
-
begin
|
|
18
|
-
select tarea_actual, habilitada into v_tarea_actual, v_habilitada
|
|
19
|
-
from tem
|
|
20
|
-
where operativo = new.operativo and enc = new.enc;
|
|
21
|
-
select permite_asignar, estado_al_asignar into v_permite_asignar, v_estado_al_asignar
|
|
22
|
-
from estados
|
|
23
|
-
where operativo = new.operativo and estado = new.estado;
|
|
24
|
-
select tarea into v_tarea_inicial
|
|
25
|
-
from tareas
|
|
26
|
-
where operativo = new.operativo and es_inicial;
|
|
27
|
-
if v_habilitada then
|
|
28
|
-
if old.asignado is distinct from new.asignado then
|
|
29
|
-
if not v_permite_asignar then
|
|
30
|
-
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
31
|
-
end if;
|
|
32
|
-
if new.recepcionista is null then
|
|
33
|
-
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
|
|
34
|
-
end if;
|
|
35
|
-
if not (new.tarea = coalesce(v_tarea_actual,'nulo') or new.tarea = v_tarea_inicial) then
|
|
36
|
-
raise exception 'Error: no es posible modificar la encuesta % del operativo % ya que la tarea actual definida en TEM no coincide con la tarea %', new.enc, new.operativo, new.tarea;
|
|
37
|
-
end if;
|
|
38
|
-
end if;
|
|
39
|
-
if old.recepcionista is distinct from new.recepcionista then
|
|
40
|
-
if new.recepcionista is null and new.asignado is not null then
|
|
41
|
-
raise exception 'Error: no es posible quitar el recepcionista de la encuesta % del operativo % ya que se la misma se encuentra asignada', new.enc, new.operativo;
|
|
42
|
-
end if;
|
|
43
|
-
end if;
|
|
44
|
-
if old.asignado is distinct from new.asignado then
|
|
45
|
-
if new.asignado is null then
|
|
46
|
-
new.estado = '0D';
|
|
47
|
-
else
|
|
48
|
-
--if v_tarea_actual is distinct from new.tarea then
|
|
49
|
-
if v_estado_al_asignar is not null then
|
|
50
|
-
new.estado = v_estado_al_asignar;
|
|
51
|
-
end if;
|
|
52
|
-
--end if;
|
|
53
|
-
end if;
|
|
54
|
-
end if;
|
|
55
|
-
else
|
|
56
|
-
raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
|
|
57
|
-
end if;
|
|
58
|
-
return new;
|
|
59
|
-
end;
|
|
60
|
-
$BODY$;
|
|
61
|
-
|
|
62
|
-
DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
|
|
63
|
-
CREATE TRIGGER validar_tareas_tem_trg
|
|
64
|
-
BEFORE UPDATE
|
|
65
|
-
ON tareas_tem
|
|
66
|
-
FOR EACH ROW
|
|
67
|
-
EXECUTE PROCEDURE validar_tareas_tem_trg();
|
|
1
|
+
--set role dmencu_owner;
|
|
2
|
+
--set search_path=base;
|
|
3
|
+
|
|
4
|
+
DROP FUNCTION if exists validar_tareas_tem_trg();
|
|
5
|
+
set search_path = base;
|
|
6
|
+
|
|
7
|
+
CREATE OR REPLACE FUNCTION validar_tareas_tem_trg()
|
|
8
|
+
RETURNS trigger
|
|
9
|
+
LANGUAGE 'plpgsql'
|
|
10
|
+
AS $BODY$
|
|
11
|
+
declare
|
|
12
|
+
v_habilitada boolean;
|
|
13
|
+
v_tarea_actual text;
|
|
14
|
+
v_permite_asignar boolean;
|
|
15
|
+
v_estado_al_asignar text;
|
|
16
|
+
v_tarea_inicial text;
|
|
17
|
+
begin
|
|
18
|
+
select tarea_actual, habilitada into v_tarea_actual, v_habilitada
|
|
19
|
+
from tem
|
|
20
|
+
where operativo = new.operativo and enc = new.enc;
|
|
21
|
+
select permite_asignar, estado_al_asignar into v_permite_asignar, v_estado_al_asignar
|
|
22
|
+
from estados
|
|
23
|
+
where operativo = new.operativo and estado = new.estado;
|
|
24
|
+
select tarea into v_tarea_inicial
|
|
25
|
+
from tareas
|
|
26
|
+
where operativo = new.operativo and es_inicial;
|
|
27
|
+
if v_habilitada then
|
|
28
|
+
if old.asignado is distinct from new.asignado then
|
|
29
|
+
if not v_permite_asignar then
|
|
30
|
+
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
|
|
31
|
+
end if;
|
|
32
|
+
if new.recepcionista is null then
|
|
33
|
+
raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
|
|
34
|
+
end if;
|
|
35
|
+
if not (new.tarea = coalesce(v_tarea_actual,'nulo') or new.tarea = v_tarea_inicial) then
|
|
36
|
+
raise exception 'Error: no es posible modificar la encuesta % del operativo % ya que la tarea actual definida en TEM no coincide con la tarea %', new.enc, new.operativo, new.tarea;
|
|
37
|
+
end if;
|
|
38
|
+
end if;
|
|
39
|
+
if old.recepcionista is distinct from new.recepcionista then
|
|
40
|
+
if new.recepcionista is null and new.asignado is not null then
|
|
41
|
+
raise exception 'Error: no es posible quitar el recepcionista de la encuesta % del operativo % ya que se la misma se encuentra asignada', new.enc, new.operativo;
|
|
42
|
+
end if;
|
|
43
|
+
end if;
|
|
44
|
+
if old.asignado is distinct from new.asignado then
|
|
45
|
+
if new.asignado is null then
|
|
46
|
+
new.estado = '0D';
|
|
47
|
+
else
|
|
48
|
+
--if v_tarea_actual is distinct from new.tarea then
|
|
49
|
+
if v_estado_al_asignar is not null then
|
|
50
|
+
new.estado = v_estado_al_asignar;
|
|
51
|
+
end if;
|
|
52
|
+
--end if;
|
|
53
|
+
end if;
|
|
54
|
+
end if;
|
|
55
|
+
else
|
|
56
|
+
raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
|
|
57
|
+
end if;
|
|
58
|
+
return new;
|
|
59
|
+
end;
|
|
60
|
+
$BODY$;
|
|
61
|
+
|
|
62
|
+
DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
|
|
63
|
+
CREATE TRIGGER validar_tareas_tem_trg
|
|
64
|
+
BEFORE UPDATE
|
|
65
|
+
ON tareas_tem
|
|
66
|
+
FOR EACH ROW
|
|
67
|
+
EXECUTE PROCEDURE validar_tareas_tem_trg();
|