diff --git a/jsconfig.json b/jsconfig.json index a727ab2..a3505bb 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -22,7 +22,7 @@ * Typecheck JS in `.svelte` and `.js` files by default. * Disable this if you'd like to use dynamic types. */ - "checkJs": true, + "checkJs": false, "baseUrl": ".", "paths": { diff --git a/src/components/TableResponsive.svelte b/src/components/TableResponsive.svelte index 54e9414..1c91f9a 100644 --- a/src/components/TableResponsive.svelte +++ b/src/components/TableResponsive.svelte @@ -1,5 +1,5 @@ -
+
diff --git a/src/layouts/LayoutUser.svelte b/src/layouts/LayoutUser.svelte index 15b54fa..73e129d 100644 --- a/src/layouts/LayoutUser.svelte +++ b/src/layouts/LayoutUser.svelte @@ -13,7 +13,7 @@ import Sidebar from './Sidebar.svelte' import Footer from './Footer.svelte' import Notifications from './Notifications.svelte' - import { routes } from '$/routes/user.routes' + import { getRoutes } from '$/routes/user.routes' import { Router, Route, createHistory } from 'svelte-navigator' import hashHistory from './hashHistory' import { onMount } from 'svelte' @@ -24,6 +24,11 @@ let triggerEvent = false; // @ts-ignore const history = createHistory(hashHistory()) + let routes = [] + + getRoutes() + .then(data => routes = data) + .catch(error => alert(error)) onMount(() => { triggerEvent && document.dispatchEvent(new Event('DOMContentLoaded')); @@ -49,8 +54,8 @@
- {#each routes as r} - + {#each routes as r, index} + {/each} diff --git a/src/layouts/SideLink.svelte b/src/layouts/SideLink.svelte index 7a61201..6b41db6 100644 --- a/src/layouts/SideLink.svelte +++ b/src/layouts/SideLink.svelte @@ -1,15 +1,23 @@ -
  • - - - -
  • \ No newline at end of file +{#if exist} +
  • + + + +
  • +{/if} diff --git a/src/pages/aplicaciones/Admin.svelte b/src/pages/aplicaciones/Admin.svelte index 87f9e5f..4a62e51 100644 --- a/src/pages/aplicaciones/Admin.svelte +++ b/src/pages/aplicaciones/Admin.svelte @@ -3,6 +3,7 @@ import { getAplicaciones } from "$/services/aplicaciones"; import PageTitle from "$/components/PageTitle.svelte"; import ModalAplicacion from "./ModalAplicacion.svelte"; + import { getPermisoPath } from "$/stores/global"; const limit = 15; let page = 1; @@ -12,6 +13,7 @@ let aplicaciones = [] let aplicacion = null let loading = false; + let permiso_app = getPermisoPath() $: onPage(page) @@ -47,9 +49,11 @@
    - + {#if permiso_app.escritura} + + {/if}
    @@ -81,7 +85,7 @@ {#each aplicaciones as app, index} - + {offset + index + 1} {app.id_aplicacion} onEdita(app)}>{app.nombre_app} diff --git a/src/pages/aplicaciones/ModalAplicacion.svelte b/src/pages/aplicaciones/ModalAplicacion.svelte index 82c76ec..d1263ff 100644 --- a/src/pages/aplicaciones/ModalAplicacion.svelte +++ b/src/pages/aplicaciones/ModalAplicacion.svelte @@ -2,11 +2,13 @@ import Modal from "../../components/Modal.svelte"; import { getAplicacion, createAplicacion, updateAplicacion, deleteAplicacion } from "$/services/aplicaciones"; import { createEventDispatcher } from "svelte"; + import { getPermisoPath } from "$/stores/global"; const dispatch = createEventDispatcher(); export let aplicacion = {} let form = {} let loading = false; + let permiso_app = getPermisoPath() $: begin(aplicacion.id_aplicacion) @@ -61,7 +63,7 @@ dispatch('close')}> -
    +
    ID
    @@ -92,8 +94,14 @@
    - - + {#if permiso_app.escritura} + + + {/if} - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/pages/comunas/Admin.svelte b/src/pages/comunas/Admin.svelte index 9bea80f..bdb0498 100644 --- a/src/pages/comunas/Admin.svelte +++ b/src/pages/comunas/Admin.svelte @@ -5,6 +5,7 @@ import { getComunas, getComuna, createComuna, updateComuna, deleteComuna } from '$/services/comunas' import Modal from '$/components/Modal.svelte'; import FormComuna from './Form.svelte'; + import { getPermisoPath } from '$/stores/global'; let comuna = null let es_nuevo = true @@ -12,6 +13,7 @@ let page = 1 let loading = false; const limit = 15 + let permiso_app = getPermisoPath() $: onPage(page) @@ -77,10 +79,12 @@
    - + {#if permiso_app.escritura} + + {/if}
    Volver
    @@ -113,7 +117,7 @@ page = ev.detail} @@ -127,11 +131,15 @@ comuna = null} > - +
    + +
    - - {#if !es_nuevo} + {#if permiso_app.escritura} + + {/if} + {#if !es_nuevo && permiso_app.escritura} {/if} @@ -140,7 +148,6 @@ {/if} \ No newline at end of file diff --git a/src/pages/mapas/FormParadero.svelte b/src/pages/mapas/FormParadero.svelte index 70bbc80..fc2bdb6 100644 --- a/src/pages/mapas/FormParadero.svelte +++ b/src/pages/mapas/FormParadero.svelte @@ -7,12 +7,14 @@ createParaderoImagen, deleteParaderoImagen, } from "$/services/paraderos"; + import { getPermisoPath } from "$/stores/global"; import IconLoading from "../../components/IconLoading.svelte"; export let parada = null; let form = {}; let imagenes = []; let loading = false; + let permiso_app = getPermisoPath(); $: init(!!parada); @@ -55,7 +57,7 @@ if (!confirm("Estás seguro de eliminar la imagen?")) return; await deleteParaderoImagen(id_paradero_imagen); imagenes = imagenes.filter( - (imagen) => imagen.id_paradero_imagen !== id_paradero_imagen + (imagen) => imagen.id_paradero_imagen !== id_paradero_imagen, ); } catch (error) { alert(error); @@ -71,21 +73,21 @@ Coordenadas:
    Latitud
    -
    {form.stop_lat || '...'}
    +
    {form.stop_lat || "..."}
    Longitud
    -
    {form.stop_lon || '...'}
    +
    {form.stop_lon || "..."}
    Propiedades: -
    +
    Identificador
    @@ -106,11 +108,13 @@ />

    -
    - -
    + {#if permiso_app.escritura} +
    + +
    + {/if}
    @@ -129,24 +133,26 @@ {/each} -
    -
    -
    -
    - + {#if permiso_app.escritura} + +
    +
    +
    + +
    +
    +
    - -
    - + + {/if}
    diff --git a/src/pages/mapas/FormParaderoDispositivos.svelte b/src/pages/mapas/FormParaderoDispositivos.svelte index cb365b0..77717fb 100644 --- a/src/pages/mapas/FormParaderoDispositivos.svelte +++ b/src/pages/mapas/FormParaderoDispositivos.svelte @@ -5,6 +5,7 @@ import { getTiposDispositivo } from "../../services/tipos_dispositivo"; import { url_base } from "../../services/_config"; import { getInfoPublic } from '../../services/paraderos'; + import { getPermisoPath } from '$/stores/global'; export let parada = null; let loading = false; @@ -12,6 +13,7 @@ let dispositivos = []; let url_qrcode = null; let nuevoDispositivo = null; + let permiso_app = getPermisoPath() async function fetchDispositivos({ id_paradero = null }) { try { @@ -91,15 +93,22 @@ {disp.id_dispositivo} {disp.tipo_dispositivo?.descripcion || '--'} - onDelete(disp)}> + + {#if permiso_app.escritura} + onDelete(disp)}> + {/if} + {/each} -
    - -
    + {#if permiso_app.escritura} +
    + +
    + {/if} + {:else}
    diff --git a/src/pages/personas/Admin.svelte b/src/pages/personas/Admin.svelte index 064686f..ce25771 100644 --- a/src/pages/personas/Admin.svelte +++ b/src/pages/personas/Admin.svelte @@ -3,10 +3,12 @@ import Paginate from '$/components/Paginate.svelte' import { getPersonas } from '$/services/personas'; import PageTitle from '$/components/PageTitle.svelte'; + import { getPermisoPath } from '$/stores/global'; let page = 1; let limit = 15; let personas = { results: [], count: 0 }; let loading = false; + let permiso_app = getPermisoPath() $: onPage(page) @@ -27,9 +29,11 @@
    - - Nuevo - + {#if permiso_app.escritura} + + Nuevo + + {/if}
    diff --git a/src/pages/personas/Persona.svelte b/src/pages/personas/Persona.svelte index 155b36b..d8aab1e 100644 --- a/src/pages/personas/Persona.svelte +++ b/src/pages/personas/Persona.svelte @@ -1,6 +1,6 @@ - - dispatch('close')}> -
    -
    -
    Rol ID
    -
    - {#if rol.id_rol} - - {:else} - - {/if} -
    -
    -
    -
    Nombre Rol
    -
    - -
    -
    + + dispatch("close")}> + -
    -
    Permiso a Aplicaciones
    -
    -
    -
    - - - - - - - - - - {#each form3 as aplicacion} - - - - - - - - - {/each} - - -
    AplicacionesAccesoSolo visualizar
    {aplicacion.nombre_app}
    -
    -
    -
    +
    + {#if tab === 0} + + {/if} + + {#if tab === 1} + + {/if} + + {#if tab === 2} + + {/if}
    + + - - + {#if permiso_app.escritura} + {#if tab === 0} + + + {#if rol.id_rol} + + {/if} + {/if} + + {#if tab === 1} + + {/if} + + {#if tab === 2} + + {/if} + {/if}
    diff --git a/src/pages/roles/TabAplicaciones.svelte b/src/pages/roles/TabAplicaciones.svelte new file mode 100644 index 0000000..13a3692 --- /dev/null +++ b/src/pages/roles/TabAplicaciones.svelte @@ -0,0 +1,40 @@ + + + + + + + + + + + + + {#each permisos as app} + + + + + + + {/each} + +
    AplicaciónVigenteAccesoSolo Visualiza
    {app.nombre_app}{app.vigente ? '✅' : '⛔'} +
    + app.modificado = true} + disabled={!app.vigente}> + +
    +
    +
    + app.modificado = true} + disabled={!app.vigente || !app.acceso}> + +
    +
    \ No newline at end of file diff --git a/src/pages/roles/TabForm.svelte b/src/pages/roles/TabForm.svelte new file mode 100644 index 0000000..945c834 --- /dev/null +++ b/src/pages/roles/TabForm.svelte @@ -0,0 +1,19 @@ + + +
    +
    +
    Rol ID
    +
    + +
    +
    +
    +
    Nombre Rol
    +
    + +
    +
    +
    \ No newline at end of file diff --git a/src/pages/roles/TabLineas.svelte b/src/pages/roles/TabLineas.svelte new file mode 100644 index 0000000..1d5e5e3 --- /dev/null +++ b/src/pages/roles/TabLineas.svelte @@ -0,0 +1,33 @@ + + + + + + Linea + Vigente + Visualiza + + + + {#each permisos as linea} + + {linea.route_long_name} + {linea.vigente ? '✅' : '⛔'} + +
    + linea.modificado = true} + disabled={!linea.vigente} + id={`check-linea-${linea.id_linea}`}> + +
    + + + {/each} + +
    \ No newline at end of file diff --git a/src/pages/roles/modal.css b/src/pages/roles/modal.css new file mode 100644 index 0000000..3657b41 --- /dev/null +++ b/src/pages/roles/modal.css @@ -0,0 +1,12 @@ +.disabled { pointer-events: none !important; } +.mymodal { background-color: var(--bs-gray-200); } +.nav-tabs { + --bs-nav-tabs-border-color: var(--bs-white); + --bs-nav-tabs-border-width: 0; +} + +.nav-tabs .nav-link.active { + --bs-nav-tabs-link-active-bg: var(--bs-white); + --bs-nav-tabs-link-active-color: var(--bs-secondary); + --bs-nav-tabs-link-active-border-color: var(--bs-white); +} \ No newline at end of file diff --git a/src/pages/rolesaplicaciones/Admin.svelte b/src/pages/rolesaplicaciones/Admin.svelte deleted file mode 100644 index 84bbce2..0000000 --- a/src/pages/rolesaplicaciones/Admin.svelte +++ /dev/null @@ -1,121 +0,0 @@ - - -rolesyaplicaciones -
    - {data2} - {#each data2 as rol} - {rol.id_rol} - {rol.id_aplicacion} - {/each} -
    - -
    -
    - -
    -
    -
    - - - - - - - - - - - {#each roles as app, index} - - - - - - - {/each} - -
    Nro - onOrderBy('id_aplicacion')}>ID rol - {#if ordering === 'id_aplicacion'}{/if} - {#if ordering === '-id_aplicacion'}{/if} - - onOrderBy('id_rol')}>Id app - {#if ordering === 'id_rol'}{/if} - {#if ordering === '-id_rol'}{/if} - Solo Visualizar
    {offset + index + 1}{app.id_rol} onEdita(app)}>{app.id_aplicacion}{app.solo_visualizar}
    -
    -
    - -
    - -{#if rol} - rol = null} - on:refresh={() => onPage(page)} - /> -{/if} - - - \ No newline at end of file diff --git a/src/pages/rolesaplicaciones/ModalRolaplicacion.svelte b/src/pages/rolesaplicaciones/ModalRolaplicacion.svelte deleted file mode 100644 index 5589475..0000000 --- a/src/pages/rolesaplicaciones/ModalRolaplicacion.svelte +++ /dev/null @@ -1,95 +0,0 @@ - - -
    - dispatch('close')}> -
    -
    -
    ID app
    -
    - {#if rol.id_aplicacion} - - {:else} - - {/if} -
    -
    -
    -
    ID rol
    -
    - -
    -
    -
    -
    - - -
    -
    -
    - - - - -
    -
    \ No newline at end of file diff --git a/src/pages/rutas/ModalFormRuta.svelte b/src/pages/rutas/ModalFormRuta.svelte index a6eecb8..0db0944 100644 --- a/src/pages/rutas/ModalFormRuta.svelte +++ b/src/pages/rutas/ModalFormRuta.svelte @@ -1,85 +1,94 @@
    - dispatch('close')} + dispatch("close")} > - - +
    + +
    + {#if error_messages}
      {#each Object.entries(error_messages) as [field, message]} -
    • {field}: {message[0]}
    • +
    • {field}: {message[0]}
    • {/each}
    {/if} - + - - + {#if permiso_app.escritura} + + {/if} {#if loading}{/if}
    - \ No newline at end of file + + + diff --git a/src/pages/rutas/TableRutas.svelte b/src/pages/rutas/TableRutas.svelte index 34632b9..c9e2ce7 100644 --- a/src/pages/rutas/TableRutas.svelte +++ b/src/pages/rutas/TableRutas.svelte @@ -93,7 +93,7 @@