[ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['post'], ], ], 'access' => [ 'class' => \yii\filters\AccessControl::className(), 'only' => ['create', 'index' ], 'rules' => [ // allow authenticated users [ 'allow' => true, 'roles' => ['@'], ], // everything else is denied ], ], ]; } /** * Lists all Ticket models. * @return mixed */ public function actionIndex($number = null) { $receptionForm = new ReceptionForm(); $receptionForm->number = $number; $receptionForm->readCard(); if ( !isset($receptionForm->card ) ){ throw new NotFoundHttpException( Yii::t('frontend/ticket', 'The requested card does not exist.')); } $searchModel = new TicketSearch(); $dataProvider = $searchModel->search( $receptionForm->card, Yii::$app->request->queryParams); return $this->render('index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'receptionForm' => $receptionForm, ]); } /** * Creates a new Ticket model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate($number = null) { $receptionForm = new ReceptionForm(); $receptionForm->number = $number; $receptionForm->readCard(); if ( !isset($receptionForm->card ) ){ throw new NotFoundHttpException( Yii::t('frontend/ticket', 'The requested card does not exist.')); } $model = new TicketCreate(); $discounts = Discount::read(); $ticketTypes = TicketType::read(); $accounts = Account::readAccounts(); $user = User::findOne( [ 'id' => Yii::$app->user->id ] ); $model->id_user = \Yii::$app->user->id; $model->status = Ticket::STATUS_ACTIVE; $model->usage_count = 0; $model->id_card = $receptionForm->card->id_card; if ($model->load(Yii::$app->request->post()) && $model->save()) { Yii::$app->session->setFlash('success', Yii::t('frontend/ticket', 'Ticket added to customer') ); return $this->redirect(['product/sale', 'number' => $receptionForm->card->number]); } else { $userTransfers = Transfer::modelsToArray( Transfer::readUserSoldTransfers($user) ); return $this->render('create', [ 'model' => $model, 'discounts' => $discounts, 'ticketTypes' => $ticketTypes, 'accounts' => $accounts, 'receptionForm' => $receptionForm, 'userTransfers' => $userTransfers, ]); } } /** * Finds the Ticket model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Ticket the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Ticket::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } } /** * Displays a single Ticket model. * @param integer $id * @return mixed */ /* public function actionView($id) { return $this->render('view', [ 'model' => $this->findModel($id), ]); } */ /** * Deletes an existing Ticket model. * If deletion is successful, the browser will be redirected to the 'index' page. * @param integer $id * @return mixed */ /* public function actionDelete($id) { $this->findModel($id)->delete(); return $this->redirect(['index']); } */ /** * Updates an existing Ticket model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ /* public function actionUpdate($id) { $model = $this->findModel($id); if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['view', 'id' => $model->id_ticket]); } else { return $this->render('update', [ 'model' => $model, ]); } } */ }