Skip to content

Commit

Permalink
No commit message
Browse files Browse the repository at this point in the history
  • Loading branch information
Juan Bordón committed May 12, 2005
1 parent c1b3c4b commit 76625e6
Show file tree
Hide file tree
Showing 8 changed files with 322 additions and 25 deletions.
88 changes: 78 additions & 10 deletions doc/trabajo.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,84 @@
------------------------- ELEMENTOS DE INTERFACE -------------------------
---------------------------------------------------------------------------


ABM ju

- como implementarlo
- tipos
- ventanas de I,D,U
- CN?
- relacion (BUFFER?)

EVENTOS vi

- Revision general
- incorporar cuadros
- heredar todo del EI
- Validacion JS (display grafico)

- Display del CI (anidaciones)

- OPERACION COMECHINGONES ju (mi?)

- Explicacion JS ju

- JAIIO mi
- Revision de tareas y organizacion vi


{

NUEVOS tickects?
----------------

COSAS


- El uso de tabs en los CI es herencia??? pensar

- permisos dentro de operaciones

- PROYECTO de ejemplo
- Pasar las cascadas a XML-RPC

- Manejar los CSS por proyecto
- Orden cuadro en esquema CI? [ esto no esta con POST, asi el cronometro ]
- Hacer un metodo en el hilo que avise cuando se rompe la navegacion
- Se necesita la administracion de consumos js? no puede ir todo como un include?
- Relacion ML->buffer
- Buffers con filtrado de registro
- Lugar centralizado donde se reserven teclas de acceso rapido (asi como se reservan TABS)

ADMINISTRADOR

- Cambiar la forma de ensamblar una operacion
- Poner teclas de acceso para los ITEMS que se esta probando
- Separar todo por modulos
- Link al codigo PHP de una subclase desde la instanciacion (para entender operaciones)

(comechingones)

- BASICOS

--------------------------------------------------------------------
REFERENCIAS
--------------------------------------------------------------------
-> Pendiente
En desarrollo
Terminado, para revisar
-D Dialogo!
?? Explicar m�s
! Prioridad avanzada
--------------------------------------------------------------------
- Ver logica ABM (entidad y buffer) 1d
- Persistencia de BUFFERS en memoria cuando son consumidos desde CIs. 1/2
- Colapsar objetos standard a demanda 1/2
- CUADROS 2 horas
- Mostrar total
- Mostrar fila seleccionada
- Metodo INFO post proceso
- Cambiar la forma de display de la cola de mensajes (alert)
- Dejar el modulo de mensajes online
- Ocultar EFs.

- Opcionales
- Estetica de la anidacion de CIs
- DEFINIR la JERARQUIA DE EXCEPCIONES (eventos, definicion, etc)
- ignore_user_abort()
- Definir aserciones en los puntos estrategicos
- Diagrama de secuencia
- Reservar tab-order
- Imagenes en botones
- Unir CN y CN_T
}
5 changes: 4 additions & 1 deletion php/nucleo/browser/clases/objeto.php
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,10 @@ function obtener_definicion_db()
d.base as fuente_base,
d.link_instancia as fuente_link_instancia,
d.instancia_id as fuente_link_instancia_id,
oi.objeto as objeto_existe_ayuda
oi.objeto as objeto_existe_ayuda,
o.parametro_a as parametro_a,
o.parametro_b as parametro_b,
o.parametro_c as parametro_c
FROM apex_objeto o
LEFT OUTER JOIN apex_objeto_info oi
ON (o.objeto = oi.objeto AND o.proyecto = oi.objeto_proyecto),
Expand Down
24 changes: 15 additions & 9 deletions php/nucleo/browser/clases/objeto_ci.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
*/
class objeto_ci extends objeto
{
protected $cn; // Controlador de negocio asociado
protected $cn=null; // Controlador de negocio asociado
protected $nombre_formulario; // privado | string | Nombre del <form> del MT
protected $submit; // Boton de SUBMIT
protected $dependencias_ci_globales = array(); // Lista de todas las dependencias CI instanciadas desde el momento 0
Expand Down Expand Up @@ -457,19 +457,25 @@ function cargar_datos_dependencias()
}
}
//-- Inyecto DATOS en los EIs, si es que existe un metodo para cargarlos --
$metodo = apex_ci_evento . apex_ci_separador . $dep . apex_ci_separador . "carga";
if(method_exists($this, $metodo)){
$this->dependencias[$dep]->cargar_datos( $this->$metodo() );
$this->log->debug($this->get_txt() . "[ cargar_datos_dependencia ] '$dep' -> [ $metodo ] ");
}else{
$this->log->warning($this->get_txt() . "[ cargar_datos_dependencia ] El METODO [ $metodo ] no existe - '$dep' no fue cargada");
//Puede implementarse un metodo generico de manejo de eventos?
}
$this->dependencias[$dep]->cargar_datos( $this->proveer_datos_dependencias($dep) );
}
}
}
//-------------------------------------------------------------------------------

function proveer_datos_dependencias($dependencia)
{
$metodo = apex_ci_evento . apex_ci_separador . $dependencia . apex_ci_separador . "carga";
if(method_exists($this, $metodo)){
$this->log->debug($this->get_txt() . "[ cargar_datos_dependencia ] '$dependencia' -> [ $metodo ] ");
return $this->$metodo();
}else{
$this->log->warning($this->get_txt() . "[ cargar_datos_dependencia ] El METODO [ $metodo ] no existe - '$dependencia' no fue cargada");
return null;
}
}
//-------------------------------------------------------------------------------

function obtener_html_base()
{
$this->get_info_post_proceso();
Expand Down
81 changes: 81 additions & 0 deletions php/nucleo/browser/subclases/ci_abm_dbt.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
<?
require_once("nucleo/browser/clases/objeto_ci_me_tab.php");

class ci_abm_dbt extends objeto_ci_me_tab
{
protected $clave;
protected $selecciones;
private $db_tablas;

function __construct($id)
{
parent::__construct($id);
include_once( $this->info["parametro_a"]);
$clase = $this->info['parametro_b'];
$this->db_tablas = new $clase($this->info['fuente']);
}

function destruir()
{
ei_arbol($this->get_estado_sesion(),"ESTADO Interno");
//ei_arbol($this->db_tablas->info());
parent::destruir();
}

function mantener_estado_sesion()
{
$estado = parent::mantener_estado_sesion();
$estado[] = "clave";
$estado[] = "selecciones";
return $estado;
}

//------------------------------------------------------------------------
//-- traduzco los EVENTOS al DB_TABLAS
//------------------------------------------------------------------------

public function registrar_evento($id, $evento, $parametros=null)
//Se disparan eventos dentro del nivel actual
{
$e = explode("_",$id);
$tipo_ei = $e[0];
$elemento = $e[1];
if($tipo_ei == "c"){ //-- Cuadro
//Los cuadros solo seleccionan
$this->selecciones[$elemento] = $parametros;
}elseif($tipo == "f"){ //-- Formulario
//Obtengo el elemento manejado
//Obtengo la cantidad de registro que maneja db_registros
$cr = $this->db_tablas->obtener_cardinalidad();
if($cr == 1){
//El elemento maneja un registro
ei_arbol($parametros, $id . " - " .$evento);
}else{
//El elemento maneja mas de un registro
ei_arbol($parametros, $id . " - " .$evento);
}
}
}

function proveer_datos_dependencias($dependencia)
{
echo "CONTENIDO DE : $dependencia";
}

//------------------------------------------------------------------------
//-- Eventos del ABM
//------------------------------------------------------------------------

function cargar($clave)
{
$this->clave = $clave;
$this->db_tablas->cargar($clave);
}

function eliminar()
{
// Eliminar el DBTABLA
}
//------------------------------------------------------------------------
}
?>
135 changes: 135 additions & 0 deletions php/nucleo/browser/subclases/ci_abm_nav.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
<?
require_once("nucleo/browser/clases/objeto_ci_me.php");

class ci_abm_nav extends objeto_ci_me
{
protected $filtro;
protected $seleccion;
protected $nueva_entidad=false;

function __construct($id)
{
parent::__construct($id);
}

function mantener_estado_sesion()
{
$estado = parent::mantener_estado_sesion();
$estado[] = "filtro";
$estado[] = "seleccion";
$estado[] = "nueva_entidad";
return $estado;
}

function evt__limpieza_memoria()
{
parent::evt__limpieza_memoria(array("filtro"));
}

//--------------------------------------------------------------
// Construccion de la INTERFACE
//--------------------------------------------------------------

function get_etapa_actual()
//Sobreescribir la navegacion entre etapas
{
return ( isset($this->seleccion) || ( isset($this->nueva_entidad) && $this->nueva_entidad) ) ? 2 : 1;
}

function get_lista_eventos()
//Generacion de la lista de botones
{
$evento = array();
if( $this->get_etapa_actual() === 1 ){
//Seleeccion de la entidad
$evento['agregar']['etiqueta'] = "&Agregar";
$evento['agregar']['estilo']="abm-input";
$evento['agregar']['tip']="Agregar un nuevo registro";
}else{
//Edicion de la entidad
$evento['cancelar']['etiqueta'] = "&Cancelar";
$evento['cancelar']['estilo']="abm-input";
//$evento['cancelar']['confirmacion'] = "¿Desea descartar los cambios?";
$evento['cancelar']['tip']="Descarta los cambios realizados";
$evento['guardar']['etiqueta'] = "&Guardar";
$evento['guardar']['estilo']="abm-input";
$evento['guardar']['tip']="Guardar cambios";
$evento['eliminar']['etiqueta'] = "&Eliminar";
$evento['eliminar']['confirmacion'] = "¿Desea eliminar los datos?";
$evento['eliminar']['estilo']="abm-input-eliminar";
$evento['eliminar']['tip']="Eliminar los datos";
}
return $evento;
}

function evt__pre_cargar_datos_dependencias()
{
if( ($this->get_etapa_actual() === 2) && (isset($this->seleccion)) ){
$this->dependencias["entidad"]->cargar($this->seleccion);
}
}

//--------------------------------------------------------------
// EVENTOS Dependencias
//--------------------------------------------------------------

function evt__filtro__filtrar($datos)
{
//if( array_no_nulo($datos) ){
$this->filtro = $datos;
//}
}

function evt__filtro__limpiar($datos)
{
unset( $this->filtro );
}

function evt__filtro__carga()
{
if(isset($this->filtro)){
return $this->filtro;
}
}

function evt__cuadro__seleccion($registro)
{
$this->seleccion = $registro;

}

function evt__cuadro__carga()
{
include_once("p_nucleo/anexas/dao_anx.php");
return dao_anx::get_personas();
}

//--------------------------------------------------------------

function evt__agregar()
{
$this->nueva_entidad = true;
}

function evt__entrada__2()
{
}

function evt__cancelar()
{
$this->disparar_limpieza_memoria();
}

function evt__guardar()
{

}

function evt__eliminar()
{

}
//--------------------------------------------------------------

}
?>
9 changes: 7 additions & 2 deletions php/nucleo/persistencia/db_tablas.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?
require_once('nucleo/lib/buffer_db.php');
require_once('nucleo/persistencia/db_registros.php');
/*
Una entidad posee un conjunto de buffers y conoce la logica de persistencia entre los mismos
Definir un nuevo tipo de entidad deberia implicar:
Expand All @@ -9,7 +9,7 @@
- reescribir las primitivas (sincro, upd) si hace algo muy especifico
*/
class entidad
class db_tablas
{
protected $log;
protected $elemento;
Expand All @@ -31,6 +31,11 @@ function info()
return $temp;
}

function obtener_cardinalidad($elemento)
{
return $this->elemento[$elemento]['registros'];
}

//-------------------------------------------------------
//------ Interface de EXTERNA
//-------------------------------------------------------
Expand Down
Loading

0 comments on commit 76625e6

Please sign in to comment.