public function post()
 {
     $post = Input::all();
     $validator = Supplier::validate($post);
     $supplierId = $post['id'];
     if ($validator->fails()) {
         return Redirect::to('distribuidores/' . $supplierId)->withErrors($validator)->withInput();
     } else {
         $supplier = self::__checkExistence($supplierId);
         if (!$supplierId) {
             $supplier = new Supplier();
         }
         $supplier->name = $post['name'];
         $supplier->ruc = $post['ruc'];
         $supplier->address = $post['address'];
         $supplier->phone = $post['phone'];
         $supplier->email = $post['email'];
         $supplier->web = $post['web'];
         $supplier->contact = $post['contact'];
         $supplier->contact_phone = $post['contact_phone'];
         $supplier->save();
         if ($post['status'] == 'inactive') {
             $supplier->delete();
         } else {
             if ($supplier->trashed()) {
                 $supplier->restore();
             }
         }
         Session::flash('success', 'Distribuidor guardado correctamente.');
         return Redirect::to('distribuidores');
     }
 }
예제 #2
0
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggregated array of ValidationFailed objects will be returned.
  *
  * @param array $columns Array of column names to validate.
  * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objects otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their corresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aSupplier !== null) {
             if (!$this->aSupplier->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aSupplier->getValidationFailures());
             }
         }
         if (($retval = BarangMasukPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         if ($this->collDetailBarangMasuks !== null) {
             foreach ($this->collDetailBarangMasuks as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate($recv_mode = 'N', $trans_mode = null)
 {
     $model = new Supplier();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (Yii::app()->user->checkAccess('supplier.create')) {
         if (isset($_POST['Supplier'])) {
             $model->attributes = $_POST['Supplier'];
             if ($model->validate()) {
                 $transaction = Yii::app()->db->beginTransaction();
                 try {
                     if ($model->save()) {
                         AccountSupplier::model()->saveAccount($model->id, $model->company_name);
                         $transaction->commit();
                         if ($recv_mode == 'N') {
                             Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Supplier : <strong>' . $model->company_name . '</strong> have been saved successfully!');
                             $this->redirect(array('create'));
                         } else {
                             Yii::app()->receivingCart->setSupplier($model->id);
                             $this->redirect(array('receivingItem/index', 'trans_mode' => $trans_mode));
                         }
                         /*
                         Yii::app()->clientScript->scriptMap['jquery.js'] = false;
                         echo CJSON::encode(array(
                            'status'=>'success',
                            'div'=>"<div class=alert alert-info fade in>Successfully added ! </div>",
                            ));
                         Yii::app()->end();
                          * 
                         */
                     }
                 } catch (CDbException $e) {
                     $transaction->rollback();
                     Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_WARNING, 'Oop something wrong : <strong>' . $e->getMessage());
                 }
             }
         }
     } else {
         throw new CHttpException(403, 'You are not authorized to perform this action');
     }
     if (Yii::app()->request->isAjaxRequest) {
         Yii::app()->clientScript->scriptMap['*.js'] = false;
         echo CJSON::encode(array('status' => 'render', 'div' => $this->renderPartial('_form', array('model' => $model), true, false)));
         Yii::app()->end();
     } else {
         $this->render('create', array('model' => $model));
     }
 }