X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/14b7965388416e66c0d012ac6f001f9c877b5ce8..0ecc42815b25c93505bdc63406044ebd4c37283b:/sistema/local_lib/Permiso.php diff --git a/sistema/local_lib/Permiso.php b/sistema/local_lib/Permiso.php index e660e88..cc51373 100644 --- a/sistema/local_lib/Permiso.php +++ b/sistema/local_lib/Permiso.php @@ -24,7 +24,7 @@ // $Rev$ // -#require_once 'PEAR.php'; +require_once 'PEAR.php'; @@ -62,75 +62,106 @@ class Permiso { /** * Indentificador del ultimo que realizo alguna operacion sobre el permiso * - * @var string $reponsable + * @var string $responsable * @access private */ - var $_reponsable; + var $_responsable; - // ~X2C - - // +X2C Operation 259 /** - * Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB. + * Gets Id. * - * @param Samurai_DB &$db Objeto conexion - * @param int $id Identificador del permiso + * @return int + * @access public + */ + function getId() + { + return $this->_id; + } + /** + * Sets Id. + * + * @param int $id Id. * * @return void * @access public */ - function Permiso(&$db, $id = null)// ~X2C + function setId($id) { - $this->_db = $db; - $this->_id = $id; - $this->_descripcion = null; - if (!is_null($id)) { - $this->_obtenerDatosDb(); - } + $this->_id = $id; } - // -X2C - // +X2C Operation 260 /** - * Devuelve el identificador del permiso. + * Gets Descripcion. * - * @return int + * @return string * @access public */ - function getId()// ~X2C + function getDescripcion() { - return $this->_id; + return $this->_descripcion; + } + /** + * Sets Descripcion. + * + * @param string $descripcion Descripcion. + * + * @return void + * @access public + */ + function setDescripcion($descripcion) + { + $this->_descripcion = $descripcion; } - // -X2C - // +X2C Operation 261 /** - * Devuelve la descripcion del permiso. + * Gets Responsable. * * @return string * @access public */ - function getDescripcion()// ~X2C + function getResponsable() { - return $this->_descripcion; + return $this->_responsable; } - // -X2C + /** + * Sets Responsable. + * + * @param string $responsable Responsable. + * + * @return void + * @access public + */ + function setResponsable($responsable) + { + $this->_responsable = $responsable; + } + + // ~X2C - // +X2C Operation 262 + // +X2C Operation 259 /** - * Setea la descripcion del permiso. + * Constructor. Si recibe como parametro el identificador del permiso, busca la informacion en la DB. * - * @param string $descripcion Descripcion del permiso. + * @param Samurai_DB &$db Objeto conexion + * @param int $id Identificador del permiso * * @return void * @access public */ - function setDescripcion($descripcion = null)// ~X2C + function Permiso(&$db, $id = null)// ~X2C { - $this->_descripcion = $descripcion; + $this->_db = $db; + $this->_id = $id; + $this->setDescripcion(null); + if (!is_null($id)) { + $this->_obtenerDatosDb(); + } } // -X2C + + + // +X2C Operation 295 /** * Obtiene de la base de datos la informacion del permiso @@ -163,32 +194,105 @@ class Permiso { } // -X2C - // +X2C Operation 297 + + + // +X2C Operation 316 /** - * Setea el valor del responsable + * Modifica la base de datos segun accion * - * @param string $responsable Identificador del responsable + * @param string $accion Indica la accion a realizar * - * @return void + * @return mixed * @access public */ - function setResponsable($responsable)// ~X2C + function guardarDatos($accion = grabar)// ~X2C { - $this->_responsable = $responsable; + $accion = strtolower($accion); + switch ($accion) { + case 'grabar': + $res = $this->_grabarDb(); + break; + case 'modificar': + $res = $this->_modificarDb(); + break; + case 'eliminar': + $res = $this->_borrarDb(); + break; + } + return $res; } // -X2C - // +X2C Operation 298 + // +X2C Operation 317 /** - * @return string - * @access public + * Graba en base el permiso + * + * @return mixed + * @access protected */ - function getResponsable()// ~X2C + function _grabarDb()// ~X2C { - return $this->_responsable; + $idPermiso = $this->_db->nextId('permiso'); + $datos = array ( + 'id_permiso' => $idPermiso, + 'desc_permiso' => $this->getDescripcion(), + 'responsable' => $this->getResponsable(), + ); + return $this->_db->autoExecute('permiso', $datos, DB_AUTOQUERY_INSERT); + } + // -X2C + + // +X2C Operation 318 + /** + * Borra de la base el permiso + * + * @return mixed + * @access protected + */ + function _borrarDb()// ~X2C + { + $sql = include 'Permiso/consultas.php'; + $datos[] = $this->getId(); + //Verifico que el permiso no tenga asociaciones + $tmp = $sql['verificar_asociaciones1'].$sql['obtener_datos_permiso2']; + $dbh = $this->_db->prepare($tmp); + $res = $this->_db->execute($dbh, $datos); + if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta']) { + return new PEAR_Error("Hay sistemas asociados al permiso seleccionado"); + } + $tmp = $sql['verificar_asociaciones2'].$sql['obtener_datos_permiso2']; + $dbh = $this->_db->prepare($tmp); + $res = $this->_db->execute($dbh, $datos); + if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) { + return new PEAR_Error("Hay pefiles asociados al permiso seleccionado"); + } + // + //Borro el permiso de la base + $tmp = $sql['borrar_permiso'].$sql['obtener_datos_permiso2']; + $dbh = $this->_db->prepare($tmp); + return $this->_db->execute($dbh, $datos); + // + } + // -X2C + + // +X2C Operation 319 + /** + * Actualiza los datos del permiso + * + * @return mixed + * @access protected + */ + function _modificarDb()// ~X2C + { + $datos = array ( + 'id_permiso' => $this->getId(), + 'desc_permiso' => $this->getDescripcion(), + 'responsable' => $this->getResponsable(), + ); + return $this->_db->autoExecute('permiso', $datos, DB_AUTOQUERY_UPDATE, 'id_permiso ='.$this->getId()); } // -X2C } // -X2C Class :Permiso -?> \ No newline at end of file +?>