[ 'class' => AccessControl::className(), //'only' => ['logout','index'], 'rules' => [ [ 'actions' => ['index','save','delete','show','add','delete_product'], 'allow' => true, 'roles' => ['admin'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'logout' => ['post'], ], ], ]; } public function actionIndex() { $searchModel = new Orders; $searchModel->load(Yii::$app->request->queryParams); $query = Orders::find(); if(!empty($searchModel->phone))$query->andFilterWhere(['like', 'phone', $searchModel->phone]); if(!empty($searchModel->name))$query->andFilterWhere(['like', 'name', $searchModel->name]); if(!empty($searchModel->surname))$query->andFilterWhere(['like', 'surname', $searchModel->surname]); if(!empty($searchModel->total))$query->andFilterWhere(['like', 'total', $searchModel->total]); if(!empty($searchModel->reserve))$query->andFilterWhere(['like', 'reserve', $searchModel->reserve]); if(!empty($searchModel->status))$query->andFilterWhere(['like', 'status', $searchModel->status]); $dataProvider = new ActiveDataProvider([ 'query' =>$query, 'sort'=> ['defaultOrder' => ['id'=>SORT_DESC]], 'pagination' => [ 'pageSize' => 20, ], ]); return $this->render('index',['dataProvider'=>$dataProvider,'searchModel'=>$searchModel]); } public function actionShow() { $model = (!empty($_GET['id'])) ? Orders::findOne($_GET['id']) : new Orders; if ($model->load(Yii::$app->request->post()) && $model->save()) { return Yii::$app->response->redirect(['/admin/orders/show','id'=>$model->id,'success'=>1]); } $dataProvider = new ActiveDataProvider([ 'query' => OrdersProducts::find()->where(['order_id'=>$_GET['id']]), 'pagination' => [ 'pageSize' => 20, ], ]); return $this->render('show',['model'=>$model,'dataProvider'=>$dataProvider]); } public function actionDelete(){ $model = Orders::findOne($_GET['id']); $model->delete(); return Yii::$app->response->redirect(['/admin/orders/index']); } public function actionAdd(){ $model = new OrdersProducts; if ($model->load(Yii::$app->request->post())) { if(!$modelMod = Mod::find()->with(['product'])->where(['art'=>$model->art])->one()) throw new HttpException(404, 'Данного артикля не существует!'); $model->product_name = $modelMod->product->name; $model->name = $modelMod->name; $model->art = $modelMod->art; $model->cost = $modelMod->cost; $model->sum_cost = $model->count*$modelMod->cost; $model->save(); return Yii::$app->response->redirect(['/admin/orders/show','id'=>$_GET['order_id']]); } return $this->render('add',['model'=>$model]); } public function actionDelete_product(){ $model = OrdersProducts::findOne($_GET['id']); $model->delete(); return Yii::$app->response->redirect(['/admin/orders/show','id'=>$_GET['order_id']]); } }