Exemplo n.º 1
0
 function get_molde_subclase()
 {
     $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre());
     //-- Ini
     $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente';
     $metodo = new toba_codigo_metodo_php('ini', array(), array($doc));
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Pre Sinc
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar";
     $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__pre_sincronizacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Post Sinc
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la sincronización";
     $comentarios = array($doc, "La transacción con la bd aún no fue terminada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__post_sincronizacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Pre Elim
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a la eliminación";
     $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__pre_eliminacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Post Elim
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la eliminación";
     $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__post_eliminacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     return $molde;
 }
Exemplo n.º 2
0
 /**
  * Extiende las clases de componentes de toba o de las componentes extendidas del
  * proyecto.
  *
  * @param toba_modelo_proyecto $proyecto
  * @param string $path
  * @param string $tipo valores posibles: 'toba' | 'proyecto'
  */
 static function extender_componentes(toba_modelo_proyecto $proyecto, $path, $tipo = 'toba')
 {
     $id_proyecto = $proyecto->get_id();
     if (is_dir($path)) {
         toba_manejador_archivos::eliminar_directorio($path);
     }
     toba_manejador_archivos::crear_arbol_directorios($path);
     $componentes = self::get_componentes_toba($proyecto);
     if ($tipo == 'toba') {
         $prefijo = '';
         $clase_a_extender = 'toba_%comp%';
     } else {
         $prefijo = 'pers_';
         $clase_a_extender = $id_proyecto . '_%comp%';
     }
     foreach ($componentes as $componente) {
         $nombre_clase = $id_proyecto . '_' . $prefijo . $componente;
         $clase = new toba_codigo_clase($nombre_clase, str_replace('%comp%', $componente, $clase_a_extender));
         $clase->guardar($path . '/' . $nombre_clase . '.php');
     }
 }
Exemplo n.º 3
0
 function get_molde_vacio()
 {
     $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_extendida_nombre());
     //-- Ini
     $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente';
     $metodo = new toba_codigo_metodo_php('ini', array(), array($doc));
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     return $molde;
 }
Exemplo n.º 4
0
 /**
  * Crea un caso de test de personalización a partir de la salida de compara_foto_schema
  */
 function opcion__crear_caso_test()
 {
     $nombre = $this->consola->dialogo_ingresar_texto('Ingrese el nombre del caso de test');
     $archivo_fuente = self::get_path_comparacion();
     $array = $this->salida_como_array($archivo_fuente);
     $clase = new toba_codigo_clase("{$nombre}", "toba_pers_caso_test");
     $prop = new toba_codigo_propiedad_php('$sql', 'protected', '', $array);
     $metodo = new toba_codigo_metodo_php('get_descripcion', array(), array('Descripción del caso de test'));
     $metodo->set_contenido("return '';");
     $clase->agregar($prop);
     $clase->agregar($metodo);
     $path = toba_dir() . "/proyectos/toba_testing/personalizacion/tests/{$nombre}.php";
     $clase->guardar($path);
     $this->consola->mensaje("El caso de test se guardó en {$path}");
 }
Exemplo n.º 5
0
 function get_molde_subclase()
 {
     $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre());
     //-- Ini
     $doc = 'Se ejecuta al inicio de todos los request en donde participa el componente';
     $metodo = new toba_codigo_metodo_php('ini', array(), array($doc));
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Pre Sinc
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos previo a sincronizar";
     $comentarios = array($doc, "La transacción con la bd ya fue iniciada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__pre_sincronizacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-- Post Sinc
     $doc = "Ventana para incluír validaciones (disparar una excepcion) o disparar procesos posteriores a la sincronización";
     $comentarios = array($doc, "La transacción con la bd aún no fue terminada (si es que hay)");
     $metodo = new toba_codigo_metodo_php('evt__post_sincronizacion', array(), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión previo a la inserción de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__pre_insert', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión posterior a la inserción de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__post_insert', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión previo a la actualización de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__pre_update', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión posterior a la actualización de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__post_update', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión previa al borrado de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__pre_delete', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     //-------------------------------------
     $doc = "Ventana de extensión posterior al borrado de un registro durante una sincronización con la base";
     $comentarios = array($doc, '@param mixed $id_registro Clave interna en la estructura $this->datos');
     $metodo = new toba_codigo_metodo_php('evt__post_delete', array('$id_registro'), $comentarios);
     $metodo->set_doc($doc);
     $molde->agregar($metodo);
     return $molde;
 }
Exemplo n.º 6
0
 function get_molde_subclase()
 {
     $molde = new toba_codigo_clase($this->get_subclase_nombre(), $this->get_clase_nombre());
     $ayuda = "Permite modificar la forma en que se grafica la pantalla, por defecto un componente sobre el otro";
     $comentarios = array($ayuda);
     $metodo = new toba_codigo_metodo_php('generar_layout', array(), $comentarios);
     $metodo->set_doc($ayuda);
     $molde->agregar($metodo);
     $php = array();
     $existe_previo = 0;
     foreach ($this->get_lista_dependencias_asociadas() as $dep) {
         if ($existe_previo) {
             $php[] = "echo '<hr />';";
         }
         $php[] = '$this->dep(\'' . $dep . '\')->generar_html();';
         $existe_previo = 1;
     }
     $molde->ultimo_elemento()->set_contenido($php);
     return $molde;
 }