</UML:Operation>
<UML:Operation stereotype="" package="" xmi.id="314" type="bool" abstract="0" documentation="Actualiza los datos de la asociacion en la base de datos." name="modificarAsociacion" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="" type="int" abstract="0" documentation="Identificador del permiso" name="idPermiso" static="0" scope="200" />
- <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="int" abstract="0" documentation="Identificador del permiso anterior" name="idPermiso_ant" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="3" value="''" type="string" abstract="0" documentation="Observacion a insertar" name="observacion" static="0" scope="200" />
<UML:Parameter stereotype="" package="" xmi.id="4" value="''" type="string" abstract="0" documentation="Observacion anterior" name="obs_ant" static="0" scope="200" />
</UML:Operation>
<UML:ConceptWidget usesdiagramfillcolour="0" width="469" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="240" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="280" usefillcolor="1" showattributes="1" xmi.id="208" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="396" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="10" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" xmi.id="210" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="95" showattsigs="601" usesdiagramusefillcolour="0" x="590" linecolour="#ff0000" y="80" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="265" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="558" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="540" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="630" usefillcolor="1" showattributes="1" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="473" showattsigs="601" usesdiagramusefillcolour="0" x="10" linecolour="#ff0000" y="540" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="630" usefillcolor="1" showattributes="1" xmi.id="209" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="409" showattsigs="601" usesdiagramusefillcolour="0" x="590" linecolour="#ff0000" y="130" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="238" usefillcolor="1" showattributes="1" xmi.id="207" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,8,-1,0,50,0,0,0,0,0" />
</widgets>
<messages/>
//Reemplazo el filtro por ##?##
$consulta = ereg_replace ('##FILTRO##', $filtro, $tmp2);
}
+ $consulta.= $sql['obtener_id_perfiles4'];
$dbh = $db->prepare($consulta);
if ($id_sistema) {
$tmp[] = $id_sistema;
} // -X2C Class :SAMURAI_Perfil
-?>
+?>
\ No newline at end of file
obtener_id_perfiles = " SELECT ps.id_perfil FROM samurai.perfil_sist as ps, samurai.perfil as p WHERE ps.id_perfil = p.id_perfil "
obtener_id_perfiles3 = " AND ps.id_sistema = ? "
obtener_id_perfiles2 = " AND p.desc_perfil like '%##FILTRO##%'"
+obtener_id_perfiles4 = " ORDER BY p.desc_perfil"
borrar_perfil = " DELETE FROM samurai.perfil as p "
obtener_permisos = " SELECT id_permiso, observaciones FROM samurai.perm_perfil_sist WHERE id_perfil = ? AND id_sistema = ?"
$consulta.= $sql['obtener_datos_permiso3'];
$tmp[] = $id_sistema;
}
+ $consulta.= $sql['obtener_datos_permiso5'];
$dbh = $db->prepare($consulta);
$res = $db->execute($dbh, $tmp);
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
obtener_datos_permiso = "SELECT p.id_permiso, p.desc_permiso, p.responsable FROM samurai.permiso as p "
obtener_datos_permiso2 = "WHERE p.id_permiso = ? "
+obtener_datos_permiso5 = " ORDER BY p.desc_permiso "
obtener_datos_permiso3 = ",samurai.perm_sist as ps WHERE ps.id_sistema = ? AND ps.id_permiso = p.id_permiso "
obtener_datos_permiso4 = ",samurai.perm_sist as ps WHERE ps.id_permiso = p.id_permiso "
borrar_permiso = "DELETE FROM samurai.permiso WHERE id_permiso = ?"
if (PEAR::isError($res)) {
return $res;
}
+ $this->_id = $idSistema;
}
// -X2C
$re = $this->_db->autoPrepare('perm_sist', $datos, DB_AUTOQUERY_INSERT);
if (isset($this->_permisos)) {
foreach ($this->_permisos as $permiso) {
- $datos = array ($permiso['0'], $idSistema, $this->getResponsable());
+ $datos = array ($permiso, $idSistema, $this->getResponsable());
$res = $this->_db->execute($re, $datos);
if (PEAR::isError($res)) {
return $res;
*/
function guardarAsociacion($idPermiso, $observacion = '') // ~X2C
{
- $error = true;
if (!$this->_existeAsociacion($idPermiso, $observacion)) {
//Guardo la asociacion
//Grabo el sistema
$res = $this->_db->autoExecute('perm_sist', $datos, DB_AUTOQUERY_INSERT);
//Recargo los datos del sistema
$this->_obtenerDatosDb();
- $error = false;
+ return null;
+ }
+ else {
+ return new PEAR_Error('La Asociacion ya existe.');
}
- return $error;
}
// -X2C
*/
function eliminarAsociacion($idPermiso, $observacion = '') // ~X2C
{
- $error = false;
- //Elimino la asociacion
- $this->_borrarPermisosDb($this->getId(), $observacion, $idPermiso);
+ //TODO Arreglar el asco este
+ $sql = parse_ini_file(dirname(__FILE__) . '/Sistema/consultas.ini', true);
+ $res = '';
+ //Obtengo los id de los perfiles del permiso en el sistema
+ $tmp = $sql['ea_obt_idperfil'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($idPermiso, $observacion, $this->getId()));
+ if (PEAR::isError($res)) {
+ return $res;
+ }
+ $i = 0;
+ $tmp = '';
+ while ($re = $res->fetchRow(DB_FETCHMODE_ORDERED)) {
+ $tmp[] = $re['0'];
+ $i++;
+ }
+ $PERFILES = $tmp;
+ //Borro el permiso de los perfiles del sistema
+ $tmp = $sql['ea_del_perm_perfil_sist'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($idPermiso, $observacion, $this->getId()));
+ if (PEAR::isError($res)) {
+ return $res;
+ }
+ //Verifico si era el unico permiso de cada uno de los perfiles en los que estaba asignado
+ if (@$PERFILES) {
+ foreach ($PERFILES as $perfil) {
+ //Cuento
+ $tmp = $sql['ea_obt_cuenta_perfil'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($perfil, $this->getId()));
+ if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && $re['cuenta'] == 0) {
+ //Borro perfil_sist
+ $tmp = $sql['ea_del_perfil_sist'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($perfil, $this->getId()));
+ if (PEAR::isError($res)) {
+ return $res;
+ }
+ //Borro perfil_sist_usuario
+ $tmp = $sql['ea_del_perfil_sist_usuario'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($perfil, $this->getId()));
+ if (PEAR::isError($res)) {
+ return $res;
+ }
+ //Verifico si hay otro sistema usando este perfil
+ $tmp = $sql['ea_obt_cuenta_perfil_sist'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($perfil));
+ if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && $re['cuenta'] == 0){
+ $tmp = $sql['ea_del_perfil'];
+ $dbh = $this->_db->prepare($tmp);
+ $res = $this->_db->execute($dbh, array ($perfil));
+ if (PEAR::isError($res)) {
+ return $res;
+ }
+ }
+ }
+ }
+ }
+ //Borro la asociacion perm_sist
+ $res = $this->_borrarPermisosDb($this->getId(), $observacion, $idPermiso);
+ if (PEAR::isError($res)) {
+ return $res;
+ }
//Recargo los datos del sistema
$this->_obtenerDatosDb();
- return $error;
}
// -X2C
* Actualiza los datos de la asociacion en la base de datos.
*
* @param int $idPermiso Identificador del permiso
- * @param int $idPermiso_ant Identificador del permiso anterior
* @param string $observacion Observacion a insertar
* @param string $obs_ant Observacion anterior
*
* @return bool
* @access public
*/
- function modificarAsociacion($idPermiso, $idPermiso_ant, $observacion = '', $obs_ant = '') // ~X2C
+ function modificarAsociacion($idPermiso, $observacion = '', $obs_ant = '') // ~X2C
{
- $error = true;
//Busco la nueva asociacion
if (!$this->_existeAsociacion($idPermiso, $observacion)) {
//Actualizo la asociacion
$this->_db->autoExecute('perm_sist',
$datos,
DB_AUTOQUERY_UPDATE,
- 'id_sistema = '.$this->getId().' AND id_permiso = '.$idPermiso_ant.' AND observaciones =\''.$obs_ant.'\'');
+ 'id_sistema = '.$this->getId().' AND id_permiso = '.$idPermiso.' AND observaciones =\''.$obs_ant.'\'');
//Recargo los datos del sistema
$this->_obtenerDatosDb();
- $error = false;
+ return null;
+ }
+ else {
+ return new PEAR_Error('La Asociacion ya existe.');
}
- return $error;
}
// -X2C
//OBTENGO LOS ID DE LA BASE
$rta = array();
$sql = parse_ini_file(dirname(__FILE__) . '/Sistema/consultas.ini', true);
- $dbh = $db->prepare($sql['obtener_datos_sistema'].$sql['obtener_datos_sistema3']);
+ $dbh = $db->prepare($sql['obtener_datos_sistema'].$sql['obtener_datos_sistema3'].$sql['obtener_datos_sistema4']);
$res = $db->execute($dbh);
while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) {
array_push($rta,$re['id_sistema']);
} // -X2C Class :SAMURAI_Sistema
-?>
\ No newline at end of file
+?>
; Configuración de la base de datos.
; $Id$
-
-
-
obtener_datos_sistema = " SELECT s.id_sistema as id_sistema, s.nombre_sistema as nombre_sistema, s.desc_sistema as desc_sistema, s.fecha_inicio as fecha_inicio, s.fecha_fin as fecha_fin, s.fecha_implementacion as fecha_implementacion, s.contacto as contacto, s.responsable as responsable FROM samurai.sistema as s "
obtener_datos_sistema2 = " WHERE s.id_sistema = ? "
obtener_datos_sistema3 = " WHERE s.estado = 1"
+obtener_datos_sistema4 = " ORDER BY s.nombre_sistema"
obtener_permisos = " SELECT ps.id_permiso, ps.observaciones, p.desc_permiso FROM samurai.perm_sist as ps, samurai.permiso as p WHERE ps.id_sistema = ? AND ps.id_permiso = p.id_permiso"
-obtener_permisos2 = " ORDER BY p.id_permiso"
+obtener_permisos2 = " ORDER BY p.desc_permiso"
obtener_permisos3 = " AND ps.id_permiso = ?"
obtener_permisos4 = " AND ps.observaciones = ?"
obtener_max_id_sistemas = " SELECT IFNULL(max(id_sistema), 1) as id_sistema FROM samurai.sistema"
borrar_permisos = " DELETE FROM samurai.perm_sist WHERE id_sistema = ? "
borrar_permisos2 = " AND observaciones = ?"
borrar_permisos3 = " AND id_permiso = ?"
+
+;BORRAR ASOCIACIONES
+ea_obt_idperfil = "SELECT id_perfil FROM samurai.perm_perfil_sist WHERE id_permiso = ? AND observaciones = ? AND id_sistema = ?"
+ea_del_perm_perfil_sist = "DELETE FROM samurai.perm_perfil_sist WHERE id_permiso = ? AND observaciones = ? AND id_sistema = ?"
+ea_obt_cuenta_perfil = "SELECT IF(0,0,count(*)) as cuenta FROM samurai.perm_perfil_sist WHERE id_perfil = ? AND id_sistema = ?"
+ea_obt_cuenta_perfil_sist = "SELECT IF(0,0,count(*)) as cuenta FROM samurai.perfil_sist WHERE id_perfil = ?"
+ea_del_perfil_sist = "DELETE FROM samurai.perfil_sist WHERE id_perfil = ? AND id_sistema = ?"
+ea_del_perfil_sist_usuario = "DELETE FROM samurai.perfil_sist_usuario WHERE id_perfil = ? AND id_sistema = ?"
+ea_del_perfil = "DELETE FROM samurai.perfil WHERE id_perfil = ?"
+
// -X2C
} // -X2C Class :SAMURAI_Usuario
-?>
+?>
\ No newline at end of file
'imagenSelect' => '',
'link' => 'sistemas/sistemas-permisos',
),
+ array ( 'nombre' => 'ABM Asociacion',
+ 'imagenComun' => '',
+ 'imagenMouseOn' => '',
+ 'imagenSelect' => '',
+ 'link' => 'sistemas/sistemas-permisos-abm',
+ ),
),
),
array (
case 'D': $TipoPerfil = 'Dios';
break;
}
-//}}]
+//}}}
//AGREGO LOS ELEMENTOS AL FORM {{{
$FORM->addElement ('static', 'id_perfil' , 'Id Perfil' , $PERFIL->getId() );
//DIBUJO LA PAGINA {{{
$PAGE->addBodyContent($FORM);
- $PAGE->addBodyContent(new HTML_Image('/MECON/images/general_cerrar.gif', 'Cerrar', array ('border'=>'0', 'onClick'=>'self.close();return false;')));
+ $imagen = new HTML_Image('/MECON/images/general_cerrar.gif');
+ $PAGE->addBodyContent('<a href="" onClick=\'self.close();return false;\'>'.$imagen->toHtml().'</a>');
$PAGE->display();
// }}}
//FIN
$imagen = new HTML_Image('/MECON/images/vinetas_flecha_doble.gif');
$row = array ($imagen->toHtml().' <b>SISTEMA: '.$SISTEMA->getNombre().'</b>');
$TABLA3->addRow($row,'align=left');
- $row = array ('<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
+ $row = array ('<a href="perfiles-nuevo"><img src="/MECON/images/general_nuevo.gif" border="0">Ingresar Nuevo Perfil</a>');
$TABLA2->addRow($row,'align=right');
$row = array ('Id','Descripcion','Tipo','Modif.','Elim.');
$TABLA->addRow($row,'cabecera');
}
else {
$res = $SISTEMA->guardarDatos($aceptar->getValue());
+ if ($aceptar->getValue() != 'Eliminar') {
+ $_SESSION['samurai']['id_sistema'] = $SISTEMA->getId();
+ }
if (PEAR::isError($res)) {
$ERROR = new MECON_HTML_Error($res->getMessage());
}
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
+// +----------------------------------------------------------------------+
+// | PHP Version 4 |
+// +----------------------------------------------------------------------+
+// | Copyright (c) 1997-2003 The PHP Group |
+// +----------------------------------------------------------------------+
+// | This source file is subject to version 2.02 of the PHP license, |
+// | that is bundled with this package in the file LICENSE, and is |
+// | available at through the world-wide-web at |
+// | http://www.php.net/license/2_02.txt. |
+// | If you did not receive a copy of the PHP license and are unable to |
+// | obtain it through the world-wide-web, please send a note to |
+// | license@php.net so we can mail you a copy immediately. |
+// +----------------------------------------------------------------------+
+// | Created: jue jul 17 16:29:54 ART 2003
+// | Author: Martin Marrese <mmarre@mecon.gov.ar>
+// +----------------------------------------------------------------------+
+//
+// $Id$
+//
+
+//REQUIRE ONCE {{{
+ //MECON {{{
+ require_once 'MECON/HTML/QuickForm.php';
+ require_once 'MECON/HTML/Error.php';
+ //}}}
+ //SAMURAI {{{
+ require_once 'SAMURAI/Sistema.php';
+ //}}}
+ require_once 'HTML/Image.php';
+ require_once 'HTML/Page.php';
+// }}}
+
+//CREO LOS OBJETOS NECESARIOS {{{
+ if (!@$_GET['id_sistema']) {
+ $FORM = new MECON_HTML_Error('No hay un perfil seleccionado');
+ }
+ else {
+ $PAGE = new HTML_Page(array ('doctype' => 'HTML 4.01 Transitional',
+ 'charset' => 'iso-8859-1',
+ 'lineend' => 'unix',
+ 'language' => 'es',
+ 'cache' => 'false',
+ 'simple' => 'true'));
+ $FORM = new MECON_HTML_QuickForm ('sistemas_datos','post','sistemas-datos');
+ $SISTEMA = new SAMURAI_Sistema ($DB, $_GET['id_sistema']);
+ }
+// }}}
+
+
+//AGREGO LOS ELEMENTOS AL FORM {{{
+ $fecha_inicio = $SISTEMA->getFechaInicio();
+ $fecha_fin = $SISTEMA->getFechaFin();
+ $fecha_implementacion = $SISTEMA->getFechaImplementacion();
+ $fecha_inicio = $fecha_inicio ? $fecha_inicio->format("%d-%m-%Y") : '--';
+ $fecha_fin = $fecha_fin ? $fecha_fin->format("%d-%m-%Y") : '--';
+ $fecha_implementacion = $fecha_implementacion ? $fecha_implementacion->format("%d-%m-%Y") : '--';
+
+ $FORM->addElement ('static', 'id_sistema' , 'Id Sistema' , $SISTEMA->getId() );
+ $FORM->addElement ('static', 'nombre' , 'Nombre' , $SISTEMA->getNombre() );
+ $FORM->addElement ('static', 'descripcion', 'Descripcion' , $SISTEMA->getDescripcion());
+ $FORM->addElement ('static', 'fch_inicio' , 'Fecha Inicio' , $fecha_inicio );
+ $FORM->addElement ('static', 'fch_fin' , 'Fecha Fin' , $fecha_fin );
+ $FORM->addElement ('static', 'fch_imple' , 'Fecha Implementacion', $fecha_implementacion );
+ $FORM->addElement ('static', 'contacto' , 'Contacto' , $SISTEMA->getContacto() );
+ $FORM->freeze();
+// }}}
+
+//DIBUJO LA PAGINA {{{
+ $PAGE->addBodyContent($FORM);
+ $imagen = new HTML_Image('/MECON/images/general_cerrar.gif');
+ $PAGE->addBodyContent('<a href="" onClick=\'self.close();return false;\'>'.$imagen->toHtml().'</a>');
+ $PAGE->display();
+// }}}
+//FIN
+?>
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4 foldmethod=marker:
+// +----------------------------------------------------------------------+
+// | PHP Version 4 |
+// +----------------------------------------------------------------------+
+// | Copyright (c) 1997-2003 The PHP Group |
+// +----------------------------------------------------------------------+
+// | This source file is subject to version 2.02 of the PHP license, |
+// | that is bundled with this package in the file LICENSE, and is |
+// | available at through the world-wide-web at |
+// | http://www.php.net/license/2_02.txt. |
+// | If you did not receive a copy of the PHP license and are unable to |
+// | obtain it through the world-wide-web, please send a note to |
+// | license@php.net so we can mail you a copy immediately. |
+// +----------------------------------------------------------------------+
+// | Created: mar may 27 15:16:38 ART 2003
+// | Author: Martin Marrese <mmarre@mecon.gov.ar>
+// +----------------------------------------------------------------------+
+//
+// $Id$
+//
+
+//REQUIRE_ONCE {{{
+ //MECON {{{
+ require_once 'MECON/HTML/QuickForm.php';
+ require_once 'MECON/HTML/Tabla.php';
+ require_once 'MECON/HTML/Error.php';
+ // }}}
+ //SAMURAI {{{
+ require_once 'SAMURAI/Sistema.php';
+ require_once 'SAMURAI/Permiso.php';
+ // }}}
+// }}}
+//OBTENGO EL ID DEL SISTEMA {{{
+ //El id de sistema viene por get o por post, no hay otra posibilidad
+ $idSistema = 0;
+ if (isset($_GET['idSistema'])) {
+ $idSistema = $_GET['idSistema'];
+ }
+ elseif (isset($_POST['idSistema'])) {
+ $idSistema = $_POST['idSistema'];
+ }
+// }}}
+//CREO LOS OBJETO NECESARIOS {{{
+ $SISTEMA = new SAMURAI_Sistema ($DB, $idSistema);
+ $TABLASIST = new Tabla ('cellpadding=2');
+ $SISTEMA->setResponsable($_SESSION['samurai']['login']);
+ $FORM = new MECON_HTML_QuickForm ('sistemas_permisos_abm','post','sistemas-permisos-abm');
+// }}}
+//AGREGO LA INFORMACION DEL SISTEMA {{{
+ $row = array ('Datos del sistema');
+ $TABLASIST->addRow($row, 'cabecera colspan=3');
+ $row = array ('Id', 'Nombre', 'Descripcion');
+ $TABLASIST->addRow($row, 'titulo');
+ $row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion());
+ $TABLASIST->addRow($row, 'comun');
+// }}}
+//DEFINO CUAL ES LA ACCION Y LA OBSERVACION, CARGO LOS PERMISOS{{{
+ if (@$_GET['accion']) {
+ switch (@$_GET['accion']) {
+ case 'n': $accion = 'Grabar';
+ $obs = '';
+ $PERMISOS = SAMURAI_Permiso::getArrayPermisos($DB);
+ $id_permiso = '';
+ break;
+ case 'm': $accion = 'Modificar';
+ $id_permiso = $_GET['idPermiso'];
+ $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso);
+ $obs = $_GET['observacion'];
+ $obs_ant = $_GET['observacion'];
+ break;
+ case 'e': $accion = 'Eliminar';
+ $id_permiso = $_GET['idPermiso'];
+ $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso);
+ $obs = $_GET['observacion'];
+ break;
+ }
+ }
+ else{
+ switch (@$_POST['accion']) {
+ case 'Grabar': $accion = 'Grabar';
+ $obs = '';
+ $id_permiso = '';
+ $PERMISOS = SAMURAI_Permiso::getArrayPermisos($DB);
+ break;
+ case 'Modificar':$accion = 'Modificar';
+ $id_permiso = $_POST['idPermiso'];
+ $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso);
+ $obs = $_POST['observacion'];
+ $obs_ant = $_POST['obs_ant'];
+ break;
+ case 'Eliminar':$accion = 'Eliminar';
+ $id_permiso = $_POST['idPermiso'];
+ $PERMISOS = new SAMURAI_Permiso($DB, $id_permiso);
+ $obs = $_POST['observacion'];
+ break;
+ }
+ }
+// }}}
+//AGREGO LOS ELEMENTOS DEL FORM {{{
+ $FORM->addElement('header', 'cabecera', $accion.' Asociacion');
+ $f_sistema =& $FORM->addElement('hidden', 'idSistema', $idSistema);
+ $f_accion =& $FORM->addElement('hidden', 'accion' , $accion);
+ if ($accion == 'Grabar') {
+ $f_permisos =& $FORM->addElement('select', 'permisos' , 'Permisos', $PERMISOS);
+ $f_id_permiso =& $FORM->addElement('hidden', 'idPermiso', $id_permiso);
+ }
+ else {
+ $f_permisos =& $FORM->addElement('static', 'permisos' , 'Permisos', $PERMISOS->getDescripcion());
+ $f_id_permiso =& $FORM->addElement('hidden', 'idPermiso', $id_permiso);
+ }
+ if ($accion == 'Modificar') {
+ $f_obs_ant =& $FORM->addElement('hidden', 'obs_ant' , $obs_ant);
+ }
+ $f_observacion =& $FORM->addElement('text' , 'observacion', 'Observacion', array ('value' => $obs));
+ $f_aceptar =& HTML_QuickForm::createElement('submit', 'aceptar' , $accion);
+ $f_cancelar =& HTML_QuickForm::createElement('submit', 'cancelar', 'Cancelar', array ('onClick' => 'javascript:window.location = \'sistemas-permisos?idSistema='.$idSistema.'\';return false;'));
+ $group = array ($f_aceptar, $f_cancelar);
+ $f_group =& $FORM->addGroup($group,'botones', '', ', ');
+
+ if ($accion == 'Eliminar') {
+ $FORM->freeze();
+ }
+// }}}
+//VALIDO EL FORMULARIO {{{
+ if ($FORM->validate()) {
+ $botones = $FORM->getSubmitValue('botones');
+ if (@$botones['cancelar']) {
+ header('Location: sistemas-permisos?idSistema='.$idSistema);
+ }
+
+ if ($accion == 'Grabar') {
+ $tmp = $f_permisos->getSelected();
+ $f_id_permiso->setValue($tmp['0']);
+ $res = $SISTEMA->guardarAsociacion($tmp['0'], $f_observacion->getValue());
+ }
+ elseif ($accion == 'Modificar') {
+ $res = $SISTEMA->modificarAsociacion($f_id_permiso->getValue(), $f_observacion->getValue(), $f_obs_ant->getValue());
+ }
+ elseif ($accion == 'Eliminar') {
+ $res = $SISTEMA->eliminarAsociacion($f_id_permiso->getValue(), $f_observacion->getValue());
+ }
+ else {
+ $ERROR = new MECON_HTML_Error('No se reconoce la accion seleccionada');
+ }
+ if (PEAR::isError($res)) {
+ $ERROR = new MECON_HTML_Error($res->getMessage());
+ }
+ else {
+ header('Location: sistemas-permisos?idSistema='.$idSistema);
+ }
+ }
+// }}}
+//DIBUJO LA PAGINA {{{
+ $MARCO = new Marco ('../../conf/confSecciones.php');
+ $MARCO->addBody($TABLASIST);
+ $MARCO->addBody('<BR>');
+ if (@$ERROR) {
+ $MARCO->addBody($ERROR);
+ }
+ $MARCO->addBody($FORM);
+ $MARCO->display();
+// }}}
+//FIN
+
+?>
//REQUIRE_ONCE {{{
//MECON {{{
- require_once 'MECON/HTML/QuickForm.php';
require_once 'MECON/HTML/Tabla.php';
- require_once 'MECON/HTML/Error.php';
// }}}
//SAMURAI {{{
require_once 'SAMURAI/Sistema.php';
elseif (isset($_POST['idSistema'])) {
$idSistema = $_POST['idSistema'];
}
+ $_SESSION['samurai']['id_sistema'] = $idSistema;
// }}}
//CREO LOS OBJETO NECESARIOS {{{
- $FORM = new MECON_HTML_QuickForm ('sistemas_permisos','post','sistemas-permisos');
$SISTEMA = new SAMURAI_Sistema ($DB, $idSistema);
$TABLASIST = new Tabla ('cellpadding=2');
$TABLAPERM = new Tabla ('cellpadding=2');
$row = array ($SISTEMA->getId(), $SISTEMA->getNombre(), $SISTEMA->getDescripcion());
$TABLASIST->addRow($row, 'comun');
// }}}
-//AGREGO LOS ELEMENTOS DEL FORM {{{
- //Obtengo la lista de permisos
- $PERMISOS = SAMURAI_Permiso::getArrayPermisos($DB);
- //Agrego elementos
- $FORM->addElement ('header', 'cabecera' , 'Agregar una asociacion');
- $FORM->addElement ('hidden', 'idSistema' , $idSistema);
- $FORM->addElement ('select', 'permisos' , 'Permisos' , $PERMISOS, array('size' => '1'));
- $FORM->addElement ('hidden', 'permant'); //Permiso anterior
- $FORM->addElement ('hidden', 'obsant'); //Obseracion anterior
- $FORM->addElement ('text' , 'observacion', 'Observacion', array('size' => '30'));
- $group[] = HTML_QuickForm::createElement('submit', 'aceptar' , 'Grabar');
- $FORM->addGroup($group,'botones', '', ', ');
-// }}}
-//VALIDO EL FORMULARIO {{{
- if ($FORM->validate()) {
- $idPermiso =& $FORM->getElement ('permisos' );
- $idPerm_ant =& $FORM->getElement ('permant' );
- $observacion =& $FORM->getElement ('observacion');
- $obs_ant =& $FORM->getElement ('obsant' );
- $group =& $FORM->getElement ('botones' );
- $group =& $group->getElements('aceptar' );
- $aceptar =& $group[0];
-
- $tmp = $idPermiso->getSelected();
- $tmp = $tmp['0'];
- if ($aceptar->getValue() == 'Grabar') {
- $error = $SISTEMA->guardarAsociacion($tmp, $observacion->getValue());
- }
- elseif ($aceptar->getValue() == 'Modificar') {
- $error = $SISTEMA->modificarAsociacion($tmp, $idPerm_ant->getValue(), $observacion->getValue(), $obs_ant->getValue());
- }
- elseif ($aceptar->getValue() == 'Eliminar') {
- $error = $SISTEMA->eliminarAsociacion($tmp, $observacion->getValue());
- }
-
- if ($error) {
- $ERROR = new MECON_HTML_Error('La asociacion ya existe, modifique alguno de sus datos');
- }
- else {
- $idPermiso->setSelected(null);
- $observacion->setValue(null);
- $aceptar->setValue('Grabar');
- }
- }
-// }}}
-//VERIFICO COMO DEBO LLAMAR AL BOTON SUBMIT {{{
- if (isset($_GET['accion'])) {
- $group =& $FORM->getElement ('botones');
- $group =& $group->getElements('aceptar');
- $aceptar =& $group[0];
-
- if ($_GET['accion'] == 'm') {
- $aceptar->setValue('Modificar');
- }
- elseif ($_GET['accion'] == 'e') {
- $aceptar->setValue('Eliminar');
- $FORM->freeze();
- }
- }
-// }}}
-//CAPTURO SI HAY ACCION -> MODIFICAR O ELIMINAR -> MUESTRO LOS DATOS EN EL FORM {{{
- if (isset($_GET['accion'])) {
- $idPermiso =& $FORM->getElement ('permisos' );
- $idPerm_ant =& $FORM->getElement ('permant' );
- $observacion =& $FORM->getElement ('observacion');
- $obs_ant =& $FORM->getElement ('obsant' );
- $idPermiso->setSelected($_GET['idPermiso']);
- $idPerm_ant->setValue($_GET['idPermiso']);
- $observacion->setValue($_GET['observacion']);
- $obs_ant->setValue($_GET['observacion']);
- }
-// }}}
//AGREGO LA INFORMACION DE LAS ASOCIACIONES {{{
- $aHref = '<a href="sistemas-permisos?accion=##ACCION##&idPermiso=##PERMISO##&observacion=##OBS##&idSistema='.$idSistema.'">';
+ $aHref = '<a href="sistemas-permisos-abm?accion=##ACCION##&idPermiso=##PERMISO##&observacion=##OBS##&idSistema='.$idSistema.'">';
$aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar"></a>';
$aHrefElim = $aHref.'<img src="/MECON/images/general_eliminar.gif" border="0" alt="Eliminar" ></a>';
+
+ $TABLA2 = new Tabla ('cellspacing=0');
+ $tt = ereg_replace ('##ACCION##' , 'n', $aHref);
+ $tt = ereg_replace ('##PERMISO##', 'p', $tt );
+ $tt = ereg_replace ('##OBS##' , 'o', $tt );
+ $row = array ($tt.'<img src="/MECON/images/general_nuevo.gif" border="0">Asociar nuevo permiso al sistema</a>');
+ $TABLA2->addRow($row, 'align=right');
+
+ $row = array ('Permisos Asociados al Sistema');
+ $TABLAPERM->addRow($row, 'cabecera colspan=4');
$row = array ('Nombre', 'Observacion', 'Modif.', 'Elim.');
- $TABLAPERM->addRow($row, 'cabecera');
+ $TABLAPERM->addRow($row, 'titulo');
$asocs = $SISTEMA->getAsociaciones();
-
- $idPerm_ant =& $FORM->getElement ('permant');
- $obs_ant =& $FORM->getElement ('obsant' );
foreach ($asocs as $key => $asoc) {
$estilo = 'comun';
$Elim = ereg_replace('##OBS##' , $asoc['obs'], $Elim );
$Modif = ereg_replace('##ACCION##' , 'm' , $Modif );
$Elim = ereg_replace('##ACCION##' , 'e' , $Elim );
-
- if ($permiso->getId() == $idPerm_ant->getValue() && $asoc['obs'] == $obs_ant->getValue()) {
- $estilo = 'titulo';
- }
-
$row = array ($permiso->getDescripcion(), $asoc['obs'], $Modif, $Elim);
$TABLAPERM->addRow($row, $estilo);
}
//AGREGO LA TABLA DEL SISTEMA
$MARCO->addBody($TABLASIST);
$MARCO->addBody('<BR>');
- //AGREGO EL ERROR
- if (isset($ERROR)) {
- $MARCO->addBody($ERROR);
- }
- //AGREGO LA TABLA DEL FORM
- $MARCO->addBody($FORM);
- $MARCO->addBody('<BR>');
//AGREGO LA TABLA DE PERMISOS
+ $MARCO->addBody($TABLA2);
$MARCO->addBody($TABLAPERM);
$MARCO->display();
// }}}
require_once 'MECON/HTML/Tabla.php';
require_once 'SAMURAI/Sistema.php';
+ $aHrefPopup = '<a href="" onClick="window.open(\'sistemas-datos?id_sistema=##SISTEMA##\',\'sistemasdatos\',\'height=400,width=400,scrollbars=yes\');return false;">';
$aHref = '<a href="sistemas-abm?accion=##ACCION##&idSistema=##NUEVO##">';
$aHrefModif = $aHref.'<img src="/MECON/images/general_modificar.gif" border="0" alt="Modificar Sistema"></a>';
$aHrefElim = $aHref.'<img src="/MECON/images/general_eliminar.gif" border="0" alt="Eliminar Sistema" ></a>';
$TABLA2->setColAlign(1,'right');
$TABLA = new Tabla ('cellpadding=2');
- $row = array ('Id','Nombre','Descripcion','Fecha Inicio','Fecha Fin','Fecha Impl.','Contacto','Modif.','Elim.','Perm.');
+ $row = array ('Id','Nombre','Modif.','Elim.','Perm.');
$TABLA->addRow($row,'cabecera');
foreach ($sistemas as $sistema) {
+ $Popup = ereg_replace('##SISTEMA##', $sistema->getId(), $aHrefPopup);
$Modif = ereg_replace('##NUEVO##' , $sistema->getId(), $aHrefModif);
$Elim = ereg_replace('##NUEVO##' , $sistema->getId(), $aHrefElim);
$Modif = ereg_replace('##ACCION##' , 'm' , $Modif);
$Elim = ereg_replace('##ACCION##' , 'e' , $Elim);
$Perm = ereg_replace('##SISTEMA##', $sistema->getId(), $aHrefPerm);
+ $Popup = $Popup.$sistema->getNombre().'</a>';
- $fecha_inicio = $sistema->getFechaInicio();
- $fecha_fin = $sistema->getFechaFin();
- $fecha_implementacion = $sistema->getFechaImplementacion();
-
$row = array ( $sistema->getId(),
- $sistema->getNombre(),
- $sistema->getDescripcion(),
- $fecha_inicio ? $fecha_inicio->format("%d-%m-%Y") : '--',
- $fecha_fin ? $fecha_fin->format("%d-%m-%Y") : '--',
- $fecha_implementacion ? $fecha_implementacion->format("%d-%m-%Y") : '--',
- $sistema->getContacto(),
+ $Popup,
$Modif,
$Elim,
$Perm,
);
-
$TABLA->addRow($row);
}
-
-
-
//Agrego las cosas al cuerpo de la pagina
$MARCO = new Marco ('../../conf/confSecciones.php');
//DIBUJO LA PAGINA {{{
$PAGE->addBodyContent($FORM);
- $PAGE->addBodyContent(new HTML_Image('/MECON/images/general_cerrar.gif', 'Cerrar', array ('border'=>'0', 'onClick'=>'self.close();return false;')));
+ $imagen = new HTML_Image('/MECON/images/general_cerrar.gif');
+ $PAGE->addBodyContent('<a href="" onClick=\'self.close();return false;\'>'.$imagen->toHtml().'</a>');
$PAGE->display();
// }}}
//FIN