Javascript para ocultar acciones


([N1] sergi.esteve) #1

Hola a todos, este es mi primer post pidiendo ayuda

Debo de decir que soy muy newbie, llevo menos de dos semanas con velneo y hay conceptos que no tengo muy controlados todabía.

Estoy mirando si existe una función javascript similar a Interfaz: Ocultar acción en V7.

El tema es que estoy haciendo un sistema de permisos configurable y necesito ocultar las acciones pasando el nombre por parámetro, en lugar de especificarlas una a una de forma fija en un proceso V7, no se si me explico.

¿Hay alguna forma de ocultarlas por javascript?.

Muchas gracias de antemano por vuestra ayuda.


([N4] mperez) #2

Hola Sergi

Si te estas iniciando en Velneo, te aconsejo de momento NO uses Javascript para nada.

Javascript en el futuro te servira en alguna ocasión para añadir alguna funcionalidad , extender la plataforma o reutilizar código para algunas funciones como por ejemplo conversion de números a letras en cualqueir idioma o incorporar algunas posibilidades espectaculares.

De hecho en Velneo hay aplicaciones super complejas con cientos de usuarios y no hace falta para ello usar nada de Javascript.

Creo que es mucho mas importante que domines la base de datos de Velneo, los punteros permanentes y las posibilidades que te dan, las actualizaciones, etc

Que llegues a entender, que cualquier programa empresarial puedes finalizarlo y que sea totalmente funcional, solo con la parte de datos, el interface será pura anecdota

Para el tema de permisos que comentas en Velneo tienes herramientas, puedes condicionar visibilidad de opciones, desactivarlas, etc con los comandos de interfaz.

Además si lo que deseas es una gestión de permisos, te recomiendo leas toda la documentación de vBase en donde hay un sistea diseñado para ello y que actualmente se esta usando en una instalacion con mas de 800 usuarios.

Detalle Novedades Velneo vBase 2.3 (explicación diccionario permisos)

Diccionario de permisos

Todo esto lo tienes en la ficha extendida de vBase


([N1] sergi.esteve) #3

Hola mperez, gracias por tu respuesta.

De momento no es viable usar vBase por herencia de aplicaciones anteriores, estoy estudiando si es posible migrar todas las aplicaciones a vBase pero es complicado.

He visto cómo usa vBase el diccionario de permisos, y el tema de ocultar las acciones usando PRM_USR me ha parecido muy tedioso por tener que especificar acción a acción, por eso pensé en que si existía una función javascript del tipo VMainWindow.hideAction(string), podría desarrollar muy rápidamente un sistema de permisos que oculte lo necesario por rol al arranque autoexec, pero no encuentro dicha función, no sé si existe.

Tienes razón en no liarse con javascript hasta conocer lo básico, la verdad es que estoy abarcando todo un poco, pero para este tema pensé que con javascript podría simplificar el código enormemente.

Ya tengo hecho el sistema de permisos a nivel de servidor de bd, donde poniendo unos triggers muy sencillos (de una línea) en las tablas, el user puede restringir el acceso.

Quería hacer lo mismo para interfaz donde el usario seleccione las acciones a ocultar.

Por tu respuesta supongo que dicha función no existe (mi gozo en un pozo), de daré una buena pensada a ver si me ocurre otra cosa.

Gracias y un saludo.


([N4] laukolan) #4

Yo de momento voy a usar los permisos de vBase pero cuando domine más la plataforma tengo pensado y creo que se podrá hacer mediante JavaScript, el mapear el proyecto de datos y poder asignar permisos por tablas y hasta por campos, ej tengo una tabla con los campos tabla,campo,lectura,escritura,borrado cuando se mapee el proyecto de datos rellenaría esta tabla con todas las tablas y campos y después se irían dando los permisos.
Al abrir un formulario se vería que tabla tiene asociada y se leería la tabla de permisos dando los permisos de lectura,escritura,o borrado oportunos.
Asi sí un cliente me pide por ejemplo que un determinado usuario pueda tener acceso al formulario de artículos pero que no vea el campo precio y que no pueda modificar la ficha de artículo sería bastante fácil de implementar.

Ya digo que es una idea que tengo que no se sí será posible implementar con JavaScript.
Ahí lo dejo.