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); }
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; } }