dmencu 0.7.24 → 0.7.26

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.
Files changed (44) hide show
  1. package/dist/client/unlogged/css/bootstrap.min.css +6 -6
  2. package/dist/client/unlogged/render-formulario.tsx +8 -6
  3. package/dist/client/unlogged/tsconfig.json +14 -14
  4. package/dist/server/server/table-encuestadores.js +7 -7
  5. package/dist/server/server/table-hogares.js +1 -1
  6. package/dist/server/server/table-hogares_sup.js +1 -1
  7. package/dist/server/server/table-parametros.js +1 -1
  8. package/dist/server/server/table-personal.js +7 -7
  9. package/dist/server/server/table-personal_rol.js +7 -7
  10. package/dist/server/server/table-personas.js +1 -1
  11. package/dist/server/server/table-personas_sup.js +1 -1
  12. package/dist/server/server/table-recepcionistas.js +1 -1
  13. package/dist/server/server/table-tareas_tem_asignables.d.ts +1 -1
  14. package/dist/server/server/table-tareas_tem_asignables.js +44 -11
  15. package/dist/server/server/table-tareas_tem_fin_campo copy.d.ts +3 -0
  16. package/dist/server/server/table-tareas_tem_fin_campo copy.js +28 -0
  17. package/dist/server/server/table-tareas_tem_ingreso copy.d.ts +3 -0
  18. package/dist/server/server/table-tareas_tem_ingreso copy.js +32 -0
  19. package/dist/server/server/table-tareas_tem_procesamiento copy.d.ts +3 -0
  20. package/dist/server/server/table-tareas_tem_procesamiento copy.js +32 -0
  21. package/dist/server/server/table-tareas_tem_recepcion copy.d.ts +8 -0
  22. package/dist/server/server/table-tareas_tem_recepcion copy.js +82 -0
  23. package/dist/server/server/table-tem_asignacion copy.d.ts +3 -0
  24. package/dist/server/server/table-tem_asignacion copy.js +51 -0
  25. package/dist/server/server/table-visitas.js +1 -1
  26. package/dist/server/server/table-visitas_sup.js +1 -1
  27. package/dist/server/server/table-viviendas.js +1 -1
  28. package/dist/unlogged/unlogged/css/bootstrap.min.css +6 -6
  29. package/dist/unlogged/unlogged/render-formulario.js +10 -9
  30. package/dist/unlogged/unlogged/render-formulario.tsx +8 -6
  31. package/dist/unlogged/unlogged/tsconfig.json +14 -14
  32. package/install/actualizar-2023-05-14.sql +38 -38
  33. package/install/actualizar_inconvar.sql +28 -28
  34. package/install/agregados_tem.sql +4 -4
  35. package/install/asignar_desasignar_tareas_tem_trg.sql +40 -40
  36. package/install/metadatos/permisos.tab +11 -11
  37. package/install/metadatos/roles.tab +10 -10
  38. package/install/metadatos/roles_permisos.tab +94 -94
  39. package/install/metadatos/tipovar.tab +9 -9
  40. package/install/sincro_tareas_areas_tareas_tem_trg.sql +27 -27
  41. package/install/usuarios_trg.sql +41 -41
  42. package/install/validar_tareas_tem_trg.sql +65 -65
  43. package/package.json +91 -91
  44. package/install/local-prompts.txt +0 -9
@@ -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,65 +1,65 @@
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_tarea_proxima text;
15
- v_permite_asignar boolean;
16
- v_estado_al_asignar text;
17
- begin
18
- select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_habilitada, v_tarea_proxima
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
- if v_habilitada then
25
- if old.asignado is distinct from new.asignado then
26
- if not v_permite_asignar then
27
- raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
28
- end if;
29
- if new.recepcionista is null then
30
- raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
31
- end if;
32
- if not (new.tarea = coalesce(v_tarea_actual,'nulo') or new.tarea = coalesce(v_tarea_proxima,'nulo')) then
33
- 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;
34
- end if;
35
- end if;
36
- if old.recepcionista is distinct from new.recepcionista then
37
- if new.recepcionista is null and new.asignado is not null then
38
- 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;
39
- end if;
40
- end if;
41
- if old.asignado is distinct from new.asignado then
42
- if new.asignado is null then
43
- new.estado = '0D';
44
- else
45
- if v_tarea_actual is distinct from new.tarea then
46
- if v_estado_al_asignar is not null then
47
- new.estado = v_estado_al_asignar;
48
- new.tarea_anterior = v_tarea_actual;
49
- end if;
50
- end if;
51
- end if;
52
- end if;
53
- else
54
- raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
55
- end if;
56
- return new;
57
- end;
58
- $BODY$;
59
-
60
- DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
61
- CREATE TRIGGER validar_tareas_tem_trg
62
- BEFORE UPDATE
63
- ON tareas_tem
64
- FOR EACH ROW
65
- 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_tarea_proxima text;
15
+ v_permite_asignar boolean;
16
+ v_estado_al_asignar text;
17
+ begin
18
+ select tarea_actual, habilitada, tarea_proxima into v_tarea_actual, v_habilitada, v_tarea_proxima
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
+ if v_habilitada then
25
+ if old.asignado is distinct from new.asignado then
26
+ if not v_permite_asignar then
27
+ raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que su estado no lo permite', new.enc, new.operativo;
28
+ end if;
29
+ if new.recepcionista is null then
30
+ raise exception 'Error: no es posible asignar en la encuesta % del operativo % ya que no se indicó un/a recepcionista', new.enc, new.operativo;
31
+ end if;
32
+ if not (new.tarea = coalesce(v_tarea_actual,'nulo') or new.tarea = coalesce(v_tarea_proxima,'nulo')) then
33
+ 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;
34
+ end if;
35
+ end if;
36
+ if old.recepcionista is distinct from new.recepcionista then
37
+ if new.recepcionista is null and new.asignado is not null then
38
+ 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;
39
+ end if;
40
+ end if;
41
+ if old.asignado is distinct from new.asignado then
42
+ if new.asignado is null then
43
+ new.estado = '0D';
44
+ else
45
+ if v_tarea_actual is distinct from new.tarea then
46
+ if v_estado_al_asignar is not null then
47
+ new.estado = v_estado_al_asignar;
48
+ new.tarea_anterior = v_tarea_actual;
49
+ end if;
50
+ end if;
51
+ end if;
52
+ end if;
53
+ else
54
+ raise exception 'Error: la encuesta % del operativo % se encuentra deshabilitada', new.enc, new.operativo;
55
+ end if;
56
+ return new;
57
+ end;
58
+ $BODY$;
59
+
60
+ DROP TRIGGER IF EXISTS validar_tareas_tem_trg ON tareas_tem;
61
+ CREATE TRIGGER validar_tareas_tem_trg
62
+ BEFORE UPDATE
63
+ ON tareas_tem
64
+ FOR EACH ROW
65
+ EXECUTE PROCEDURE validar_tareas_tem_trg();
package/package.json CHANGED
@@ -1,91 +1,91 @@
1
- {
2
- "name": "dmencu",
3
- "description": "DM Encu - Encuestas en dispositivo móvil",
4
- "version": "0.7.24",
5
- "author": "Codenautas <codenautas@googlegroups.com>",
6
- "license": "MIT",
7
- "main": "dist/server/server/app-dmencu.js",
8
- "types": "dist/server/server/app-dmencu.d.ts",
9
- "files": [
10
- "dist",
11
- "install"
12
- ],
13
- "dependencies": {
14
- "@material-ui/core": "^4.12.4",
15
- "memoize-one": "~6.0.0",
16
- "meta-enc": "^1.4.9",
17
- "procesamiento": "^1.0.10",
18
- "backend-plus": "^1.19.5",
19
- "qrcode": "^1.5.3",
20
- "react": "~17.0.2",
21
- "react-dom": "~17.0.2",
22
- "react-redux": "~7.2.6",
23
- "redux": "~4.1.2",
24
- "redux-typed-reducer": "~0.1.1",
25
- "service-worker-admin": "^0.2.1",
26
- "yazl": "~2.5.1",
27
- "row-validator": "^1.0.0-rc1",
28
- "like-ar": "^0.3.9"
29
- },
30
- "dependencias provisorias: las que se pongan en dependencias ponerlas acá y sacarlas juntas": {},
31
- "devDependencies": {
32
- "@types/mocha": "^10.0.1",
33
- "@types/node": "^20.3.0",
34
- "@types/qrcode": "^1.5.0",
35
- "@types/react": "^17.0.38",
36
- "@types/react-dom": "^17.0.11",
37
- "@types/react-redux": "^7.1.22",
38
- "@types/yazl": "~2.4.2",
39
- "mixin-patch": "~0.4.1",
40
- "pg-triggers": "~0.3.2",
41
- "types.d.ts": "~0.6.15",
42
- "typescript": "^5.1.3"
43
- },
44
- "engines": {
45
- "node": ">= 16.18.0"
46
- },
47
- "scripts": {
48
- "prepare": "npm run build",
49
- "build": "(tsc -p src/server || echo \"continue w/error\") && (tsc -p src/unlogged || echo \"continue w/error\") && (tsc -p src/client || echo \"continue w/error\") && mixin-patch",
50
- "build-client": "(tsc -p src/client || echo \"continue w/error\") && mixin-patch",
51
- "build-unlogged": "(tsc -p src/unlogged || echo \"continue w/error\") && mixin-patch",
52
- "mixin-patch": "mixin-patch",
53
- "watch:buildC": "(tsc -p src/client --watch || echo \"continue w/error\")",
54
- "watch:buildS": "(tsc -p src/server --watch || echo \"continue w/error\")",
55
- "watch:buildU": "(tsc -p src/unlogged --watch || echo \"continue w/error\")",
56
- "test": "mocha --reporter spec --bail --check-leaks test/",
57
- "start": "node dist/server/server/server-dmencu.js",
58
- "dump": "npm start -- --dump-db",
59
- "bdump": "npm run build && npm run dump",
60
- "git-commit": "git add package.json && (git commit -m \"upgrading stack dependencies\" || true)",
61
- "push-publish": "npm version patch && npm run git-commit && npm publish && git push"
62
- },
63
- "config": {
64
- "stackFolder": "../../codenautas"
65
- },
66
- "qa-control": {
67
- "package-version": "0.3.0",
68
- "coverage": 90,
69
- "run-in": "server",
70
- "stability": "extending",
71
- "type": "app",
72
- "ecmaVersion": 6
73
- },
74
- "mixin-patch": {
75
- "patch": false,
76
- "copy": [
77
- {
78
- "from": "src/client",
79
- "to": "dist/client/client"
80
- },
81
- {
82
- "from": "src/unlogged",
83
- "to": "dist/unlogged/unlogged"
84
- },
85
- {
86
- "from": "src/unlogged",
87
- "to": "dist/client/unlogged"
88
- }
89
- ]
90
- }
91
- }
1
+ {
2
+ "name": "dmencu",
3
+ "description": "DM Encu - Encuestas en dispositivo móvil",
4
+ "version": "0.7.26",
5
+ "author": "Codenautas <codenautas@googlegroups.com>",
6
+ "license": "MIT",
7
+ "main": "dist/server/server/app-dmencu.js",
8
+ "types": "dist/server/server/app-dmencu.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "install"
12
+ ],
13
+ "dependencies": {
14
+ "@material-ui/core": "^4.12.4",
15
+ "memoize-one": "~6.0.0",
16
+ "meta-enc": "^1.4.9",
17
+ "procesamiento": "^1.0.10",
18
+ "backend-plus": "^1.19.5",
19
+ "qrcode": "^1.5.3",
20
+ "react": "~17.0.2",
21
+ "react-dom": "~17.0.2",
22
+ "react-redux": "~7.2.6",
23
+ "redux": "~4.1.2",
24
+ "redux-typed-reducer": "~0.1.1",
25
+ "service-worker-admin": "^0.2.1",
26
+ "yazl": "~2.5.1",
27
+ "row-validator": "^1.0.0-rc1",
28
+ "like-ar": "^0.3.9"
29
+ },
30
+ "dependencias provisorias: las que se pongan en dependencias ponerlas acá y sacarlas juntas": {},
31
+ "devDependencies": {
32
+ "@types/mocha": "^10.0.1",
33
+ "@types/node": "^20.3.0",
34
+ "@types/qrcode": "^1.5.0",
35
+ "@types/react": "^17.0.38",
36
+ "@types/react-dom": "^17.0.11",
37
+ "@types/react-redux": "^7.1.22",
38
+ "@types/yazl": "~2.4.2",
39
+ "mixin-patch": "~0.4.1",
40
+ "pg-triggers": "~0.3.2",
41
+ "types.d.ts": "~0.6.15",
42
+ "typescript": "^5.1.3"
43
+ },
44
+ "engines": {
45
+ "node": ">= 16.18.0"
46
+ },
47
+ "scripts": {
48
+ "prepare": "npm run build",
49
+ "build": "(tsc -p src/server || echo \"continue w/error\") && (tsc -p src/unlogged || echo \"continue w/error\") && (tsc -p src/client || echo \"continue w/error\") && mixin-patch",
50
+ "build-client": "(tsc -p src/client || echo \"continue w/error\") && mixin-patch",
51
+ "build-unlogged": "(tsc -p src/unlogged || echo \"continue w/error\") && mixin-patch",
52
+ "mixin-patch": "mixin-patch",
53
+ "watch:buildC": "(tsc -p src/client --watch || echo \"continue w/error\")",
54
+ "watch:buildS": "(tsc -p src/server --watch || echo \"continue w/error\")",
55
+ "watch:buildU": "(tsc -p src/unlogged --watch || echo \"continue w/error\")",
56
+ "test": "mocha --reporter spec --bail --check-leaks test/",
57
+ "start": "node dist/server/server/server-dmencu.js",
58
+ "dump": "npm start -- --dump-db",
59
+ "bdump": "npm run build && npm run dump",
60
+ "git-commit": "git add package.json && (git commit -m \"upgrading stack dependencies\" || true)",
61
+ "push-publish": "npm version patch && npm run git-commit && npm publish && git push"
62
+ },
63
+ "config": {
64
+ "stackFolder": "../../codenautas"
65
+ },
66
+ "qa-control": {
67
+ "package-version": "0.3.0",
68
+ "coverage": 90,
69
+ "run-in": "server",
70
+ "stability": "extending",
71
+ "type": "app",
72
+ "ecmaVersion": 6
73
+ },
74
+ "mixin-patch": {
75
+ "patch": false,
76
+ "copy": [
77
+ {
78
+ "from": "src/client",
79
+ "to": "dist/client/client"
80
+ },
81
+ {
82
+ "from": "src/unlogged",
83
+ "to": "dist/unlogged/unlogged"
84
+ },
85
+ {
86
+ "from": "src/unlogged",
87
+ "to": "dist/client/unlogged"
88
+ }
89
+ ]
90
+ }
91
+ }
@@ -1,9 +0,0 @@
1
- /*Escribe un trigger en postgres que al modificarse el valor del campo "cantidad_encuestas" de la tabla "areas"
2
- inserte tantos registros como sea el valor de cantidad_encuestas en la tabla "tem", como máximo se insertaran
3
- lo que indique el campo "maximo_creacion_encuestas" de la tabla "parametros" para el primer registro.
4
- En la tabla tem tiene que insertar el campo "enc" el cual tien que contener el
5
- número de área (campo area de la tabla areas) como prefijo y tener la misma cantidad de dígitos siempre (la cantidad
6
- de digitos de el campo "cantidad_encuestas").
7
- Si se actualiza el campo cantidad_encuestas y el valor es mayor que el anterior y menor a maximo_creacion_encuestas entonces
8
- debe insertar los registros restantes para completar cantidad_encuestas
9
- */