From 39ae36150538bbb502f289eaa62be35bb00d1d36 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Wed, 6 Jan 2016 16:18:15 +0100 Subject: [PATCH] add transfer#list pdf download, fix helper#fixascii function --- backend/controllers/TransferController.php | 75 ++- backend/models/TransferListSearch.php | 22 +- .../models/TransferListUserGroupedSearch.php | 43 ++ backend/views/layouts/header.php | 2 +- backend/views/transfer/_list_pdf_head.php | 61 ++ .../transfer/_search_list_user_grouped.php | 63 +++ backend/views/transfer/_total_content.php | 9 + backend/views/transfer/_total_content_pdf.php | 8 + backend/views/transfer/_total_detailed.php | 175 ++++++ backend/views/transfer/_total_easy.php | 69 +++ backend/views/transfer/_total_medium.php | 158 ++++++ backend/views/transfer/_view_easy_total.php | 21 + backend/views/transfer/_view_search_list.php | 45 ++ backend/views/transfer/list.php | 360 +----------- backend/views/transfer/list_user_grouped.php | 66 +++ changelog.txt | 3 + common/components/DailyListing.php | 532 ++++++++++++++++++ common/components/Helper.php | 8 +- common/config/params.php | 5 +- common/models/Card.php | 3 +- common/models/Product.php | 20 +- common/models/Transfer.php | 4 + common/models/TransferListSearch.php | 87 ++- common/models/TransferSaleSearch.php | 17 +- common/models/TransferTicketSearch.php | 5 +- frontend/components/FrontendMenuStructure.php | 14 +- frontend/models/TransferListSearch.php | 2 +- frontend/views/customer/reception.php | 7 +- frontend/web/js/accountstate.js | 8 + 29 files changed, 1519 insertions(+), 373 deletions(-) create mode 100644 backend/models/TransferListUserGroupedSearch.php create mode 100644 backend/views/transfer/_list_pdf_head.php create mode 100644 backend/views/transfer/_search_list_user_grouped.php create mode 100644 backend/views/transfer/_total_content.php create mode 100644 backend/views/transfer/_total_content_pdf.php create mode 100644 backend/views/transfer/_total_detailed.php create mode 100644 backend/views/transfer/_total_easy.php create mode 100644 backend/views/transfer/_total_medium.php create mode 100644 backend/views/transfer/_view_easy_total.php create mode 100644 backend/views/transfer/_view_search_list.php create mode 100644 backend/views/transfer/list_user_grouped.php create mode 100644 common/components/DailyListing.php diff --git a/backend/controllers/TransferController.php b/backend/controllers/TransferController.php index 5bea588..dac05e7 100644 --- a/backend/controllers/TransferController.php +++ b/backend/controllers/TransferController.php @@ -14,6 +14,7 @@ use backend\models\TransferListSearch; use backend\models\TransferSaleSearch; use common\models\ProductCategory; use common\models\Product; +use backend\models\TransferListUserGroupedSearch; /** * TransferController implements the CRUD actions for Transfer model. @@ -28,7 +29,7 @@ class TransferController extends \backend\controllers\BackendController 'rules' => [ // allow authenticated users [ - 'actions' => [ 'index','view','summary','list',"sale","sale-pdf" ], + 'actions' => [ 'index','view','summary','list',"sale","sale-pdf" ,'list-user-grouped'], 'allow' => true, 'roles' => ['admin','employee','reception'], ], @@ -75,7 +76,75 @@ class TransferController extends \backend\controllers\BackendController $searchModel->search(Yii::$app->request->queryParams); - return $this->render('list', [ + if ( $searchModel->output == 'pdf'){ + $user = User::findOne(\Yii::$app->user->id); + $mpdf=new \mPDF('utf-8', 'A4-L'); + $fn = ""; + $ov = '_total_content_pdf'; + $dt= "_letrehozva_".date("Ymd_His"). "_" . $user->username; + $interval=""; + $account = ""; + $currentUser= ""; + if ( isset($searchModel->currentAccount) ){ + $account =( "_kassza_".$searchModel->currentAccount->name); + } + + if ( isset($searchModel->currentUser) ){ + $currentUser = ( "_felhasznalo_".$searchModel->currentUser->username); + } + if ( isset($searchModel->timestampStart) ){ + $interval .="_tol_". \Yii::$app->formatter->asDatetime($searchModel->timestampStart,'yyyyMMdd_HHmm'); + } + if ( isset($searchModel->timestampEnd) ){ + $interval .="_ig_". \Yii::$app->formatter->asDatetime($searchModel->timestampEnd,'yyyyMMdd_HHmm'); + } + if ( $searchModel->outputView == 'easy'){ + $ov = '_total_easy'; + $fn="napi_bevetelek_egyszeru"; + }else if ( $searchModel->outputView == 'medium'){ + $ov = '_total_medium'; + $fn="napi_bevetelek_kozepes"; + }else if ( $searchModel->outputView == 'detailed'){ + $ov = '_total_detailed'; + $fn="napi_bevetelek_reszletes"; + }else{ + $ov = '_total_content_pdf'; + $fn="napi_bevetelek.teljes"; + } + $fn = $fn. $interval . $dt .$account .$currentUser. ".pdf"; + + $mpdf->useSubstitutions=false; + $mpdf->simpleTables = true; + $mpdf->SetHeader( \Yii::$app->params[ "company_name" ] . " - Létrehozva: " .$user->username . ", ".\Yii::$app->formatter->asDatetime(time()) ); + $mpdf->setFooter('{PAGENO} / {nb}'); + $mpdf->WriteHTML($this->renderPartial($ov, [ + 'searchModel' => $searchModel, + ])); + $mpdf->Output($fn, 'D'); + exit; + }else{ + return $this->render('list', [ + 'searchModel' => $searchModel, + ]); + } + + } + + + /** + * Lists all Transfer models. + * @return mixed + */ + public function actionListUserGrouped() + { + $searchModel = new TransferListUserGroupedSearch(); + $searchModel->accounts = Account::read(); + $searchModel->users = User::read(); + + $searchModel->search(Yii::$app->request->queryParams); + + + return $this->render('list_user_grouped', [ 'searchModel' => $searchModel, ]); @@ -88,6 +157,7 @@ class TransferController extends \backend\controllers\BackendController public function actionSale() { $searchModel = new TransferSaleSearch(); + $searchModel->mode = 'admin'; $searchModel->accounts = Account::read(); $searchModel->users = User::read(); $searchModel->productCategories = ProductCategory::read(); @@ -104,6 +174,7 @@ class TransferController extends \backend\controllers\BackendController public function actionSalePdf(){ $searchModel = new TransferSaleSearch(); + $searchModel->mode = 'admin'; $searchModel->accounts = Account::read(); $searchModel->users = User::read(); $searchModel->productCategories = ProductCategory::read(); diff --git a/backend/models/TransferListSearch.php b/backend/models/TransferListSearch.php index 088740b..bdee8e3 100644 --- a/backend/models/TransferListSearch.php +++ b/backend/models/TransferListSearch.php @@ -12,17 +12,23 @@ use common\models\Account; class TransferListSearch extends \common\models\TransferListSearch { + public function init(){ + parent::init(); + $this->mode = 'admin'; + } + + protected function addAccountConstraint($query){ - if ( !RoleDefinition::isAdmin() ){ - $query->innerJoin("user_account_assignment",'transfer.id_account = user_account_assignment.id_account' ); - $query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]); - $query->andWhere(['account.type' => Account::TYPE_ALL ]); +// if ( !RoleDefinition::isAdmin() ){ +// $query->innerJoin("user_account_assignment",'transfer.id_account = user_account_assignment.id_account' ); +// $query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]); +// $query->andWhere(['account.type' => Account::TYPE_ALL ]); - if ( RoleDefinition::isReception()){ - $query->andWhere(['transfer.id_user' => Yii::$app->user->id ]); - } +// if ( RoleDefinition::isReception()){ +// $query->andWhere(['transfer.id_user' => Yii::$app->user->id ]); +// } - } +// } } } diff --git a/backend/models/TransferListUserGroupedSearch.php b/backend/models/TransferListUserGroupedSearch.php new file mode 100644 index 0000000..868caaa --- /dev/null +++ b/backend/models/TransferListUserGroupedSearch.php @@ -0,0 +1,43 @@ +mode = 'admin'; + } + + + public function search($params) + { + + $this->load($params); + + if (!$this->validate()) { + } + + $listing = new DailyListing(); + $listing->mode = $this->mode; + $listing->loadFilters($this); + + $this->ticketMoneyByUser = $listing->readTicketMoneyByUser(); + + + + } + + +} diff --git a/backend/views/layouts/header.php b/backend/views/layouts/header.php index 6360048..9eb7bf3 100644 --- a/backend/views/layouts/header.php +++ b/backend/views/layouts/header.php @@ -16,7 +16,7 @@ use yii\helpers\Html;