public function editAction()
 {
     $modelCategory = new Application_Model_Category();
     $this->view->categories = $modelCategory->getAll();
     $modelCurrency = new Application_Model_Currency();
     $this->view->currencies = $modelCurrency->getAll();
     $modelPaiement = new Application_Model_Paiement();
     $this->view->paiements = $modelPaiement->getAll();
     $id = $this->getRequest()->getParam("id");
     $modelTransaction = new Application_Model_Transaction();
     if (isset($id)) {
         $this->view->transaction = $modelTransaction->getById($id);
     }
     if ($this->getRequest()->isPost()) {
         $description = $this->getRequest()->getPost('description', null);
         $category = $this->getRequest()->getPost('category', null);
         $currency = $this->getRequest()->getPost('currency', null);
         $paiement = $this->getRequest()->getPost('paiement', null);
         $transaction = $this->getRequest()->getPost('transaction', null);
         $date = $this->getRequest()->getPost('date', null);
         if ($transaction == 0) {
             $this->view->error = "Le montant de la transaction est vide";
         }
         $session = new Zend_Session_Namespace('Zend_auth');
         if (!isset($this->view->error)) {
             $data_transaction = array('description' => $description, 'amount' => $transaction, 'date' => $date, 'id_category' => $category, 'id_currency' => $currency, 'id_mode_paiement' => $paiement, 'id_user' => $session->user);
             if (!isset($id)) {
                 $modelTransaction->insertTransaction($data_transaction);
             } else {
                 $modelTransaction->updateTransaction($data_transaction, $id);
             }
             $this->_redirect('transaction/');
         }
     }
 }
 public function saveAction()
 {
     $id = $this->getParam('id');
     $form = new Application_Form_SaveCurrency();
     if ($id) {
         $currencyMapper = new Application_Model_CurrencyMapper();
         $currency = $currencyMapper->find($id);
         $form->getElement('code')->setValue($currency->code);
         $form->getElement('rate')->setValue(number_format((double) $currency->rate, 4));
         $form->getElement('def')->setValue($currency->def);
         $form->getElement('active')->setValue($currency->active);
         if (!$currency->def) {
             $delForm = new Application_Form_SubmitButton();
             $delForm->setAction($this->view->url(array('controller' => 'currencies', 'action' => 'delete'), null, true));
             $delForm->addAttribs(array('id' => 'delSettingForm' . $id, 'onsubmit' => self::VALIDATE_FORM . "('delSettingForm" . $id . "')", 'class' => 'form-horizontal'));
             $delForm->getElement('id')->setValue($id);
             $delForm->getElement('submit')->setAttribs(array('class' => 'btn btn-danger'));
             $delForm->getElement('submit')->setLabel('Delete');
             $this->view->delForm = $delForm;
         }
     }
     $form->getElement('active')->setValue(1);
     $request = $this->getRequest();
     if ($request->isPost()) {
         if ($form->isValid($request->getPost())) {
             $data = $form->getValues();
             $currency = new Application_Model_Currency($data);
             $currency->setId($id);
             $currencyMapper = new Application_Model_CurrencyMapper();
             //var_dump($data, $currency);
             try {
                 $currencyMapper->save($currency);
                 if ($currency->def) {
                     $currencyMapper->updater();
                 }
             } catch (Exception $e) {
                 $this->_helper->getHelper('FlashMessenger')->addMessage($e->getMessage(), 'error');
             }
             return $this->_helper->redirector('dashboard', 'users');
         }
     } else {
         foreach ($form->getMessages() as $error) {
             $this->_helper->getHelper('FlashMessenger')->addMessage(array_shift(array_values($error)), 'error');
             $this->_helper->redirector('save');
             //var_dump(array_shift(array_values($error)));
         }
     }
     $this->view->form = $form;
 }
 public function save(Application_Model_Currency $currency)
 {
     if ($currency->def) {
         $currency->active = 1;
     }
     $data = array('id' => $currency->id, 'code' => $currency->code, 'rate' => $currency->rate, 'def' => $currency->def, 'active' => $currency->active);
     if ($data['def']) {
         $this->getDbTable()->update(array('def' => 0), array('id <> ?' => $currency->id));
     }
     if (null === ($id = $currency->getId())) {
         unset($data['id']);
         $this->getDbTable()->insert($data);
     } else {
         $this->getDbTable()->update($data, array('id = ?' => $id));
     }
 }
Example #4
0
 public function myprofileAction()
 {
     $session = new Zend_Session_Namespace('Zend_auth');
     if (!isset($session->user)) {
         $this->_redirect('index/login');
     }
     // action body
     $modelCurrency = new Application_Model_Currency();
     $this->view->currencies = $modelCurrency->fetchAll();
     $modelUser = new Application_Model_User();
     $user = $modelUser->getById($session->user);
     $this->view->user = $user;
     if ($this->getRequest()->isPost()) {
         $password = $this->getRequest()->getPost('pwd', null);
         $newpassword = $this->getRequest()->getPost('newpwd', null);
         $confnewpassword = $this->getRequest()->getPost('confnewpwd', null);
         $firstname = $this->getRequest()->getPost('firstname', null);
         $lastname = $this->getRequest()->getPost('lastname', null);
         $default_currency = $this->getRequest()->getPost('default_currency', null);
         $params = array("first_name" => $firstname, "last_name" => $lastname, "default_currency" => $default_currency);
         if (!empty($newpassword)) {
             if ($confnewpassword == $newpassword) {
                 if ($user['password'] == sha1($password)) {
                     $params["password"] = sha1($newpassword);
                 } else {
                     $this->view->error = "Le mot de passe actuel est invalide";
                 }
             } else {
                 $this->view->error = "Les deux mots de passes ne sont pas identiques";
             }
         }
         if (!isset($this->view->error)) {
             $modelUser->updateUser($params, $session->user);
             $this->_redirect('index/myprofile?success');
         }
     }
 }
Example #5
0
 /**
  * Добавить валюту по значению буквенного кода
  * 
  * @param string $currencyLetterCode буквенный код валюты
  * @return string
  */
 public function addCurrency($currencyLetterCode)
 {
     $currencyMapper = new Application_Model_CurrencyMapper();
     $existsCurrency = $currencyMapper->fetchByName($currencyLetterCode);
     if ($existsCurrency) {
         return 'exists';
     }
     $currencyModel = new Application_Model_Currency();
     $quotations = $this->_prepareData();
     foreach ($quotations as $data) {
         if ($data['name'] !== $currencyLetterCode) {
             continue;
         }
         $currencyModel->setOptions($data);
         break;
     }
     if (!$currencyModel->getProviderCurrencyId()) {
         return 'notFound';
     }
     $currencyMapper->save($currencyModel);
     $result = $this->updateQuotations();
     return $result;
 }
Example #6
0
 /**
  * Получить все данные
  * 
  * @return \Application_Model_Currency  Результат выборки данных
  */
 public function fetchAll()
 {
     $cacheId = $this->_cachePrefix . 'all';
     $cache = Zend_Registry::get('cache');
     if (!($resultSet = $cache->load($cacheId))) {
         $resultSet = $this->getDbTable()->fetchAll();
         $cache->save($resultSet, $cacheId);
     }
     $entries = array();
     foreach ($resultSet as $row) {
         $entry = new Application_Model_Currency();
         $entry->setId($row->id)->setTitle($row->title)->setName($row->name)->setProviderCurrencyId($row->providerCurrencyId);
         $entries[] = $entry;
     }
     return $entries;
 }