Buenas,
Siguiendo el consejo del TOBA REFERENCIA respecto al USO DEL MENÚ donde dice :
Si el cambio se quiere aplicar de forma global, es preciso hacerlo durante el inicio del contexto de ejecución del proyecto y no requiere cambiar las propiedades de cada operación.
Es que extendí el contexto de ejecución y agregué la lógica necesaria para insertar nuevas opciones de menú todas apuntando a una misma operación, aquí el código:
$opciones = array(
array('id_actividad'=>'PF', 'nombre'=>'Proveedor', 'tipo_persona'=>'F')
, array('id_actividad'=>'PJ', 'nombre'=>'Proveedor', 'tipo_persona'=>'J')
, array('id_actividad'=>'EM', 'nombre'=>'Empresa', 'tipo_persona'=>'J')
);
foreach ($opciones as $opcion) {
// armamos la URL navegable hacia la operación "real"
$url = toba::vinculador()->get_url(
// toma el ID del proyecto (esto la hace mas portable)
toba::proyecto()->get_id(),
// indica la OPERACIÓN a la cual queremos navegar
'2000329',
// los parámetros que deseamos pasar, pueden ser varios, siempre clave => valor. Esto nos ayuda a configurar la operación según desde que opción del menú se accede
array('id_actividad'=>$opcion['id_actividad']),
// a esta altura no hay ZONAS definidas por lo que no se deben transmitir, da error si se deja TRUE que es el valor por defecto
array('zona'=>false)
);
// armamos los datos de la nueva opción del menú
$item_menu = array(
// este es el ITEM padre, para el caso la RAMA de la cual se desprende la nueva entrada en el menú
'padre' => '2000328'
// este es el ITEM (operación) que se va a abrir desde esta nueva entrada en el menú
, 'item' => '2000329'
// este es el texto que se muestra en el menú
, 'nombre' => $opcion['nombre'] . ($opcion['tipo_persona'] == 'F' ? ' (Persona Física)' : ' (Persona Jurídica)')
// de esta forma navegamos hacia la nueva opción del menú
, 'js' => 'window.open("'.$url.'", "_self")'
);
toba::menu()->agregar_opcion($item_menu);
El problema se presenta al acceder al proyecto. Luego de que el usuario se identifica y pulsa el botón INGRESAR arroja el siguiente error en pantalla:
El usuario no posee permisos para acceder al item solicitado
Mientras que en el log queda lo siguiente:
VINCULADOR: Fallo la creacion de un vinculo al item '2000329' porque el usuario no posee permisos para acceder al mismo. VINCULADOR: Fallo la creacion de un vinculo al item '2000329' porque el usuario no posee permisos para acceder al mismo. VINCULADOR: Fallo la creacion de un vinculo al item '2000329' porque el usuario no posee permisos para acceder al mismo.
Esto entiendo se refiere a $url = toba::vinculador()->get_url(…) y por lo que comprendo el problema radica que al momento de solicitar el vínculo con la opción de menú correspondiente las credenciales del usuario aún no están definidas y esto es por lo que no se puede generar el vínculo…
Pregunta:
¿Que debo modificar en el código para que funcione? ¿Acaso no puedo utilizar toba::vinculador?
Desde ya muchas gracias
Saludos
José