/** * Retorna o valor antigo do registro antes de realizar a atualização * * @return Profile_Model_ObjectView_Mapper */ public function getValueOld() { if (!$this->_dataOld instanceof Profile_Model_ObjectView_Mapper) { $this->_dataOld = new Profile_Model_ObjectView_Mapper(); $this->_dataOld->setId($this->getId()); $this->_dataOld->retrive(); } return $this->_dataOld; }
/** * Carrega os elementos no formulário para serem renderizado * @return void */ public function loadElements($action = 'insert') { parent::loadElements($action); $filterJson = Zend_Controller_Front::getInstance()->getRequest()->getParam('filter_json'); if ($filterJson) { $where = ZendT_Db_Where::fromJson($filterJson); $filter = $where->getFilter('profile_job.id_profile_object_view'); $_mapper = new Profile_Model_ObjectView_Mapper(); $_mapper->setId($filter['value'])->retrive(); $row = $_mapper->getData(); $this->getElement('id_profile_object_view')->setValue($row); } $this->removeElement('dh_ult_exec'); }
/** * Carrega os elementos no formulário para serem renderizado * @return void */ public function loadElements($action = 'insert') { parent::loadElements($action); $filterJson = Zend_Controller_Front::getInstance()->getRequest()->getParam('filter_json'); if ($filterJson) { $where = ZendT_Db_Where::fromJson($filterJson); $filter = $where->getFilter('profile_object_view_priv.id_profile_object_view'); $_mapper = new Profile_Model_ObjectView_Mapper(); $_mapper->setId($filter['value'])->retrive(); $row = $_mapper->getData(); $this->getElement('id_profile_object_view')->setValue($row); $tipo = $filter = $where->getFilter('profile_object_view_priv.tipo'); if ($tipo) { $this->getElement('tipo')->setValue($tipo); //->setDecorators(array(new ZendT_Form_Decorator_Hidden())); } } }
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', '', '?%'); }
/** * Carrega as colunas com suas configurações */ protected function _loadColumns() { $this->_columns = new ZendT_Db_Column_View('Profile_DataView_Job_Users', $this->_getSettingsDefault()); $_view = new Profile_Model_ObjectView_Mapper(); $_usuario = new Auth_Model_Usuario_Mapper(); $this->_columns->addExpression('uri_token', "gettokenforurlportal(usuario.login)", new ZendT_Type_String(), ZendT_Lib::translate('Token URI'), 'String', '%?%'); $this->_columns->add('id', 'profile_job', 'id', $this->getModel()->getMapperName(), ZendT_Lib::translate('profile_job.id'), 'String', '%?%'); $this->_columns->add('id_profile', 'profile_object_view', 'id', $_view->getId(true), ZendT_Lib::translate('Identificação da Visão'), 'String', '%?%'); $this->_columns->add('observacao', 'profile_object_view', 'observacao', $_view->getObservacao(true), ZendT_Lib::translate('Observação da Visão'), 'String', '%?%'); $this->_columns->add('uri', 'profile_object_view', 'uri', $_view->getUri(true), ZendT_Lib::translate('URI da Visão'), 'String', '%?%'); $this->_columns->add('objeto', 'profile_object_view', 'objeto', $_view->getUri(true), ZendT_Lib::translate('Objeto da Visão'), 'String', '%?%'); $this->_columns->add('nome', 'profile_object_view', 'nome', $_view->getNome(true), ZendT_Lib::translate('Nome da Visão'), 'String', '%?%'); $this->_columns->add('id_usuario', 'usuario', 'id', $_usuario->getId(true), ZendT_Lib::translate('ID do Usuário'), 'Number', '='); $this->_columns->add('nome_usuario', 'usuario', 'nome', $_usuario->getNome(true), ZendT_Lib::translate('Nome do Usuário'), 'String', '?%'); $this->_columns->add('email_usuario', 'usuario', 'email', $_usuario->getEmail(true), ZendT_Lib::translate('E-Mail do Usuário'), 'String', '?%'); $this->_columns->add('id_papel', 'profile_job_dest', 'id_papel', $_view->getId(true), ZendT_Lib::translate('Identificação do Papel'), 'String', '%?%'); $this->_columns->add('nome_papel', 'papel_usu', 'nome', $_view->getId(true), ZendT_Lib::translate('Nome do Papel'), 'String', '%?%'); }
/** * * @param string $value * @param string $column * @return \ZendT_Grid_Data */ public function suggest($value, $columnAlias, $profileId = '') { if ($profileId) { $_profile = new Profile_Model_ObjectView_Mapper(); $_profile->setId($profileId)->retrieve(); $config = unserialize($_profile->getConfig()); $this->parseExprProfile($config); } $configColumns = $this->getColumns()->toArray(); $mappers = $this->getColumns()->getColumnsMapper()->getColumnsMapper(); $listOptions = $configColumns[$columnAlias]['listOptions']; if (!$listOptions && $mappers[$columnAlias]['mapper'] instanceof ZendT_Type_String && $mappers[$columnAlias]['mapper']->getListOptions() !== false) { $listOptions = $mappers[$columnAlias]['mapper']->getListOptions(); } /** * @todo melhorar essa implementação */ if ($listOptions) { foreach ($listOptions as $key => $value) { $rows[] = array($key => $value); } return $rows; } $filters = Zend_Controller_Front::getInstance()->getRequest()->getParam('filters'); $paramValid = array(); $paramsAutoFilter = array(); $notIn = array(); $binds = array(); if ($filters) { $filters = explode('&', $filters); foreach ($filters as $data) { $data = str_replace('!=', '<>', $data); list($columnName, $valueFilter) = explode('=', $data); $valueFilter = str_replace('<>', '!=', $valueFilter); $columnName = str_replace('-multiple', '', $columnName); if (!$valueFilter && $columnName != $columnAlias) { continue; } if ($mappers[$columnName]) { if ($mappers[$columnName]['expression']) { $fieldSearch = 'expression-' . $columnName; } else { $fieldSearch = str_replace('.', '-', $configColumns[$columnName]['column']); } if ($columnName == $columnAlias) { if ($valueFilter) { $notIn[$fieldSearch] = true; } else { continue; } } $paramsAutoFilter[$fieldSearch] = $valueFilter; $paramValid[$columnName] = true; if (is_array($configColumns[$columnName]['bind'])) { $binds[$columnName] = $configColumns[$columnName]['bind']; } } } } foreach ($configColumns as $columnName => $column) { if ($column['required'] && !$paramValid[$columnName]) { throw new ZendT_Exception_Alert($column['required']); } } $_whereAutoFilter = ZendT_Db_Where::fromAutoFilter($paramsAutoFilter, $mappers, $notIn, $binds); if (method_exists($this, 'setWhere')) { $this->setWhere($_whereAutoFilter); } $rows = array(); if ($listOptions) { foreach ($listOptions as $key => $value) { $rows[] = array($key => $value); } } else { if ($configColumns[$columnAlias]['expression']) { $column = "(" . $configColumns[$columnAlias]['expression'] . ")"; } else { $column = $configColumns[$columnAlias]['aliasTable'] . '.' . $configColumns[$columnAlias]['columnName']; } $autoCompleteFilter = $configColumns[$columnAlias]['autocomplete-filter']; if ($autoCompleteFilter) { $field = explode(".", $autoCompleteFilter); $cmdSelect = "SELECT " . $field[1] . " as " . $columnAlias . " FROM " . $field[0] . " filtro WHERE EXISTS ( SELECT 1 "; $cmdFrom = " FROM " . $this->_getSqlBase(); $cmdWhereFilter = " AND " . $column . " = filtro." . $field[1] . ")"; $cmdRownum = " AND ROWNUM = 1 "; $cmdLimit = " LIMIT 1 "; } else { $cmdSelect = "SELECT DISTINCT " . $column . " as " . $columnAlias; $cmdFrom = " FROM " . $this->_getSqlBase(); $cmdRownum = " AND ROWNUM <= 30000 "; $cmdLimit = " LIMIT 30000 "; } $whereGroup = new ZendT_Db_Where_Group(); if ($_whereAutoFilter) { $whereGroup->addWhere($_whereAutoFilter); } /** * Avalia se existe algum Where específico do MapperView * colocando o mesmo dentro do objeto que agrupa os wheres */ $_whereMapperView = $this->_getWhere($postData, $_whereAutoFilter); if ($_whereMapperView) { $whereGroup->addWhere($_whereMapperView); } $where = new ZendT_Db_Where(); if ($configColumns[$columnAlias]['expression']) { $columnFilter = new Zend_Db_Expr($column); } else { $columnFilter = $column; } if ($value) { $where->addFilter($columnFilter, $value, '?%', $mappers[$columnAlias]['mapper']); $whereGroup->addWhere($where); } /** * Monta o comando Where */ $binds = $whereGroup->getBinds(); $cmdWhere = " WHERE " . $whereGroup->getSqlWhere(); $cmdOrderBy = " ORDER BY 1 "; $oracle = false; if ($oracle) { $sql = $cmdSelect . $cmdFrom . $cmdWhere . $cmdRownum . $cmdWhereFilter . $cmdGroupBy . $cmdOrderBy; } else { $sql = $cmdSelect . $cmdFrom . $cmdWhere . $cmdWhereFilter . $cmdGroupBy . $cmdOrderBy . $cmdLimit; } $this->_prepareSql($sql, $binds, 'full'); /** * Pega os dados */ $stmt = $this->getModel()->getAdapter()->query($sql, $binds); $data = new ZendT_Grid_Data($stmt, $mappers, true); $rows = $data->getRows(); } return $rows; }
public function setDefaultAction() { Zend_Session::start(); $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $json = new ZendT_Json_Result(); try { $id = $this->getRequest()->getParam('id'); $objeto = $this->getRequest()->getParam('objeto'); $_mapper = new Profile_Model_ObjectView_Mapper(); $_mapper->setId($id)->retrive(); $chave = $_mapper->getChave()->get(); setcookie("profile-" . $objeto, $id, time() + 60 * 60 * 24 * 7); # 7 dias $_SESSION["profile-" . $objeto] = $id; if ($chave) { setcookie("profile-" . $objeto . "-chave", $chave, time() + 60 * 60 * 24 * 7); # 7 dias $_SESSION["profile-" . $objeto . "-chave"] = $chave; } else { unset($_SESSION["profile-" . $objeto . "-chave"]); unset($_COOKIE["profile-" . $objeto . "-chave"]); } $json->setResult(true); } catch (Exception $ex) { $json->setException($ex); } echo $json->render(); }