/** * 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; }
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', '', '?%'); }
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; }
public function deleteAction() { $param = $this->getRequest()->getParams(); if ($param['id']) { $_objectViewPriv = new Profile_Model_ObjectViewPriv_Mapper(); $_objectViewPriv->setIdProfileObjectView($param['id'])->delete(); } parent::deleteAction(); }