[ 'class' => VerbFilter::className (), 'actions' => [ 'delete' => [ 'post' ] ] ], 'access' => [ 'class' => \yii\filters\AccessControl::className (), 'rules' => [ // allow authenticated users [ 'actions' => [ ], 'allow' => true, 'roles' => [ 'admin', 'employee', 'reception' ] ] ] ] // everything else is denied ]; } /** * Lists all Ugiro models. * * @return mixed */ public function actionIndex() { $searchModel = new UgiroSearch (); $dataProvider = $searchModel->search ( Yii::$app->request->queryParams ); return $this->render ( 'index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider ] ); } /** * Lists all Ugiro models. * * @return mixed */ public function actionItems($id) { $searchModel = new UgiroSearch (); $dataProvider = $searchModel->search ( Yii::$app->request->queryParams ); return $this->render ( 'index', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider ] ); } public function actionActivate() { } /** * Displays a single Ugiro model. * * @param integer $id * @return mixed */ public function actionView($id) { $model = $this->findModel ( $id ); if (Yii::$app->request->isPost) { if ($model->status == Ugiro::$STATUS_RECIEVED) { set_time_limit ( 1200 ); // 20 perc $processor = new DetStatProcessor ( [ 'koteg' => $model ] ); $processor->run (); } else { \Yii::$app->session->setFlash ( 'danger', 'Nem lehet futtatni a fájlt' ); \Yii::error ( "a koteg státusza nem STATUS_RECIEVED. A koteg azonosíótja:" . $model->id_ugiro ); } } else { if (isset ( $_GET ['output'] )) { $output = $_GET ['output']; if ($output == 'pdf') { $this->downloadUgiro ( $model ); } } } return $this->render ( 'view', [ 'model' => $this->findModel ( $id ) ] ); } protected function downloadUgiro($model) { // $mpdf = new \mPDF ( 'utf-8', 'A4' ); $mpdf = new \mPDF ( 'utf-8', 'A4-L' ); $fn = "köteg.". $model->id_ugiro . ".pdf"; $mpdf->useSubstitutions = false; $mpdf->simpleTables = true; $mpdf->SetHeader ( "" ); $mpdf->setFooter ( '{PAGENO} / {nb}' ); $query = new Query(); $query->select([ 'customer.id_customer as customer_id_customer', 'customer.name as customer_name', 'customer.bank_account as customer_bank_account', 'ticket_installment_request.money as request_money', 'ticket_installment_request.request_target_time_at as request_request_target_time_at', ]); $query->from('ticket_installment_request'); $query->innerJoin('ugiro_request_assignment','ticket_installment_request.id_ticket_installment_request = ugiro_request_assignment.id_request'); $query->innerJoin('customer','customer.id_customer = ticket_installment_request.id_customer'); $query->andWhere(['ugiro_request_assignment.id_ugiro' => $model->id_ugiro]); $dataProvider = new ActiveDataProvider( [ 'query' => $query, 'sort' => false, 'pagination' => false ] ); $stylesheet = file_get_contents ( \Yii::getAlias ( '@vendor' . '/bower/bootstrap/dist/css/bootstrap.css' ) ); // external css $mpdf->WriteHTML ( $stylesheet, 1 ); $mpdf->WriteHTML ( $this->renderPartial ( '_view_pdf.php', [ 'model' => $model, 'dataProvider' => $dataProvider ] ) ); $mpdf->Output ( $fn, 'D' ); exit (); } /** * Creates a new Ugiro model. * If creation is successful, the browser will be redirected to the 'view' page. * * @return mixed */ public function actionCreate() { $model = new Ugiro (); if ($model->load ( Yii::$app->request->post () ) && $model->save ()) { return $this->redirect ( [ 'view', 'id' => $model->id_ugiro ] ); } else { return $this->render ( 'create', [ 'model' => $model ] ); } } /** * Updates an existing Ugiro 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_ugiro ] ); } else { return $this->render ( 'update', [ 'model' => $model ] ); } } /** * Deletes an existing Ugiro 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' ] ); } public function actionDetsta() { $ugiro = Ugiro::findOne ( 31 ); $model = new DetStatProcessor ( [ 'koteg' => $ugiro ] ); return $this->render ( 'detsta', [ 'model' => $model ] ); } public function actionUpload() { $model = new DestaUploadForm (); if (Yii::$app->request->isPost) { $model->destaFile = UploadedFile::getInstance ( $model, 'destaFile' ); if ($model->upload ()) { // file is uploaded successfully return $this->redirect ( [ 'view', 'id' => $model->koteg->id_ugiro ] ); } } return $this->render ( 'upload', [ 'model' => $model ] ); } public function actionGenerateDetsta() { } /** * Finds the Ugiro model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * * @param integer $id * @return Ugiro the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Ugiro::findOne ( $id )) !== null) { return $model; } else { throw new NotFoundHttpException ( 'The requested page does not exist.' ); } } }