Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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');
 }
Example #3
0
 /**
  * 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()));
         }
     }
 }
Example #4
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', '', '?%');
 }
Example #5
0
 /**
  * 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', '%?%');
 }
Example #6
0
 /**
  *
  * @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;
 }
Example #7
0
 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();
 }