Ejemplo n.º 1
0
 function conf_evt__cuadro__eliminar(toba_evento_usuario $evt)
 {
     $usuario = $evt->get_parametros();
     if ($usuario == toba::usuario()->get_id()) {
         $evt->anular();
     }
 }
Ejemplo n.º 2
0
 function conf_evt__cuadro__crear_auditoria(toba_evento_usuario $evt, $fila)
 {
     $existe = false;
     try {
         $existe = $this->existe_auditoria($evt->get_parametros());
     } catch (toba_error $e) {
         toba::logger()->debug($e->getMessage());
     }
     if ($existe) {
         $evt->set_etiqueta('Actualizar Schema');
         $evt->set_msg_ayuda('Migra el schema de auditoria tomando campos nuevos o modificados');
     } else {
         $evt->set_etiqueta('Activar Auditoría');
         $evt->set_msg_ayuda('Crea un schema paralelo con la misma estructura que el schema de datos original, conteniendo todas las modificaciones a los datos del mismo');
     }
 }
Ejemplo n.º 3
0
 function conf_evt__cuadro_sede__dictado(toba_evento_usuario $evento, $fila)
 {
     //s__lista_sede son todas las sedes que se muestra en el cuadro
     //s__sedes_seleccionados son las sedes que ya fueron seleccionados
     if (isset($this->s__sedes_seleccionados)) {
         //Ya existen sedes seleccionados o hay ninguna sede seleccionadas en forma local pedido por el usuario
         if ($this->s__sedes_seleccionados != -1) {
             //Por si fuera el caso especial que no hay sedes seleccionadas
             $evento->set_check_activo($this->es_sede($this->s__lista_sedes[$fila]['id_sede'], $this->s__sedes_seleccionados));
         }
     } else {
         //Recuperar de la BD
         $sedes = $this->controlador()->dep('datos')->tabla('se_dicta')->listar_sedes_de_plan($this->controlador->s__id_plan);
         $evento->set_check_activo($this->es_sede($this->s__lista_sedes[$fila]['id_sede'], $sedes));
     }
 }
Ejemplo n.º 4
0
 /**
  * Carga la lista de eventos definidos desde el administrador 
  * La redefinicion filtra solo aquellos utilizados en esta pantalla
  * y agrega los tabs como eventos
  * @ignore 
  */
 protected function cargar_lista_eventos()
 {
     //--- Filtra los eventos definidos por el usuario segun la asignacion a pantallas
     parent::cargar_lista_eventos();
     if (isset($this->_evento_implicito)) {
         //Si el evento implicito no esta en esta pantalla, no usarlo
         $id = $this->_evento_implicito->get_id();
         if (!isset($this->_eventos_usuario_utilizados[$id])) {
             unset($this->_evento_implicito);
         }
     }
     //Como los eventos de pantalla vienen indexados por identificador (al igual que los utilizados por el usuario) podemos usar eso a nuestro favor
     // en lugar de hacer el tipico ciclo, asi obtenemos los eventos usados por el usuario en una linea.
     $this->_eventos_usuario_utilizados = array_intersect_key($this->_eventos_usuario_utilizados, $this->_eventos_pantalla);
     //-- Agrega los eventos internos relacionados con la navegacion tabs
     switch ($this->_info_ci['tipo_navegacion']) {
         case self::NAVEGACION_TAB_HORIZONTAL:
         case self::NAVEGACION_TAB_VERTICAL:
             foreach ($this->_lista_tabs as $id => $tab) {
                 $this->registrar_evento_cambio_tab($id);
             }
             break;
         case self::NAVEGACION_WIZARD:
             list($anterior, $siguiente) = array_elem_limitrofes(array_keys($this->get_lista_tabs()), $this->_info_pantalla['identificador']);
             if ($anterior !== false) {
                 $e = new toba_evento_usuario();
                 $e->set_id('cambiar_tab__anterior');
                 $e->set_etiqueta('< &Anterior');
                 $e->set_estilo_css('ei-boton-izq');
                 $e->set_maneja_datos(false);
                 $this->_eventos_usuario[$e->get_id()] = $e;
                 //Lista de eventos
                 $nuevo[$e->get_id()] = $e;
                 $this->_eventos_usuario_utilizados = array_merge($nuevo, $this->_eventos_usuario_utilizados);
                 //$this->_eventos_usuario_utilizados[ $e->get_id() ] = $e;	//Lista de utilizados
             }
             if ($siguiente !== false) {
                 $e = new toba_evento_usuario();
                 $e->set_id('cambiar_tab__siguiente');
                 $e->set_etiqueta('&Siguiente >');
                 $this->_eventos_usuario[$e->get_id()] = $e;
                 //Lista de eventos
                 $this->_eventos_usuario_utilizados[$e->get_id()] = $e;
                 //Lista de utilizados
             }
             break;
     }
 }
Ejemplo n.º 5
0
 function conf_evt__cuadro__multiple_con_etiq(toba_evento_usuario $evento, $fila)
 {
     if ($this->s__seleccionar_todos == 1) {
         //si presiono el boton seleccionar todos
         $evento->set_check_activo(true);
     } else {
         if ($this->s__deseleccionar_todos == 1) {
             $evento->set_check_activo(false);
         } else {
             $sele = array();
             if (isset($this->s__seleccionadas)) {
                 //si hay seleccionados
                 foreach ($this->s__seleccionadas as $key => $value) {
                     $sele[] = $value['id_designacion'];
                 }
             }
             if (isset($this->s__seleccionadas)) {
                 //si hay seleccionados
                 if (in_array($this->s__listado[$fila]['id_designacion'], $sele)) {
                     $evento->set_check_activo(true);
                 } else {
                     $evento->set_check_activo(false);
                 }
             }
         }
     }
 }
Ejemplo n.º 6
0
 /**
  * Genera el html de un botón específico
  * @param toba_evento_usuario $evento
  * @param boolean $retornar Define si devuelve como resultado el HTML o lo 'imprime'
  */
 protected function generar_html_boton($evento, $retornar = false)
 {
     $salida = '';
     //--- Link al editor
     if (toba_editor::modo_prueba()) {
         $salida .= toba_editor::get_vinculo_evento($this->_id, $this->_info['clase_editor_item'], $evento->get_id()) . "\n";
     }
     //--- Utilidades de impresion
     if ($evento->posee_accion_imprimir()) {
         $this->_utilizar_impresion_html = true;
     }
     if (!$evento->esta_anulado()) {
         $salida .= $evento->get_html($this->_submit, $this->objeto_js, $this->_id);
     }
     if ($retornar) {
         return $salida;
     } else {
         echo $salida;
     }
 }
Ejemplo n.º 7
0
 /**
  * Permite configurar el evento por fila.
  * Útil para decidir si el evento debe estar disponible o no de acuerdo a los datos de la fila
  * [wiki:Referencia/Objetos/ei_cuadro#Filtradodeeventosporfila Ver más]
  */
 function conf_evt__cuadro__multiple_con_etiq(toba_evento_usuario $evento, $fila)
 {
     if ($this->datos[$fila]['i'] % 2 == 0) {
         $evento->anular();
     }
 }