From fd4122a983260c4ad505df28f6f6e5911b013303 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Thu, 3 Mar 2016 07:57:17 +0100 Subject: [PATCH 1/3] add contract started_at field --- backend/models/ContractSearch.php | 5 ++ backend/views/contract/index.php | 5 ++ common/models/Contract.php | 2 + common/models/TicketInstallmentRequest.php | 21 ++++-- common/models/Transfer.php | 4 +- ...ble__contract__add__column__started_at.php | 31 ++++++++ frontend/assets/ContractMakeAsset.php | 29 ++++++++ frontend/controllers/ContractController.php | 5 ++ frontend/models/ContractForm.php | 21 ++++-- frontend/views/contract/_contract.php | 7 +- frontend/views/contract/_make_contract.php | 37 +++++++++- frontend/views/contract/view.php | 1 + frontend/web/js/contract.make.js | 70 +++++++++++++++++++ 13 files changed, 222 insertions(+), 16 deletions(-) create mode 100644 console/migrations/m160302_171507_alter__table__contract__add__column__started_at.php create mode 100644 frontend/assets/ContractMakeAsset.php create mode 100644 frontend/web/js/contract.make.js diff --git a/backend/models/ContractSearch.php b/backend/models/ContractSearch.php index 6fe2c03..43408c4 100644 --- a/backend/models/ContractSearch.php +++ b/backend/models/ContractSearch.php @@ -59,6 +59,7 @@ class ContractSearch extends Contract 'contract.part_count as contract_part_count', 'contract.created_at as contract_created_at', 'contract.expired_at as contract_expired_at', + 'contract.started_at as contract_started_at', ]); $query->from('contract'); @@ -117,6 +118,10 @@ class ContractSearch extends Contract 'asc' => ['contract.expired_at' => SORT_ASC ], 'desc' => ['contract.expired_at' => SORT_DESC], ], + 'contract_started_at' => [ + 'asc' => ['contract.started_at' => SORT_ASC ], + 'desc' => ['contract.started_at' => SORT_DESC], + ], ] ], ]); diff --git a/backend/views/contract/index.php b/backend/views/contract/index.php index 94aa537..b6f8037 100644 --- a/backend/views/contract/index.php +++ b/backend/views/contract/index.php @@ -75,6 +75,11 @@ $this->params['breadcrumbs'][] = $this->title; 'label' =>'Létrehozva', 'format' => 'date' ], + [ + 'attribute' => 'contract_started_at' , + 'label' =>'Érvényes tól', + 'format' => 'date' + ], [ 'attribute' => 'contract_expired_at' , 'label' =>'Lejárat', diff --git a/common/models/Contract.php b/common/models/Contract.php index 728bd11..2dfd0d0 100644 --- a/common/models/Contract.php +++ b/common/models/Contract.php @@ -22,6 +22,7 @@ use common\components\Helper; * @property string $expired_at * @property string $created_at * @property string $updated_at + * @property string $started_at */ class Contract extends \yii\db\ActiveRecord { @@ -82,6 +83,7 @@ class Contract extends \yii\db\ActiveRecord 'expired_at' => Yii::t('common/contract', 'Lejárati dátum'), 'created_at' => Yii::t('common/contract', 'Létrehozva'), 'updated_at' => Yii::t('common/contract', 'Módosítva'), + 'started_at' => Yii::t('common/contract', 'Érvényesség kezdete'), ]; } diff --git a/common/models/TicketInstallmentRequest.php b/common/models/TicketInstallmentRequest.php index 3fb6a00..5791dfe 100644 --- a/common/models/TicketInstallmentRequest.php +++ b/common/models/TicketInstallmentRequest.php @@ -123,7 +123,12 @@ class TicketInstallmentRequest extends \yii\db\ActiveRecord } public function getTicketExpirationDate(){ - return strtotime( $this->request_target_time_at . " +1 month -1 day") ; + $date = \DateTime::createFromFormat("Y-m-d H:i:s", $this->request_target_time_at, new \DateTimeZone( 'UTC')); + $date->modify("+1 month"); + $date->modify("-1 day"); + $date->setTime(0, 0, 0); + + return $date->getTimestamp(); } @@ -244,11 +249,13 @@ class TicketInstallmentRequest extends \yii\db\ActiveRecord $discount = $ticket->discount; $money = $type->installment_money; if ( isset( $discount ) ){ - $money = Discount::applyDiscount($money, $discount); + $money = Discount::applyDiscount( $money, $discount ); } - $ticketCreatedAt = time(); + + + for ( $i = 1; $i <= $count; $i++){ - $request = TicketInstallmentRequest::createInstallment($ticket, $type, $customer, $contract, $money, $ticketCreatedAt, $i); + $request = TicketInstallmentRequest::createInstallment($ticket, $type, $customer, $contract, $money, null, $i); $result[] = $request; } @@ -262,7 +269,11 @@ class TicketInstallmentRequest extends \yii\db\ActiveRecord $request->id_customer = $customer->id_customer; $request->status = TicketInstallmentRequest::$STATUS_PENDING; $request->priority = $index; - $request->request_target_time_at = date('Y-m-d H:i:s', strtotime("+".$index." month" )); + $date = \DateTime::createFromFormat("Y.m.d", $contract->started_at, new \DateTimeZone( 'UTC')); + $date->modify("+$index month"); +// $date->modify("-1 day"); + $date->setTime(0, 0, 0); + $request->request_target_time_at = $date->format ( 'Y-m-d H:i:s' ); $request->request_processed_at = null; $request->request_sent_at = null; $request->money = $money; diff --git a/common/models/Transfer.php b/common/models/Transfer.php index b4666cf..a842ab1 100644 --- a/common/models/Transfer.php +++ b/common/models/Transfer.php @@ -672,8 +672,8 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { self::notInInterval ( $query, 'transfer.created_at', $start, $end ); } - echo "start date is: ". $start; - echo "start date is: " . gettype( $start ); +// echo "start date is: ". $start; +// echo "start date is: " . gettype( $start ); if ( !RoleDefinition::isAdmin() ){ Helper::restrictIfNotAdminTheStartDate($query, $start); diff --git a/console/migrations/m160302_171507_alter__table__contract__add__column__started_at.php b/console/migrations/m160302_171507_alter__table__contract__add__column__started_at.php new file mode 100644 index 0000000..83a8339 --- /dev/null +++ b/console/migrations/m160302_171507_alter__table__contract__add__column__started_at.php @@ -0,0 +1,31 @@ +addColumn("contract", "started_at", "datetime"); + $this->execute("update contract set started_at = created_at"); + } + + public function down() + { + echo "m160302_171507_alter__table__contract__add__column__started_at cannot be reverted.\n"; + + return false; + } + + /* + // Use safeUp/safeDown to run migration code within a transaction + public function safeUp() + { + } + + public function safeDown() + { + } + */ +} diff --git a/frontend/assets/ContractMakeAsset.php b/frontend/assets/ContractMakeAsset.php new file mode 100644 index 0000000..e8b10eb --- /dev/null +++ b/frontend/assets/ContractMakeAsset.php @@ -0,0 +1,29 @@ + + * @since 2.0 + */ +class ContractMakeAsset extends AssetBundle +{ + public $basePath = '@webroot'; + public $baseUrl = '@web'; + public $css = [ + ]; + public $js = [ + 'js/contract.make.js', + ]; + public $depends = [ + 'frontend\assets\AppAsset', + 'yii\jui\JuiAsset', + ]; +} diff --git a/frontend/controllers/ContractController.php b/frontend/controllers/ContractController.php index a3644a2..e6ca023 100644 --- a/frontend/controllers/ContractController.php +++ b/frontend/controllers/ContractController.php @@ -284,9 +284,14 @@ class ContractController extends Controller { throw new Exception ( "Az oldal nem található" ); } + $model = new ContractForm ( [ 'customer' => $customer ] ); + + $model->started_at = date(date('Y.m.d')); + + $model->fillOut (); if ($model->load ( Yii::$app->request->post () ) && $model->validate ()) { diff --git a/frontend/models/ContractForm.php b/frontend/models/ContractForm.php index 63c8f72..156cf8c 100644 --- a/frontend/models/ContractForm.php +++ b/frontend/models/ContractForm.php @@ -39,6 +39,8 @@ class ContractForm extends Model { private $ticketType; private $money; private $discount; + public $started_at; + public $timestampStart; /** * @inheritdoc */ @@ -59,7 +61,9 @@ class ContractForm extends Model { "bank_name", 'phone', 'email', - 'payment_method' + 'payment_method' , + 'started_at', + 'started_at' ], 'required' ], @@ -124,7 +128,8 @@ class ContractForm extends Model { 'ticket_type' ], 'validateTicketType' - ] + ] , + [[ 'started_at', ], 'date', 'format' =>Yii::$app->formatter->dateFormat , 'timestampAttribute' => 'timestampStart' ,'timestampAttributeFormat' => 'yyyy-MM-dd' ,'timeZone' => 'UTC' ], ]; } public function validateTicketType($attribute, $params) { @@ -162,6 +167,7 @@ class ContractForm extends Model { 'ticket_type' => 'Bérlet típus' , 'payment_method' => 'Fizetési mód (első bérlet)' , 'id_discount' => 'Kedvezmény' , + 'started_at' => 'Érvényesség kezdete' , ]; } public function fillOut() { @@ -223,8 +229,8 @@ class ContractForm extends Model { $ticket->id_user = \Yii::$app->user->id; $ticket->id_account = Account::readDefault (); $ticket->id_discount = $this->id_discount; - $ticket->start = date ( 'Y-m-d' ); - $date = new \DateTime (); + $ticket->start = $this->started_at; + $date = new \DateTime ( $this->timestampStart); $date->modify ( '+1 month' ); $date->modify ( '-1 day' ); $ticket->end = $date->format ( 'Y-m-d H:i:s' ); @@ -283,7 +289,12 @@ class ContractForm extends Model { $contract->part_count = $this->ticketType->installment_count; $contract->part_paid = 0; $contract->part_required = 0; - $contract->expired_at = date ( 'Y-m-d', strtotime ( "today +12 month -1 day" ) ); + $contract->started_at = $this->started_at; + $date = new \DateTime( $this->timestampStart ); + $date->modify ( '+1 year' ); + $date->modify ( '-1 day' ); + $date->setTime(0, 0, 0); + $contract->expired_at = $date->format ( 'Y-m-d H:i:s' ); $contract->id_ticket_type = $this->ticketType->id_ticket_type; if (! $contract->save ( false )) { diff --git a/frontend/views/contract/_contract.php b/frontend/views/contract/_contract.php index 38c31f3..f0f08a7 100644 --- a/frontend/views/contract/_contract.php +++ b/frontend/views/contract/_contract.php @@ -14,6 +14,11 @@ use common\components\Azaz; $customerBankAccount = $customer->bank_account; $customerIdCustomer = $customer->id_customer; +// $dt = \DateTime::createFromFormat("Y-m-d H:i:s", $model->started_at); +// $contractStartAtDate = $dt->format("Y.m.d"); + $contractStartAtDate = \Yii::$app->formatter->asDate($model->started_at); + + $contractDate = date('Y.m.d'); $azaz = new Azaz(); @@ -241,7 +246,7 @@ másrészről: Teljesítés adatai:
- Érvényesség kezdete: lejárata: + Érvényesség kezdete: lejárata:
Teljesítés felső értékhatára: diff --git a/frontend/views/contract/_make_contract.php b/frontend/views/contract/_make_contract.php index 278fe3c..c157be7 100644 --- a/frontend/views/contract/_make_contract.php +++ b/frontend/views/contract/_make_contract.php @@ -8,6 +8,7 @@ use frontend\components\HtmlHelper; use kartik\widgets\DatePicker; use common\models\Transfer; use common\models\Discount; +use frontend\assets\ContractMakeAsset; /* @var $this yii\web\View */ /* @var $model common\models\Contract */ @@ -17,12 +18,26 @@ use common\models\Discount; TicketType::STATUS_ACTIVE ,'installment_enabled' => '1']); + + $typeOptions = TicketType::modelsToArray($types); + + $types = HtmlHelper::mkTicketTypeOptions($types); $discounts = Discount::readTicketDiscounts(); + $discountOptions = Discount::modelsToArray($discounts,[]); + $discounts = ['' => ''] + HtmlHelper::mkDiscountOptions($discounts); + $options = []; + $options['ticket_types'] = $typeOptions; + $options['discounts'] = $discountOptions; + + $this->registerJs(' contract_make.init( '. json_encode($options) .' );'); + ?>

Szerződés létrehozása

@@ -92,7 +107,12 @@ use common\models\Discount; field($model, 'ticket_type')->dropDownList($types) ?>
- + field($model, 'started_at')->widget(\kartik\date\DatePicker::classname(), [ + 'pluginOptions' => [ + 'autoclose'=>true, + 'format' => 'yyyy.mm.dd' + ] + ]) ?>
@@ -106,8 +126,19 @@ use common\models\Discount; - - +

+ Figyelem: A szerződés létrehozásakor a szerződés első bérlete bekerül a vásálró kosarába. +

+ + + + + + + + + +
Bérlet ára
Összesen
diff --git a/frontend/views/contract/view.php b/frontend/views/contract/view.php index 98726c9..e6c68db 100644 --- a/frontend/views/contract/view.php +++ b/frontend/views/contract/view.php @@ -41,6 +41,7 @@ $this->params['breadcrumbs'][] = $this->title; 'part_paid', 'part_required', 'part_count', + 'started_at:datetime', 'expired_at:datetime', 'created_at:datetime', 'updated_at:datetime', diff --git a/frontend/web/js/contract.make.js b/frontend/web/js/contract.make.js new file mode 100644 index 0000000..25bc5c6 --- /dev/null +++ b/frontend/web/js/contract.make.js @@ -0,0 +1,70 @@ + + + + +var contract_make ={ + + defaults :{ + ticket_types : [], + discounts: [], + dd_types: '#contractform-ticket_type', + dd_discounts: '#contractform-id_discount', + }, + init: function(o){ + contract_make.defaults = $.extend(contract_make.defaults, o); + contract_make.update(); + contract_make.getDDTypes().change(contract_make.update); + contract_make.getDDDiscounts().change(contract_make.update); + }, + getDDTypes: function(){ + return $(contract_make.defaults.dd_types); + }, + + getDDDiscounts: function(){ + return $(contract_make.defaults.dd_discounts); + }, + findType: function(id){ + var type ; + var i; + type = null; + for ( i = 0; i Date: Fri, 4 Mar 2016 21:46:31 +0100 Subject: [PATCH 2/3] add reception account transfer/mixed --- changelog.txt | 3 + common/components/DailyListing.php | 11 +++ common/components/Helper.php | 9 ++- .../accountstate/AccountStateWidget.php | 10 ++- .../total/TotalDifferenceWidget.php | 1 + .../total/TotalProductsByCategoryWidget.php | 9 +++ common/config/params.php | 2 +- .../total/total_detailed_money_movement.php | 17 +++-- common/views/total/total_medium_ticket.php | 2 +- .../views/total/total_product_by_category.php | 37 ++++++++++ .../AccountStateBanknoteCountWidget.php | 5 ++ .../controllers/AccountStateController.php | 62 ++++++++++++++++- frontend/views/account-state/_mixed.php | 21 ++++++ frontend/views/account-state/mixed.php | 61 ++++++++++++++++ frontend/views/account-state/mixed_pdf.php | 45 ++++++++++++ frontend/views/account-state/view.php | 9 +++ frontend/views/contract/_contract.php | 1 - frontend/web/css/account_close.css | 69 +++++++++++++++++++ 18 files changed, 357 insertions(+), 17 deletions(-) create mode 100644 common/components/total/TotalProductsByCategoryWidget.php create mode 100644 common/views/total/total_product_by_category.php create mode 100644 frontend/views/account-state/_mixed.php create mode 100644 frontend/views/account-state/mixed.php create mode 100644 frontend/views/account-state/mixed_pdf.php create mode 100644 frontend/web/css/account_close.css diff --git a/changelog.txt b/changelog.txt index 9dee88a..fdaae47 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,6 @@ +-0.0.49 + - contract - add started_at + - receptions/account-state/mixed -0.0.48 - add payment method display to backend/transfer/index - add footer money display to backend/transfer/index diff --git a/common/components/DailyListing.php b/common/components/DailyListing.php index b596f59..6b422a5 100644 --- a/common/components/DailyListing.php +++ b/common/components/DailyListing.php @@ -135,6 +135,17 @@ class DailyListing return $days_between > $days_visiblity; } + + /** + * cutler győr-ben a nap záráshoz ezt nyomtatjuk ki + * Ez a metódus csak akkor használható, ha csak ez a statisztika kell + * */ + public function readMixed(){ + $this->readProductsByCategory(); + $this->readTicketStas(); + $this->readMoneyMovements(); + } + public function readTotalEasy(){ $this->readTicketMoney(); $this->readProductsMoney(); diff --git a/common/components/Helper.php b/common/components/Helper.php index e96bc1e..ac79953 100644 --- a/common/components/Helper.php +++ b/common/components/Helper.php @@ -254,6 +254,13 @@ class Helper { public static function fixAsciiChars($in) { $out = str_replace ( "ö", "0", $in ); $out = str_replace ( "Ö", "0", $out ); + /* + $out = str_replace ( "Y", "%", $out ); + $out = str_replace ( "y", "%", $out ); + $out = str_replace ( "Z", "y", $out ); + $out = str_replace ( "z", "y", $out ); + $out = str_replace ( "%", "y", $out ); + */ return $out; } public static function isUserCartVisibilityUser() { @@ -361,7 +368,7 @@ class Helper { return $result; } - public static function generateRandomString($length = 6,$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' ) { + public static function generateRandomString($length = 6,$characters = '0123456789ABCDEFGHIJKLMNOPQRSTUVWX' ) { $charactersLength = strlen($characters); $randomString = ''; for ($i = 0; $i < $length; $i++) { diff --git a/common/components/accountstate/AccountStateWidget.php b/common/components/accountstate/AccountStateWidget.php index d0fd53a..c368403 100644 --- a/common/components/accountstate/AccountStateWidget.php +++ b/common/components/accountstate/AccountStateWidget.php @@ -40,7 +40,8 @@ class AccountStateWidget extends Widget{ 'user.username', [ 'attribute' => 'created_at', - 'label' => 'Nyitás ideje' + 'label' => 'Nyitás ideje', + 'format' => 'datetime' ], ]; }else{ @@ -61,11 +62,13 @@ class AccountStateWidget extends Widget{ 'user.username', [ 'attribute' => 'start_date', - 'label' => 'Előző nyitás ideje' + 'label' => 'Előző nyitás ideje' , + 'format' => 'datetime' ], [ 'attribute' => 'created_at', - 'label' => 'Zárás ideje' + 'label' => 'Zárás ideje', + 'format' => 'datetime' ], ]; } @@ -74,6 +77,7 @@ class AccountStateWidget extends Widget{ echo DetailView::widget([ + 'options' => ['class' => 'table table-striped table-bordered detail-view table-account-view'] , 'model' => $this->model, 'attributes' =>$attributes, ]) ; diff --git a/common/components/total/TotalDifferenceWidget.php b/common/components/total/TotalDifferenceWidget.php index d023cc5..7e1174d 100644 --- a/common/components/total/TotalDifferenceWidget.php +++ b/common/components/total/TotalDifferenceWidget.php @@ -27,6 +27,7 @@ class TotalDifferenceWidget extends Widget{ $ft = " Ft"; $s .= DetailView::widget([ + 'options' => ['class' => 'table table-striped table-bordered detail-view table-account-diff'], 'model' => $this->model, 'template' =>"{label}{value} ", 'attributes' => [ diff --git a/common/components/total/TotalProductsByCategoryWidget.php b/common/components/total/TotalProductsByCategoryWidget.php new file mode 100644 index 0000000..bafb19f --- /dev/null +++ b/common/components/total/TotalProductsByCategoryWidget.php @@ -0,0 +1,9 @@ + 'rocho02@gmail.com', 'infoEmail' => 'info@rocho-net.hu', 'user.passwordResetTokenExpire' => 3600, - 'version' => 'v0.0.48', + 'version' => 'v0.0.49', 'company' => 'movar',//gyor 'company_name' => "Freimann Kft.", 'product_visiblity' => 'account',// on reception which products to display. account or global diff --git a/common/views/total/total_detailed_money_movement.php b/common/views/total/total_detailed_money_movement.php index 8b22905..3698083 100644 --- a/common/views/total/total_detailed_money_movement.php +++ b/common/views/total/total_detailed_money_movement.php @@ -1,5 +1,4 @@ -

Pénzmozgások

- +
@@ -7,20 +6,20 @@ - + moneyMovements as $p ){?> - - - - - + + + + + + - diff --git a/common/views/total/total_medium_ticket.php b/common/views/total/total_medium_ticket.php index ddc00ca..37e1117 100644 --- a/common/views/total/total_medium_ticket.php +++ b/common/views/total/total_medium_ticket.php @@ -1,4 +1,4 @@ -
DátumFelhasználó Név TípusÖsszeg MegjegyzésÖsszeg
formatter->asInteger( $p['signed_money'])?> Ft
+
diff --git a/common/views/total/total_product_by_category.php b/common/views/total/total_product_by_category.php new file mode 100644 index 0000000..0a7e190 --- /dev/null +++ b/common/views/total/total_product_by_category.php @@ -0,0 +1,37 @@ +productMoneies; + + ?> + +
Bérlet típus
+ + + + + + + + + + + + + + + + + + +
KategóriaMennyiségÖsszeg
Dbformatter->asInteger( $p['product_money'])?> FT
+ +
+
+ Összesen: + formatter->asInteger( $model->productsByCategory ['total']); + ?> Ft +
+
\ No newline at end of file diff --git a/frontend/components/AccountStateBanknoteCountWidget.php b/frontend/components/AccountStateBanknoteCountWidget.php index b4c05fd..31ad4ea 100644 --- a/frontend/components/AccountStateBanknoteCountWidget.php +++ b/frontend/components/AccountStateBanknoteCountWidget.php @@ -59,6 +59,11 @@ class AccountStateBanknoteCountWidget extends Widget{ $s .= Html::a( Html::tag("span","",['class' =>'glyphicon glyphicon-download-alt']) ." Pdf", Url::to([ 'view', 'id' =>$this->model->id_account_state, 'output' =>'pdf']) ,['class' => 'btn btn-primary btn-pdf','style' =>'margin-bottom: 12px; margin-right: 6px;']); + $s .= Html::a(' Napi összefoglaló', Url::toRoute(['mixed','id' =>$this->model->id_account_state]), [ + 'title' => 'Napi összefoglaló', + 'class' => 'btn btn-success', + 'style' =>'margin-bottom: 12px; margin-right: 6px;' + ]); $s .= Html::a(' Részletek', Url::toRoute(['view','id' =>$this->model->id_account_state]), [ 'title' => 'Részletek', 'class' => 'btn btn-success', diff --git a/frontend/controllers/AccountStateController.php b/frontend/controllers/AccountStateController.php index f19fa98..403fdd7 100644 --- a/frontend/controllers/AccountStateController.php +++ b/frontend/controllers/AccountStateController.php @@ -27,7 +27,8 @@ class AccountStateController extends Controller { 'index', 'open', 'close', - 'view' + 'view' , + 'mixed' ], 'rules' => [ // allow authenticated users @@ -301,4 +302,63 @@ class AccountStateController extends Controller { ] ); } } + + + public function actionMixed($id){ + $accountState = $this->findModel ( $id ); + $output = Yii::$app->getRequest ()->getQueryParam ( 'output' ); + $details = null; + + if ($accountState->isTypeClose ()) { + + $prev; + if ($accountState->type == AccountState::TYPE_CLOSE) { + if (isset ( $accountState->prev_state )) { + $prev = AccountState::findOne ( $accountState->prev_state ); + } + if (isset ( $prev )) { + $accountState->start_date = $prev->created_at; + } + } + $details = new DailyListing (); + $details->loadAccountState ( $accountState ); + + $details->readTotalEasy (); + $details->readTotalDetailed (); + $details->readTotalMedium (); + + } + + + if ($output == 'pdf') { + $user = User::findOne(\Yii::$app->user->id); + $mpdf=new \mPDF('utf-8', 'A4'); + $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}'); + + $stylesheet = file_get_contents( \Yii::getAlias('@vendor'.'/bower/bootstrap/dist/css/bootstrap.css')); // external css + $mpdf->WriteHTML($stylesheet,1); + + $stylesheet = file_get_contents( \Yii::getAlias('@frontend'.'/web/css/account_close.css')); // external css + $mpdf->WriteHTML($stylesheet,1); + + + $mpdf->WriteHTML($this->renderPartial("@frontend/views/account-state/mixed_pdf", [ + 'model' => $accountState, + 'details' => $details + ])); + $type = $accountState->isTypeOpen() ? "kassza_nyitas" : "kassza_zaras"; + $dt= "_letrehozva_".date("Ymd_His"). "_" . $user->username; + $fn= $type .$dt.".pdf"; + $mpdf->Output($fn, 'D'); + exit(); + + } + return $this->render ( 'mixed', [ + 'model' => $accountState, + 'details' => $details + ] ); + } } diff --git a/frontend/views/account-state/_mixed.php b/frontend/views/account-state/_mixed.php new file mode 100644 index 0000000..72c3186 --- /dev/null +++ b/frontend/views/account-state/_mixed.php @@ -0,0 +1,21 @@ + + +

Bérletek típus szerint

+ $details]);?> +

Termékek kategória szerint

+ $details]);?> +

Pénzmozgások

+ $details]);?> + +

Összesen

+ + + + + + +
Végösszeg bruttóformatter->asInteger( $model->money)?> FT
\ No newline at end of file diff --git a/frontend/views/account-state/mixed.php b/frontend/views/account-state/mixed.php new file mode 100644 index 0000000..1dba06c --- /dev/null +++ b/frontend/views/account-state/mixed.php @@ -0,0 +1,61 @@ + + + + + + + +render('_mixed', [ + 'model' => $model, + 'details' => $details + ] ); ?> + \ No newline at end of file diff --git a/frontend/views/account-state/mixed_pdf.php b/frontend/views/account-state/mixed_pdf.php new file mode 100644 index 0000000..8eaf501 --- /dev/null +++ b/frontend/views/account-state/mixed_pdf.php @@ -0,0 +1,45 @@ + + + + + + + +render('_mixed', [ + 'model' => $model, + 'details' => $details + ] ); ?> + \ No newline at end of file diff --git a/frontend/views/account-state/view.php b/frontend/views/account-state/view.php index aeaab98..93ed468 100644 --- a/frontend/views/account-state/view.php +++ b/frontend/views/account-state/view.php @@ -15,6 +15,7 @@ use yii\base\Widget; use common\models\AccountState; use yii\helpers\Url; use common\components\accountstate\AccountStateWidget; +use common\components\total\TotalProductsByCategoryWidget; /* @var $this yii\web\View */ /* @var $model common\models\AccountState */ @@ -81,6 +82,8 @@ $this->params['breadcrumbs'][] = $this->title; role="tab" data-toggle="tab">Részletes összesítő
  • Címletek
  • +
  • Nyomtatni
  • @@ -107,6 +110,12 @@ $this->params['breadcrumbs'][] = $this->title;

    Címletek

    $model]);?>
    +
    +

    Részletek

    + $details]);?> + $details]);?> + $details]);?> +
    diff --git a/frontend/views/contract/_contract.php b/frontend/views/contract/_contract.php index f0f08a7..c1cd48b 100644 --- a/frontend/views/contract/_contract.php +++ b/frontend/views/contract/_contract.php @@ -32,7 +32,6 @@ use common\components\Azaz; $img = ""; - ?>

    diff --git a/frontend/web/css/account_close.css b/frontend/web/css/account_close.css new file mode 100644 index 0000000..b243233 --- /dev/null +++ b/frontend/web/css/account_close.css @@ -0,0 +1,69 @@ + h1{ + font-size: 16px; + } + + .table td, + .table th{ + font-size: 10px; + } + + .btn-pdf{ + margin-bottom: 6px; + } + + td.money{ + text-align: right; + } + p{ + font-weight: bold; + font-size: 12px; + } + + .total-medium-ticket td.name, + .total-product-by-category td.name + { + width: 50%; + } + .total-medium-ticket td.count, + .total-product-by-category td.count + { + width: 25%; + } + + .table-total td.money{ + width: 50%; + } + .table-account-view td{ + width: 50%; + } + .table-account-diff td{ + width: 50%; + } + + .table-money-movements-detailed td.created-at{ width: 120px;} + .table-money-movements-detailed td.account{ width: 80px;} + .table-money-movements-detailed td.username{ width: 80px;} + .table-money-movements-detailed td.name{ width: 80px;} + .table-money-movements-detailed td.type{ width: 80px;} + .table-money-movements-detailed td.money{ width: 70px;} + + + table.table-top { + width: 100%; + } + + table.table-top td.top-cell { + width: 48%; + vertical-align: top; + + } + table.table-top td.top-cell .table { + margin-top: 6px; + } + + table.table-top td.first { + padding-right: 3px; + } + table.table-top td.last { + padding-left: 3px; + } \ No newline at end of file From cda8f45c1bc2e80678d064a8e548c278bda955d7 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Fri, 4 Mar 2016 21:53:00 +0100 Subject: [PATCH 3/3] display account-state mixed button only at closed itme --- .../components/AccountStateBanknoteCountWidget.php | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/frontend/components/AccountStateBanknoteCountWidget.php b/frontend/components/AccountStateBanknoteCountWidget.php index 31ad4ea..e8d283e 100644 --- a/frontend/components/AccountStateBanknoteCountWidget.php +++ b/frontend/components/AccountStateBanknoteCountWidget.php @@ -59,11 +59,14 @@ class AccountStateBanknoteCountWidget extends Widget{ $s .= Html::a( Html::tag("span","",['class' =>'glyphicon glyphicon-download-alt']) ." Pdf", Url::to([ 'view', 'id' =>$this->model->id_account_state, 'output' =>'pdf']) ,['class' => 'btn btn-primary btn-pdf','style' =>'margin-bottom: 12px; margin-right: 6px;']); - $s .= Html::a(' Napi összefoglaló', Url::toRoute(['mixed','id' =>$this->model->id_account_state]), [ - 'title' => 'Napi összefoglaló', - 'class' => 'btn btn-success', - 'style' =>'margin-bottom: 12px; margin-right: 6px;' - ]); + if ( $this->model->isTypeClose() ){ + $s .= Html::a(' Napi összefoglaló', Url::toRoute(['mixed','id' =>$this->model->id_account_state]), [ + 'title' => 'Napi összefoglaló', + 'class' => 'btn btn-success', + 'style' =>'margin-bottom: 12px; margin-right: 6px;' + ]); + } + $s .= Html::a(' Részletek', Url::toRoute(['view','id' =>$this->model->id_account_state]), [ 'title' => 'Részletek', 'class' => 'btn btn-success',