fitness-web/backend/controllers/InventoryController.php

108 lines
2.9 KiB
PHP

<?php
namespace backend\controllers;
use Yii;
use common\models\Inventory;
use backend\models\InventorySearch;
use yii\web\Controller;
use yii\web\NotFoundHttpException;
use yii\filters\VerbFilter;
use common\models\User;
use yii\db\Query;
use backend\models\InventoryItemSearch;
use common\models\InventoryItem;
use common\components\Helper;
/**
* InventoryController implements the CRUD actions for Inventory model.
*/
class InventoryController extends Controller
{
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'close' => ['post'],
],
],
];
}
/**
* Lists all Inventory models.
* @return mixed
*/
public function actionIndex()
{
$searchModel = new InventorySearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
/**
* Creates a new Inventory model.
* If creation is successful, the browser will be redirected to the 'view' page.
* @return mixed
*/
public function actionCreate()
{
$model = new Inventory();
$user = User::findOne(\Yii::$app->user->id);
$model->status = Inventory::$STATUS_OPEN;
$model->name = 'Leltár_'.date('Ymd_His') .'_' . $user->username;
$model->id_user = \Yii::$app->user->id;
if ($model->load(Yii::$app->request->post()) && $model->save()) {
return $this->redirect(['inventory-item/index', 'id' => $model->id_inventory]);
} else {
}
return $this->render('create', [
'model' => $model,
]);
}
public function actionClose($id){
$model = $this->findModel($id);
$model->status = Inventory::$STATUS_CLOSED;
$model->save(false);
$db = \Yii::$app->db;
$command = $db->createCommand(InventoryItem::$UPDATE_COUNT,[':id_inventory' => $id]);
$command->execute();
Helper::flash("success", "Leltár lezárva, leltározott termékek darabszáma felülírva!");
return $this->redirect(['inventory-item/index','id' => $model->id_inventory]);
}
/**
* Finds the Inventory model based on its primary key value.
* If the model is not found, a 404 HTTP exception will be thrown.
* @param integer $id
* @return Inventory the loaded model
* @throws NotFoundHttpException if the model cannot be found
*/
protected function findModel($id)
{
if (($model = Inventory::findOne($id)) !== null) {
return $model;
} else {
throw new NotFoundHttpException('The requested page does not exist.');
}
}
}