Esempio n. 1
0
 /**
  * Retorna o valor antigo do registro antes de realizar a atualização
  *
  * @return Profile_Model_ObjectViewPriv_Mapper
  */
 public function getValueOld()
 {
     if (!$this->_dataOld instanceof Profile_Model_ObjectViewPriv_Mapper) {
         $this->_dataOld = new Profile_Model_ObjectViewPriv_Mapper();
         $this->_dataOld->setId($this->getId());
         $this->_dataOld->retrive();
     }
     return $this->_dataOld;
 }
Esempio n. 2
0
 protected function _loadColumns()
 {
     $_view = new Profile_Model_ObjectView_Mapper();
     $_papel = new Auth_Model_Conta_Mapper();
     $_privilegio = new Profile_Model_ObjectViewPriv_Mapper();
     $_usuario = new Auth_Model_Usuario_Mapper();
     $_empresa = new Ca_Model_Empresa_Mapper();
     $_filial = new Ca_Model_Filial_Mapper();
     $this->_columns = new ZendT_Db_Column_View('Profile_DataView_ObjectViewPriv_Usuarios', $this->_getSettingsDefault());
     $this->_columns->add('id_visao', 'base', 'id_visao', $_view->getId(true), 'Id. da Visão', '', '=');
     $this->_columns->add('nome_visao', 'base', 'nome_visao', $_view->getNome(true), 'Nome da Visão', '', '?%');
     $this->_columns->add('objeto_visao', 'base', 'objeto_visao', $_view->getObjeto(true), 'Objeto da Visão', '', '?%');
     $this->_columns->add('grupo_liberado', 'base', 'grupo_liberado', $_papel->getNome(true), 'Grupo Liberado', '', '?%');
     $this->_columns->add('tipo_privilegio', 'base', 'tipo_privilegio', $_privilegio->getTipo(true), 'Tipo da Liberação', '', '=');
     $this->_columns->add('nome_usuario', 'base', 'nome_usuario', $_usuario->getNome(true), 'Nome do Usuário', '', '?%');
     $this->_columns->add('email_usuario', 'base', 'email_usuario', $_usuario->getEmail(true), 'E-Mail do Usuário', '', '?%');
     $this->_columns->add('empresa_usuario', 'base', 'empresa_usuario', $_empresa->getSigla(true), 'Empresa do Usuário', '', '?%');
     $this->_columns->add('filial_usuario', 'base', 'filial_usuario', $_filial->getSigla(true), 'Filial do Usuário', '', '?%');
     $this->_columns->add('grupo_usuario', 'base', 'grupo_usuario', $_papel->getNome(true), 'Grupo do Usuário', '', '?%');
     $this->_columns->add('nome_cliente_usuario', 'base', 'nome_cliente_usuario', $_usuario->getNome(true), 'Nome do Cliente do Usuário', '', '?%');
     $this->_columns->add('cnpj_cliente_usuario', 'base', 'cnpj_cliente_usuario', $_usuario->getNome(true), 'CNPJ do Cliente do Usuário', '', '?%');
 }
Esempio n. 3
0
 public static function get($objectName, $type, $profile = '')
 {
     $_priv = new Profile_Model_ObjectViewPriv_Mapper();
     $sqlPriv = $_priv->getSqlPriv();
     $config = array();
     $row = false;
     $idUsuario = Auth_Session_User::getInstance()->getId();
     $idProfile = '';
     $_profile = new Profile_DataView_ObjectView_MapperView();
     $request = Zend_Controller_Front::getInstance()->getRequest();
     if (is_object($request)) {
         if (!$profile) {
             $profile = $request->getParam('profile');
         }
         $parentId = $request->getParam('profile_parent_id');
         $profileKey = $request->getParam('profile_key');
     }
     if ($parentId && is_numeric($parentId)) {
         $_profile->newRow()->setId($parentId)->retrieve();
         $chave = $_profile->getChave()->get();
         /**
          * 
          */
         $_where = new ZendT_Db_Where('AND');
         $_where->addFilter('profile_object_view.objeto', $objectName);
         $_where->addFilter('profile_object_view.chave', $chave);
         if (is_array($type)) {
             $_where->addFilter('profile_object_view.tipo', $type, 'in');
         } else {
             if ($type) {
                 $_where->addFilter('profile_object_view.tipo', $type);
             }
         }
         $_whereSec = new ZendT_Db_Where('OR');
         $_whereSec->addFilter('profile_object_view.id_usuario', $idUsuario);
         $_whereSec->addFilter('acesso_liberado', new Zend_Db_Expr($sqlPriv), 'EXISTS');
         $_whereGroup = new ZendT_Db_Where_Group();
         $_whereGroup->addWhere($_whereSec);
         $_whereGroup->addWhere($_where);
         $row = $_profile->retriveRow($_whereGroup);
         if ($row) {
             $profile = $row['id']->get();
         }
     }
     if (!$profile) {
         if ($profileKey) {
             $_where = new ZendT_Db_Where('AND');
             $_where->addFilter('profile_object_view.objeto', $objectName);
             $_where->addFilter('profile_object_view.chave', $profileKey);
             if (is_array($type)) {
                 $_where->addFilter('profile_object_view.tipo', $type, 'in');
             } else {
                 if ($type) {
                     $_where->addFilter('profile_object_view.tipo', $type);
                 }
             }
             $row = $_profile->retriveRow($_where);
             if ($row) {
                 $profile = $row['id']->get();
             }
         }
     }
     if ($profile) {
         if (!is_numeric($profile)) {
             $_where = new ZendT_Db_Where('AND');
             $_where->addFilter('profile_object_view.objeto', $objectName);
             $_where->addFilter('profile_object_view.chave', $profile, '=');
             $row = $_profile->retriveRow($_where);
             if ($row) {
                 $profile = $row['id']->get();
             }
         }
         $idProfile = $profile;
     }
     if (isset($_COOKIE['profile-' . $objectName . '-' . $type]) && $idProfile == '') {
         $idProfile = $_COOKIE['profile-' . $objectName . '-' . $type];
     }
     if (isset($_COOKIE['profile-' . $objectName]) && $idProfile == '') {
         $idProfile = $_COOKIE['profile-' . $objectName];
     }
     if (isset($_SESSION['profile-' . $objectName]) && $idProfile == '') {
         $idProfile = $_SESSION['profile-' . $objectName];
     }
     if ($idProfile) {
         $_where = new ZendT_Db_Where();
         $_where->addFilter('profile_object_view.id', $idProfile);
         $_whereSec = new ZendT_Db_Where('OR');
         $_whereSec->addFilter('profile_object_view.id_usuario', $idUsuario);
         $_whereSec->addFilter('acesso_liberado', new Zend_Db_Expr($sqlPriv), 'EXISTS');
         $_whereGroup = new ZendT_Db_Where_Group();
         $_whereGroup->addWhere($_whereSec);
         $_whereGroup->addWhere($_where);
         $row = $_profile->retriveRow($_whereGroup);
     }
     if ($idUsuario && !$row) {
         $_where = new ZendT_Db_Where('AND');
         $_where->addFilter('profile_object_view.objeto', $objectName);
         $_where->addFilter('profile_object_view.padrao', 'S');
         if (is_array($type)) {
             $_where->addFilter('profile_object_view.tipo', $type, 'in');
         } else {
             if ($type) {
                 $_where->addFilter('profile_object_view.tipo', $type);
             }
         }
         $_whereSec = new ZendT_Db_Where('OR');
         $_whereSec->addFilter('profile_object_view.id_usuario', $idUsuario);
         $_whereSec->addFilter('acesso_liberado', new Zend_Db_Expr($sqlPriv), 'EXISTS');
         $_whereGroup = new ZendT_Db_Where_Group();
         $_whereGroup->addWhere($_whereSec);
         $_whereGroup->addWhere($_where);
         $row = $_profile->retriveRow($_whereGroup);
     }
     if ($idUsuario && !$row) {
         $_where = new ZendT_Db_Where('AND');
         $_where->addFilter('profile_object_view.objeto', $objectName);
         if (is_array($type)) {
             $_where->addFilter('profile_object_view.tipo', $type, 'in');
         } else {
             if ($type) {
                 $_where->addFilter('profile_object_view.tipo', $type);
             }
         }
         $_whereSec = new ZendT_Db_Where('OR');
         $_whereSec->addFilter('profile_object_view.id_usuario', $idUsuario);
         $_whereSec->addFilter('acesso_liberado', new Zend_Db_Expr($sqlPriv), 'EXISTS');
         $_whereGroup = new ZendT_Db_Where_Group();
         $_whereGroup->addWhere($_whereSec);
         $_whereGroup->addWhere($_where);
         $row = $_profile->retrieveRow($_whereGroup);
     }
     if ($row) {
         $config = unserialize(html_entity_decode($row['config']->get()));
         $config['id'] = $row['id']->get();
         $config['tipo'] = $row['tipo']->toPhp();
         $config['title'] = $row['nome']->get();
     }
     return $config;
 }
Esempio n. 4
0
 public function deleteAction()
 {
     $param = $this->getRequest()->getParams();
     if ($param['id']) {
         $_objectViewPriv = new Profile_Model_ObjectViewPriv_Mapper();
         $_objectViewPriv->setIdProfileObjectView($param['id'])->delete();
     }
     parent::deleteAction();
 }