function conf_evt__cuadro__eliminar(toba_evento_usuario $evt) { $usuario = $evt->get_parametros(); if ($usuario == toba::usuario()->get_id()) { $evt->anular(); } }
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'); } }
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)); } }
/** * 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; } }
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); } } } } }
/** * 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; } }
/** * 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(); } }