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'); } }
/** * 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)); } }