<?php
/**
* Descripción del Modelo TMPLControladores
*
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio.
* Quisque volutpat mattis eros. Nullam malesuada erat ut turpis.
*
* @package Constructor\Modelo
* @license GPL
* @author Diseñado por jpllinas@ccsm.org.co; Generado por SICAM.
*
*/
class TMPLControlador {
const ENCABEZADO = <<<php
<?php
/**
* Descripción del Controlador %%CONTROLADOR%%
*
* %%DESC_CONTROL%%
*
* Licenciado bajo la Licencia Apache, Versión 2.0;
* Usted no puede usar este archivo excepto en conformidad con la Licencia.
* Usted puede obtener una copia de la Licencia en:
* http://www.php.net/license/3_01.txt.
* A menos que sea requerido por la ley aplicable o acordado por escrito, el software
* Distribuido bajo la licencia se distribuye en una "AS IS" o "COMO ESTA" BASE,
* SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, expresas o implícitas.
* Consulte la Licencia para los permisos y Limitaciones bajo la Licencia.
*
* @package Componentes\%%COMPONENTE%%\Controladores
* @author %%NOMBRE_COLABORADOR%% <%%CORREO_COLABORADOR%%>
* @author SICAM %%VERSION_SICAM%% <%%CORREO_SICAM%%>
* @copyright %%ANIO_CREACION%% Cámara de Comercio de Santa Marta para el Magdalena
* @license http://www.php.net/license/3_01.txt PHP License 3.01
* @version %%VERSION_ARCHIVO%%
* @link componentes/%%COMPONENTE_DIR%%/%%CONTROLADOR%%/
*/
class %%CONTROLADOR%%Controlador extends Controladores {
php;
const VER_DETALLES = <<<php
/**
* Vista que se encarga de mostrar todos los detalles/datos asociados a
* los registros de %%TABLADATOS%%.
* @return HTML Datos e información de %%TABLADATOS%%.
*/
function verDetalles() {
$%%ENTIDAD%% = %%MODELO%%::datos(\$this->%%PREFIJODATOS%%ID);
Vistas::mostrar('%%COMPONENTE_DIR%%', '%%VISTAS%%/ver-detalles', array('%%ENTIDAD%%' => $%%ENTIDAD%%));
}
php;
const MOSTRAR_TODOS = <<<php
/**
* Vista que se encarga de organizar la forma de presentar
* los registros de %%TABLADATOS%% al usuario.
* @return HTML Listado de %%TABLADATOS%%.
*/
function mostrarTodos%%SUFIJO_VISTA%%() {
Vistas::mostrar('%%COMPONENTE_DIR%%', '%%VISTAS%%/lst-todos%%SUFIJO_VISTA%%');
}
php;
const CARGAR_TABLA = <<<php
/**
* Permite mostrar en forma de tabla los registros de %%CONTROLADOR%%.
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function tablaListado%%SUFIJO_VISTA%%() {
$%%ENTIDADES%% = %%MODELO%%::todos();
Vistas::mostrar('%%COMPONENTE_DIR%%', '%%VISTAS%%/tbl-todos%%SUFIJO_VISTA%%',
array( '%%ENTIDADES%%' => $%%ENTIDADES%%)
);
}
php;
const MOSTRAR_FORMULARIO_NUEVO = <<<php
/**
* Responde con el formulario de %%CONTROLADOR%% vacio, solo datos necesarios.
* LLama a la función que devuleve el formulario pero
* sin enviarle los datos de %%CONTROLADOR%%.
* Esta función se crea para poder gestionar el permiso de NUEVO %%CONTROLADOR%%
* @return HTML Formulario solo con datos inciales o necesarios.
*/
function mostrarFormularioNuevo() {
\$this->mostrarFormulario();
}
php;
const MOSTRAR_FORMULARIO_EDITAR = <<<php
/**
* Recibe el ID del %%CONTROLADOR%% y obtiene sus datos para ser enviados
* al formulario, y asi cargar los datos en los inputs.
* Esta función se crea para poder gestionar el permiso de EDITAR %%CONTROLADOR%%
* @return HTML Formulario con los datos del %%CONTROLADOR%% a editar.
*/
function mostrarFormularioEditar() {
$%%ENTIDADES%% = %%MODELO%%::datos(\$this->%%CONTROLADOR%%ID);
\$this->mostrarFormulario($%%ENTIDADES%%);
}
php;
const MOSTRAR_FORMULARIO = <<<php
/**
* Muestra el Formulario procesado para ser mostrado al usuario.
* Se le envian unos datos inciales para la carga de la vista, y
* se envia los datos del %%CONTROLADOR%% cuando se esta editando.
* @return HTML Vista del Formulario de %%CONTROLADOR%%
*/
private function mostrarFormulario($%%CONTROLADOR%% = null) {
Vistas::mostrar('%%COMPONENTE_DIR%%', '%%VISTAS%%/form-%%CONTROLADOR%%', array(
'versionSICAM' => Parametros::valor('VERSIONSICAM'),
'Vigencia' => Vigencias::actual(),
'Categorias' => Categorias::todas(),
'%%CONTROLADOR%%' => $%%CONTROLADOR%%
));
}
php;
const GUARDAR_DATOS = <<<php
/**
* Guardar Datos Recibidos, bien sea como un registro nuevo, o como una actualización.
* Despues imprime las Respuesta del Sistema a la ejecución de la operacion
*/
function guardarDatos() {
if (empty(\$this->%%CONTROLADOR%%ID)) {
echo \$this->guardarNuevo();
} else {
echo \$this->guardarCambios();
}
}
php;
const GUARDAR_DATOS_NUEVO = <<<php
/**
* Función que toma los datos enviados y crea un nuevo registro
* @return RespuestasSistema
*/
private function guardarNuevo() {
\$creadoID = %%MODELO%%::guardar(\$this->%%CONTROLADOR%%CATEGORIA,
\$this->%%CONTROLADOR%%CODIGO, \$this->%%CONTROLADOR%%TITULO,
\$this->%%CONTROLADOR%%DESCRIPCION,
\$this->%%CONTROLADOR%%ESTADO);
if (\$creadoID) {
return RespuestasSistema::exito("Nuevo Registro CREADO con EXITO");
} else {
return RespuestasSistema::fallo("No se pudo CREAR el nuevo %%CONTROLADOR%%. Si vuelve a suceder, contacte con el Centro TICS.");
}
}
php;
const GUARDAR_DATOS_CAMBIOS = <<<php
/**
* Función que toma los datos enviados y actualiza el registro
* @return RespuestasSistema
*/
private function guardarCambios() {
$%%CONTROLADOR%% = %%MODELO%%::datos(\$this->%%CONTROLADOR%%ID);
\$actualizado = %%MODELO%%::actualizar(
\$this->%%CONTROLADOR%%ID, \$this->%%CONTROLADOR%%CATEGORIA,
\$this->%%CONTROLADOR%%CODIGO, \$this->%%CONTROLADOR%%TITULO,
\$this->%%CONTROLADOR%%DESCRIPCION,
\$this->%%CONTROLADOR%%ESTADO
);
if (\$actualizado) {
return RespuestasSistema::exito("Registro ACTUALIZADO con EXITO.");
} else {
return RespuestasSistema::fallo("No se actualizó el %%CONTROLADOR%%. Verifique los datos, o contacte al Centro TICS.");
}
}
php;
const ELIMINAR_DATOS = <<<php
/**
* Eliminar un registro de la base de datos.
* Esta operación es irreversible.
* Si se tiene la referencia integral activada, la base de datos no va
* dejar eliminar si tiene otros registros asociados.
* @return RespuestasSistema Resultado de la Operacion que se envia al cliente
*/
function eliminar() {
$%%CONTROLADOR%%ParaEliminar = \$this->%%PREFIJODATOS%%SELECCIONADOS;
if (count($%%CONTROLADOR%%ParaEliminar)) {
\$n = 0;
foreach ($%%CONTROLADOR%%ParaEliminar as $%%PREFIJODATOS%%ELIMINAR):
if (%%MODELO%%::eliminar($%%PREFIJODATOS%%ELIMINAR)) {
\$n++;
}
endforeach;
if (\$n == 0) {
echo RespuestasSistema::error('No fue posible ELIMINAR. Contacte al centro TICS.');
} else if (\$n == count($%%CONTROLADOR%%ParaEliminar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [ELIMINAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [ELIMINAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [ELIMINAR]. Contacta al centro TICS');
}
}
php;
const REACTIVAR = <<<php
/**
* Cambiar el estado de un registro de la base de datos.
* Esta operacion cambia a estado ACTIVO el registro.
* @return RespuestasSistema Resultado de la Operacion
*/
function reactivar() {
$%%CONTROLADOR%%ParaActivar = \$this->%%PREFIJODATOS%%SELECCIONADOS;
if (count($%%CONTROLADOR%%ParaActivar)) {
\$n = 0;
foreach ($%%CONTROLADOR%%ParaActivar as $%%PREFIJODATOS%%ACTIVAR):
if (%%MODELO%%::activar($%%PREFIJODATOS%%ACTIVAR)) {
\$n++;
}
endforeach;
if (\$n == 0) {
echo RespuestasSistema::error('No fue posible REACTIVAR. Contacte al centro TICS.');
} else if (\$n == count($%%CONTROLADOR%%ParaActivar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [REACTIVAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [REACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [REACTIVAR]. Contacta al centro TICS');
}
}
php;
const DESACTIVAR = <<<php
/**
* Cambiar el estado de un registro de la base de datos.
* Esta operacion cambia a estado DESACTIVO / SUSPENDIDO / CANCELADO el registro.
* @return RespuestasSistema Resultado de la Operacion
*/
function desactivar() {
$%%CONTROLADOR%%ParaDesactivar = \$this->%%PREFIJODATOS%%SELECCIONADOS;
if (count($%%CONTROLADOR%%ParaDesactivar)) {
\$n = 0;
foreach ($%%CONTROLADOR%%ParaDesactivar as $%%PREFIJODATOS%%DESACTIVAR):
if (%%MODELO%%::desactivar($%%PREFIJODATOS%%DESACTIVAR)) {
\$n++;
}
endforeach;
if (\$n == 0) {
echo RespuestasSistema::error('No fue posible DESACTIVAR. Contacte al centro TICS.');
} else if (\$n == count($%%CONTROLADOR%%ParaDesactivar)) {
echo RespuestasSistema::exito('Se realizó la OPERACION [DESACTIVAR] exitosamente!');
} else {
echo RespuestasSistema::error('Hubo un error al [DESACTIVAR] alguno de los registros. Verifica los datos, o contacta al centro TICS.');
}
} else {
echo RespuestasSistema::error('No llegarón los datos para [DESACTIVAR]. Contacta al centro TICS');
}
}
php;
const PIECERA = <<<php
}
// Generado el %%FECHA_CREACION%%
php;
}