Exemplo n.º 1
0
 public function avaliacao($produto_id)
 {
     $modelReclamacao = new Model_DbTable_Reclamacao();
     $produtos = $modelReclamacao->fetchAll("produto_id = {$produto_id}");
     foreach ($produtos as $produto) {
         $this->_total_reclamacoes++;
         $this->_total_nota += $produto->reclamacao_nota;
     }
     $this->_nota_media = $this->_total_nota / $this->_total_reclamacoes;
     $this->_taxa_rejeição = 100 - $this->_nota_media * $this->_porcentual;
     return number_format($this->_taxa_rejeição, 2);
 }
Exemplo n.º 2
0
 public function indexAction()
 {
     // form de pesquisa
     $formSitePesquisa = new Form_Site_Pesquisa();
     $this->view->formSitePesquisa = $formSitePesquisa;
     // form nao presta
     $formSiteNaoPresta = new Form_Site_NaoPresta();
     $this->view->formSiteNaoPresta = $formSiteNaoPresta;
     // Piores
     $modelReclamacao = new Model_DbTable_Reclamacao();
     $produtos = $modelReclamacao->pesquisaProduto();
     $this->view->produtos = $produtos;
 }
 public function reclamarAction()
 {
     $modelProduto = new Model_DbTable_Produto();
     $produto_nome = $this->getRequest()->getParam("produto", null);
     $this->view->produto_nome = $produto_nome;
     // grava a reclamacao
     $formSiteReclamacao = new Form_Site_Reclamacao();
     // verifica se ha dados do produto
     if ($produto_nome) {
         $produto = $modelProduto->getById($produto_nome)->toArray();
         $formSiteReclamacao->populate($produto);
         $formSiteReclamacao->produto_nome->setAttrib("readonly", true);
         $formSiteReclamacao->marca_nome->setAttrib("readonly", true);
         $formSiteReclamacao->fabricante_nome->setAttrib("readonly", true);
     }
     if ($this->getRequest()->isPost()) {
         $dadosPost = $this->getRequest()->getPost();
         if ($formSiteReclamacao->isValid($dadosPost)) {
             try {
                 Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction();
                 // fabrincante
                 $fabricante_id = $formSiteReclamacao->getValue("fabricante_id");
                 if (empty($fabricante_id)) {
                     $fabricante_id = $this->gravaFabricante($dadosPost);
                 }
                 // marca
                 $marca_id = $formSiteReclamacao->getValue("marca_id");
                 if (empty($marca_id)) {
                     $marca_id = $this->gravaMarca($dadosPost, $fabricante_id);
                 }
                 // produto
                 $produto_id = $formSiteReclamacao->getValue("produto_id");
                 if (empty($produto_id)) {
                     $produto_id = $this->gravaProduto($dadosPost, $marca_id);
                 }
                 // grava reclamacao
                 $dadosReclamacao = array('produto_id' => $produto_id, 'reclamacao_descricao' => $dadosPost['reclamacao_descricao'], 'reclamacao_nota' => $dadosPost['reclamacao_nota'], 'reclamacao_nome' => $dadosPost['reclamacao_nome'], 'reclamacao_email' => $dadosPost['reclamacao_email'], 'reclamacao_cidade' => $dadosPost['reclamacao_cidade'], 'reclamacao_estado' => $dadosPost['reclamacao_estado']);
                 $modelReclamacao = new Model_DbTable_Reclamacao();
                 $modelReclamacao->insert($dadosReclamacao);
                 Zend_Db_Table_Abstract::getDefaultAdapter()->commit();
                 $this->_helper->flashMessenger->addMessage(array('success' => "Sua reclamação foi enviada com sucesso!"));
                 $this->_helper->flashMessenger->addMessage(array('success' => "Agradecemos sua colaboração!"));
             } catch (Exception $ex) {
                 Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack();
                 $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getMessage()));
             }
             $this->_redirect("reclamacao/reclamar/produto/{$produto_id}");
         }
     }
     $this->view->formSiteReclamacao = $formSiteReclamacao;
 }
 public function indexAction()
 {
     // form de pesquisa
     $formSitePesquisa = new Form_Site_Pesquisa();
     $this->view->formSitePesquisa = $formSitePesquisa;
     // busca o(s) produto(s)
     $produto_pesquisa = $this->getRequest()->getParam("produto_pesquisa", null);
     if ($produto_pesquisa) {
         // grava a pesquisa
         $this->gravaPesquisa($produto_pesquisa);
         $this->view->produto_pesquisa = $produto_pesquisa;
         $modelReclamacao = new Model_DbTable_Reclamacao();
         $produtos = $modelReclamacao->pesquisaProduto($produto_pesquisa);
         $this->view->produtos = $produtos;
     }
 }