Pantallas | Ocultar un tab | OK | Se lanza excepcion cuando se navega explícitamente hacia la pantalla (ej.$this->set_pantalla('pant') donde pant esta restringido) | Ninguno | |
Componentes | Ocultar un formulario completo | OK | El componente no esta disponible luego de la configuración, en ese caso requiere programación defensiva. Ej if ($this->existe_dependencia('filtro')) { | Cualquier lógica js que implica acceder a otro componente requiere programación defensiva. Ej if (this.dep('form')) { | |
Eventos | Ocultar el botón 'Guardar' | OK. Excepto caso que se haya extendido el evento en js y el mismo ejecute código AJAX. Hackeando el js es posible acceder al método AJAX | Ninguno | Ninguno | |
Campos no-visibles | Ocultar el campo 'Fecha' | OK | El ef no esta disponible luego de la configuración, en ese caso requiere programación defensiva salvo método generar_html_ef($campo) que lo obvia si no existe | La lógica javascript requiere programación defensiva. Ej. if (this.ef('campo')) { | El problema de enviarlo al cliente es que se pierde parte de la idea de la restricción (el valor de los campos es visible en el código fuente del html) |
Campos no-editables | Hacer solo-lectura campo 'Fecha' | Inseguro, Es editable hackeando el html+js | Ninguno | Ninguno (salvo bug) | Para hacerlo no-editable realmente habría que tomar una de dos posturas: (1) guardar en sesión el valor original y usarlo al momento de los eventos (2) no enviarlo directamente en el evento (puede crear problemas de lógica) |
Columnas en cuadros | Ocultar una columna de un cuadro | OK | Ninguno | Ninguno | |
Columnas en filtro | Ocultar una columna de un filtro | OK | | | |