/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionInventory($item_id) { $model = $this->loadModel($item_id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Item'])) { $model->attributes = $_POST['Item']; if (empty($_POST['Item']['items_add_minus'])) { $valid = false; $model->addError('items_add_minus', 'Cannot be blank.'); } elseif (empty($_POST['Item']['inv_comment'])) { $valid = false; $model->addError('inv_comment', 'Cannot be blank.'); } else { $new_quantity = $_POST['Item']['items_add_minus']; $valid = $model->validate(); } if ($valid) { $transaction = $model->dbConnection->beginTransaction(); try { $cur_quantity = $model->quantity; $model->quantity = $cur_quantity + $new_quantity; if ($model->save()) { //Ramel Inventory Tracking $inventory = new Inventory(); $sale_remarks = $_POST['Item']['inv_comment']; $inventory->trans_items = $model->id; $inventory->trans_user = Yii::app()->user->id; $inventory->trans_comment = $sale_remarks; $inventory->trans_inventory = $new_quantity; $inventory->trans_date = date('Y-m-d H:i:s'); if (!$inventory->save()) { $transaction->rollback(); Yii::app()->clientScript->scriptMap['jquery.js'] = false; echo CJSON::encode(array('status' => 'falied', 'div' => "<div class=alert alert-info fade in> Something wrong! </div>" . Yii::app()->user->id . var_dump($inventory->getErrors()))); Yii::app()->end(); } $transaction->commit(); //Yii::app()->clientScript->scriptMap['jquery.js'] = false; echo CJSON::encode(array('status' => 'success', 'div' => "<div class=alert alert-info fade in> Successfully updated ! </div>")); Yii::app()->end(); } } catch (Exception $e) { $transaction->rollback(); print_r($e); } } } if (Yii::app()->request->isAjaxRequest) { $cs = Yii::app()->clientScript; $cs->scriptMap = array('jquery.js' => false, 'bootstrap.js' => false, 'jquery.min.js' => false, 'bootstrap.notify.js' => false, 'bootstrap.bootbox.min.js' => false); Yii::app()->clientScript->scriptMap['*.js'] = false; echo CJSON::encode(array('status' => 'render', 'div' => $this->renderPartial('_inventory', array('model' => $model), true, false))); Yii::app()->end(); } else { $this->render('_inventory', array('model' => $model)); } }
public function actionEditableCreator() { if (isset($_POST['Inventory'])) { $model = new Inventory(); $model->attributes = $_POST['Inventory']; if ($model->save()) { echo CJSON::encode($model->getAttributes()); } else { $errors = array_map(function ($v) { return join(', ', $v); }, $model->getErrors()); echo CJSON::encode(array('errors' => $errors)); } } else { throw new CHttpException(400, 'Invalid request'); } }