/**
  * Update existing route
  *
  * @param void
  * @return null
  */
 function edit()
 {
     if ($this->active_tax_rate->isNew()) {
         $this->httpError(HTTP_ERR_NOT_FOUND);
     }
     // if
     if (!$this->active_tax_rate->canEdit($this->logged_user)) {
         $this->httpError(HTTP_ERR_FORBIDDEN);
     }
     // if
     $this->wireframe->addPageMessage(lang('Updating of this tax rate will also update all existing invoices. If that is not an option, consider creating a new tax rate'), 'warning');
     $tax_rate_data = $this->request->post('tax_rate');
     if (!is_array($tax_rate_data)) {
         $tax_rate_data = array('name' => $this->active_tax_rate->getName(), 'percentage' => $this->active_tax_rate->getPercentage());
     }
     // if
     $this->smarty->assign('tax_rate_data', $tax_rate_data);
     if ($this->request->isSubmitted()) {
         $this->active_tax_rate->setAttributes($tax_rate_data);
         $save = $this->active_tax_rate->save();
         if ($save && !is_error($save)) {
             flash_success('Tax rate ":name" has been updated', array('name' => $this->active_tax_rate->getName()));
             $this->redirectTo('admin_tax_rates');
         } else {
             $this->smarty->assign('errors', $save);
         }
         // if
     }
     // if
 }
Пример #2
0
 public function actionCreate()
 {
     $model = new TaxRate();
     $description = new TaxRateDescription();
     $this->performAjaxValidation(array($model, $description), 'tax-rate-form');
     if (isset($_POST[$this->modelName])) {
         $model->setAttributes($_POST[$this->modelName]);
         $description->setAttributes($_POST[$this->modelName . 'Description']);
         $suc = Yii::t('info', 'TaxRate was successfully created');
         $err = Yii::t('info', 'Could not update TaxRate');
         $description->tax_rate_id = 0;
         $description->locale_code = Yii::app()->getLanguage();
         if ($model->validate() && $description->validate()) {
             if ($model->save()) {
                 $description->tax_rate_id = $model->id;
                 $description->save();
                 Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, $suc);
                 if (Yii::app()->getRequest()->getIsAjaxRequest()) {
                     $this->renderPartial('_view', array('model' => $model, 'description' => $description), false, true);
                     Yii::app()->end();
                 } else {
                     $this->redirect(array('view', 'id' => $model->id));
                 }
             } else {
                 Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, $err);
             }
         } else {
             $description->validate();
         }
     }
     if (Yii::app()->getRequest()->getIsAjaxRequest()) {
         $this->renderPartial('_form', array('model' => $model, 'description' => $description), false, true);
         Yii::app()->end();
     }
     $this->render('create', array('model' => $model, 'description' => $description));
 }