public function editAction()
 {
     $this->assecoAction();
     $this->_helper->layout->setLayout('administrator');
     $form = new Application_Form_Produto();
     $this->view->form = $form;
     if ($this->getRequest()->isPost()) {
         $formData = $this->getRequest()->getPost();
         if ($form->isValid($formData)) {
             $id = (int) $form->getValue('id');
             $foto = $form->getValue('foto');
             $foto1 = $form->getValue('foto_images');
             $locationFile = $form->foto_images->getFileName();
             //the hidden field
             $fotoantigo = $form->getElement('foto')->getValue();
             if (file_exists($this->_file_foto . $fotoantigo)) {
                 $form->getElement('foto')->setIgnore(true);
                 $nameFile = $fotoantigo;
             } else {
                 try {
                     $this->removeImages($_POST['foto'], $id);
                     $currentMicroTime = sha1(uniqid(rand(), true));
                     $nameFile = $currentMicroTime . '.jpg';
                     $fullPathNameFile = $this->_file_foto . $nameFile;
                     $filterRename = new Zend_Filter_File_Rename(array('target' => $fullPathNameFile, 'overwrite' => true));
                     $filterRename->filter($locationFile);
                     $imageAdapter = new Zend_File_Transfer_Adapter_Http();
                     $imageAdapter->setDestination($this->_file_foto);
                     if ($imageAdapter->receive()) {
                         echo 'Upload efetuado com sucesso';
                     } else {
                         echo 'Ops! Ocorreu um erro ao enviar o arquivo';
                     }
                 } catch (Zend_File_Transfer_Exception $e) {
                     $e->getMessage();
                 }
             }
             $this->produto->updates($id, $form->getValue('grupo_id'), $form->getValue('marca_id'), $form->getValue('modelo_id'), $form->getValue('unidade_id'), $form->getValue('codBarras'), $form->getValue('nome'), $form->getValue('refFabricante'), $form->getValue('refAuxiliar'), $form->getValue('icmsc'), $form->getValue('icmsv'), $form->getValue('ipiVenda'), $form->getValue('cst'), $form->getValue('margenLucro'), $form->getValue('precoCusto'), $form->getValue('precoVenda'), $form->getValue('margenDesconto'), $form->getValue('tipi'), $form->getValue('ncm'), $form->getValue('genero_id'), $form->getValue('cor_id'), $nameFile);
             if ($this->produto) {
                 $this->_helper->flashMessenger->addMessage(array('successo' => 'Registro alterado com sucesso'));
                 $this->_helper->redirector('sucesso');
             }
         } else {
             $form->populate($formData);
         }
     } else {
         $id = $this->_getParam('id', 0);
         if ($id > 0) {
             $form->populate($this->produto->getId($id));
         }
     }
 }
Example #2
0
 public function editarAction()
 {
     $form = new Application_Form_Produto();
     $form->setAction($this->_helper->url('editar'));
     $request = $this->getRequest();
     $dados = $this->getRequest()->getParams();
     $id = $this->getRequest()->getParam('id');
     $dados = $this->getRequest()->getParams();
     $form->setAction($this->_helper->url('editar/id/' . $id));
     /* Obtem um unico usuário através do id passado */
     $produto = $this->_produto->find($id)->current();
     $imagens = $this->_imagens->fetchAll("pro_id_fk='{$id}'", "ima_id DESC");
     $produto->pro_tamanhos = json_decode($produto->pro_tamanhos);
     $this->view->categoria = $produto->cat_id_fk;
     $this->view->imagens = $imagens;
     $produto->pro_valor = number_format($produto->pro_valor, 2, ',', '.');
     $form->populate($produto->toArray());
     if ($request->isPost() && $form->isValid($request->getPost())) {
         try {
             $numeros = $dados["pro_tamanhos"];
             foreach ($numeros as $key => $value) {
                 $numeracao[] = $value;
             }
             $json = json_encode($numeracao);
             $valor = str_replace('.', '', $dados["pro_valor"]);
             $valor = str_replace(',', '.', $valor);
             $produto->pro_nome = $dados["pro_nome"];
             $produto->pro_identificador = $dados["pro_identificador"];
             $produto->pro_descricao = $dados["pro_descricao"];
             $produto->pro_valor = $valor;
             $produto->cat_id_fk = $dados["select_categoria"];
             $produto->pro_tamanhos = $json;
             $produto->pro_pontos = $dados["pro_pontos"];
             $produto->save();
             /** 
                          Faz o upload das imagens
                          **/
             $dir = "./uploads/produtos/";
             $adapter = new Zend_File_Transfer_Adapter_Http();
             try {
                 $this->_imagens = new Application_Model_ImagensProdutos();
                 $form->getElement('imagens')->setDestination("{$dir}");
                 foreach ($adapter->getFileInfo() as $file => $info) {
                     if ($adapter->isUploaded($file)) {
                         $name = $adapter->getFileName($file);
                         require_once APPLICATION_PATH . '/../library/Tokem/Functions/functions.php';
                         $fileName = removeAcentos($info['name']);
                         $newFileName = strtolower(str_replace(' ', '', $fileName));
                         $img_nome = md5(microtime()) . '_' . $newFileName;
                         $fname = $dir . "/" . $img_nome;
                         $caminho = ltrim($dir, ".");
                         $image = array("ima_nome" => "{$img_nome}", "pro_id_fk" => $id);
                         $imagem = $this->_imagens->fetchRow("pro_id_fk='{$id}'");
                         if (!empty($imagem)) {
                             unlink("../public/uploads/produtos/" . $imagem->ima_nome);
                             $imagem->ima_nome = $img_nome;
                             $imagem->save();
                         } else {
                             $this->_imagens->insert($image);
                         }
                         /**
                          *  Let's inject the renaming filter
                          */
                         $adapter->addFilter(new Zend_Filter_File_Rename(array('target' => $fname, 'overwrite' => true)), null, $file);
                         /**
                          * And then we call receive manually
                          */
                         $adapter->receive($file);
                     }
                 }
                 $flashMessenger = $this->_helper->FlashMessenger;
                 $flashMessenger->addMessage('
                 <div class="alert alert-success alert-dismissible" role="alert">
                 <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                 <strong>Sucesso</strong> - Tudo ocorreu bem!
                 </div>
             ');
                 $this->_helper->redirector('index');
                 exit;
             } catch (Exception $e) {
                 echo $e->getMessage();
                 exit;
                 $flashMessenger = $this->_helper->FlashMessenger;
                 $flashMessenger->addMessage('<div class="alert alert-danger alert-dismissible" role="alert">
                 <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                 <strong>ERRO</strong> - Ocorreu um erro inesperado! se persistir entre em contato com o suporte!
             </div>');
                 $this->_helper->redirector('index');
                 exit;
             }
             /**
                         fim do upload de imagens
                         **/
             $flashMessenger = $this->_helper->FlashMessenger;
             $flashMessenger->addMessage('
                 <div class="alert alert-success alert-dismissible" role="alert">
                 <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                 <strong>Sucesso</strong> - Tudo ocorreu bem!
                 </div>
             ');
         } catch (Zend_Db_Exception $e) {
             echo $e->getMessage();
             exit;
             $flashMessenger = $this->_helper->FlashMessenger;
             $flashMessenger->addMessage('<div class="alert alert-danger alert-dismissible" role="alert">
                 <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                 <strong>ERRO</strong> - Ocorreu um erro inesperado! se persistir entre em contato com o suporte!
                 </div>');
         }
         $this->_helper->redirector('index');
         exit;
     }
     $this->view->form = $form;
 }