// $Rev$
//
-#require_once 'PEAR.php';
+require_once 'PEAR.php';
/**
* 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
}
// -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
+?>