예제 #1
0
 public function saveAction()
 {
     $data = $this->getRequest()->getPost();
     //DebugBreak();
     //If the manufacturer already exits or not
     $collection = Mage::getModel('manufacturer/manufacturer')->getCollection()->addFieldToFilter('menufecturer_name', $data['menufecturer_name']);
     $manufacturer_data = $collection->getData();
     if (count($collection) > 0 && $manufacturer_data[0]['status'] == 1 && $this->getRequest()->getParam('id') != $manufacturer_data[0]['manufacturer_id']) {
         $this->_forward('edit');
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('adminhtml')->__('Manufacturer Already Exists'));
         //Mage::getSingleton('adminhtml/session')->setFormData(false);
     } else {
         if ($data) {
             if (isset($_FILES['filename']['name']) && $_FILES['filename']['name'] != '') {
                 try {
                     /* Starting upload */
                     $uploader = new Varien_File_Uploader('filename');
                     // Any extention would work
                     $uploader->setAllowedExtensions(array('jpg', 'jpeg', 'gif', 'png'));
                     $uploader->setAllowRenameFiles(false);
                     // Set the file upload mode
                     // false -> get the file directly in the specified folder
                     // true -> get the file in the product like folders
                     //	(file.jpg will go in something like /media/f/i/file.jpg)
                     $uploader->setFilesDispersion(false);
                     // We set media/Manufacturer as the upload dir
                     $path = Mage::getBaseDir('media') . DS . "Manufacturer" . DS;
                     $uploader->save($path, str_replace(" ", "_", $_FILES['filename']['name']));
                 } catch (Exception $e) {
                 }
                 //If the uploaded file is not image it will mnot allow to save manufacturer
                 $fileName = $_FILES['filename']['name'];
                 $fileName = explode(".", $fileName);
                 //this way the name is saved in DB
                 try {
                     if ($uploader->chechAllowedExtension($fileName[1])) {
                         $data['filename'] = str_replace(" ", "_", $_FILES['filename']['name']);
                     } else {
                         Mage::getSingleton('adminhtml/session')->addError("Upload Image Files Only");
                         Mage::getSingleton('adminhtml/session')->setFormData($data);
                         $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
                         return;
                     }
                 } catch (Exception $e) {
                     Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
                     Mage::getSingleton('adminhtml/session')->setFormData($data);
                     $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
                     return;
                 }
             }
             $model = Mage::getModel('manufacturer/manufacturer');
             $model->setData($data)->setId($this->getRequest()->getParam('id'));
             try {
                 if ($model->getCreatedTime == NULL || $model->getUpdateTime() == NULL) {
                     $model->setCreatedTime(now())->setUpdateTime(now());
                 } else {
                     $model->setUpdateTime(now());
                 }
                 $model->save();
                 Mage::getSingleton('adminhtml/session')->addSuccess(Mage::helper('manufacturer')->__('Manufacturer was successfully saved'));
                 Mage::getSingleton('adminhtml/session')->setFormData(false);
                 if ($this->getRequest()->getParam('back')) {
                     $this->_redirect('*/*/edit', array('id' => $model->getId()));
                     return;
                 }
                 $this->_redirect('*/*/');
                 return;
             } catch (Exception $e) {
                 Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
                 Mage::getSingleton('adminhtml/session')->setFormData($data);
                 $this->_redirect('*/*/edit', array('id' => $this->getRequest()->getParam('id')));
                 return;
             }
         }
         Mage::getSingleton('adminhtml/session')->addError(Mage::helper('manufacturer')->__('Unable to find manufacturer to save'));
         $this->_redirect('*/*/');
     }
 }