From b84ebf017772b381d21a047c985015bae12a8113 Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Thu, 24 Mar 2016 21:35:22 +0100 Subject: [PATCH 1/2] add transfer later --- backend/controllers/TransferController.php | 27 +++- backend/models/TransferLaterSearch.php | 153 +++++++++++++++++++++ backend/views/transfer/payment_later.php | 114 +++++++++++++++ common/models/Transfer.php | 31 ++++- frontend/models/ProductSaleForm.php | 24 ++-- frontend/models/TicketCreate.php | 25 ++-- frontend/views/card/index.php | 7 +- frontend/views/product/_sale_form.php | 2 +- 8 files changed, 360 insertions(+), 23 deletions(-) create mode 100644 backend/models/TransferLaterSearch.php create mode 100644 backend/views/transfer/payment_later.php diff --git a/backend/controllers/TransferController.php b/backend/controllers/TransferController.php index 66b538b..47524ec 100644 --- a/backend/controllers/TransferController.php +++ b/backend/controllers/TransferController.php @@ -15,6 +15,7 @@ use backend\models\TransferSaleSearch; use common\models\ProductCategory; use common\models\Product; use backend\models\TransferListUserGroupedSearch; +use backend\models\TransferLaterSearch; /** * TransferController implements the CRUD actions for Transfer model. @@ -29,7 +30,14 @@ class TransferController extends \backend\controllers\BackendController 'rules' => [ // allow authenticated users [ - 'actions' => [ 'index','view','summary','list',"sale","sale-pdf" ,'list-user-grouped'], + 'actions' => [ 'index', + 'view', + 'summary', + 'list', + "sale", + "sale-pdf" , + 'list-user-grouped', + 'payment-later'], 'allow' => true, 'roles' => ['admin','employee','reception'], ], @@ -40,6 +48,23 @@ class TransferController extends \backend\controllers\BackendController } + public function actionPaymentLater(){ + $searchModel = new TransferLaterSearch(); + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); + + $accounts = Account::read(); + + + $users = User::read(); + + return $this->render('payment_later', [ + 'searchModel' => $searchModel, + 'dataProvider' => $dataProvider, + 'accounts' => $accounts, + 'users' => $users, + ]); + } + /** * Lists all Transfer models. * @return mixed diff --git a/backend/models/TransferLaterSearch.php b/backend/models/TransferLaterSearch.php new file mode 100644 index 0000000..5bf24b5 --- /dev/null +++ b/backend/models/TransferLaterSearch.php @@ -0,0 +1,153 @@ +Yii::$app->formatter->datetimeFormat , 'timestampAttribute' => 'timestampStart' ,'timestampAttributeFormat' => 'yyyy-MM-dd HH:mm' ,'timeZone' => 'UTC' ], + [[ 'end' , ], 'date' ,'format' =>Yii::$app->formatter->datetimeFormat , 'timestampAttribute' => 'timestampEnd' ,'timestampAttributeFormat' => 'yyyy-MM-dd HH:mm' ,'timeZone' => 'UTC' ], + ['selected', 'each', 'rule' => ['integer']], + ]; + } + + /** + * @inheritdoc + */ + public function scenarios() + { + // bypass scenarios() implementation in the parent class + return Model::scenarios(); + } + + /** + * Creates data provider instance with search query applied + * + * @param array $params + * + * @return ActiveDataProvider + */ + public function search($params) + { + $query = new Query(); + + $query->select([ + 'transfer.id_transfer as transfer_id_transfer', + 'transfer.created_at as transfer_created_at', + 'transfer.money as transfer_money', + 'transfer.status as transfer_status', + 'user.username as user_username', + 'customer.name as customer_name', + 'ticket_type.name as ticket_type_name', + 'product.name as product_name', + 'ticket.start as ticket_start', + 'ticket.end as ticket_end', + ]); + $query->from("transfer"); + $query->innerJoin('user', " user.id = transfer.id_user"); + $query->leftJoin('customer', " transfer.id_customer = customer.id_customer"); + $query->leftJoin('ticket', " transfer.type = ".Transfer::TYPE_TICKET." and transfer.id_object = ticket.id_ticket"); + $query->leftJoin('ticket_type', " ticket.id_ticket_type = ticket_type.id_ticket_type"); + $query->leftJoin('sale', " transfer.type = ".Transfer::TYPE_PRODUCT." and transfer.id_object = sale.id_sale"); + $query->leftJoin('product', " product.id_product = sale.id_product"); + + $query->andWhere(["transfer.payment_method" => Transfer::PAYMENT_METHOD_TRANSFER_LATER ]); + + $query->andWhere(['transfer.status' => Transfer::STATUS_NOT_PAID]); + + $dataProvider = new ActiveDataProvider([ + 'query' => $query, + 'sort' =>[ + 'defaultOrder' =>[ + 'transfer_created_at' => SORT_DESC + ], + 'attributes' => Helper::mkYiiSortItems([ + ['transfer_created_at'], + ['transfer_money'], + ['transfer_status'], + ['user_username'], + ['customer_name'], + ['ticket_type_name'], + ['product_name'], + ['ticket_start'], + ['ticket_end'], + ]) + + ] + ]); + + +// $query->addSelect( ['*' ]); + + $this->load($params); + + if (!$this->validate()) { + // uncomment the following line if you do not want to return any records when validation fails + $query->where('0=1'); + return $dataProvider; + } + + + $query->andFilterWhere([ + 'transfer.id_account' => $this->id_account, + 'transfer.type' => $this->type, + 'transfer.id_user' => $this->id_user, + 'transfer.status' => $this->status, + 'transfer.payment_method' => $this->payment_method, + ]); + + + $created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; + $paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ]; + + $query->andFilterWhere(['or' , $created_condition , $paid_condition]); + + if (!RoleDefinition::isAdmin()){ + Helper::restrictIfNotAdminTheStartDate($query, $this->timestampStart,['transfer.created_at','transfer.paid_at']); + } + + return $dataProvider; + } + + + public function totalsTransfers( ){ + + + + + } + + + + +} diff --git a/backend/views/transfer/payment_later.php b/backend/views/transfer/payment_later.php new file mode 100644 index 0000000..273a965 --- /dev/null +++ b/backend/views/transfer/payment_later.php @@ -0,0 +1,114 @@ +title = Yii::t('frontend/transfer', 'Transfers'); +$this->params['breadcrumbs'][] = $this->title; + +?> + + +
+ +

title) ?>

+ render('_search', ['model' => $searchModel, 'accounts' => $accounts,'users' => $users,]); ?> + +
+ + Url::current() ] + ); ?> + + ['class' => 'table table-striped table-bordered table-transfer'], + 'dataProvider' => $dataProvider, + 'showFooter'=>TRUE, + + 'columns' => [ + [ + 'label' => '', + 'value' => function ($model, $key, $index, $column) use ( &$searchModel){ + + + return Html::checkbox(Html::getInputName($searchModel, 'selected[]') , in_array($model['transfer_id_transfer'], $searchModel->selected) , [ 'class' => 'cart-item', 'value' => $model['transfer_id_transfer']] ); + }, + 'format' => 'raw' + ], + [ + 'attribute' => 'user_username', + 'label' => 'Felhasználó' + ], + [ + 'attribute' => 'customer_name', + 'label' => 'Vendég' + ], + [ + 'attribute' => 'ticket_type_name', + 'label' => 'Bérlet típus' + ], + [ + 'attribute' => 'ticket_start', + 'label' => 'Érvényes -tól', + 'format' => 'date' + ], + [ + 'attribute' => 'ticket_end', + 'label' => 'Érvényes -ig', + 'format' => 'date' + ], + [ + 'attribute' => 'product_name', + 'label' => 'Termék' + ], + [ + 'attribute' => 'transfer_created_at', + 'label' => 'Kiadva', + 'format' => 'datetime' + ], + [ + 'attribute' => 'transfer_money', + 'label' => 'Összeg' + ], + [ + 'attribute' => 'transfer_status', + 'label' => 'Státusz', + 'value' => function ($model, $key, $index, $column){ + return Helper::getArrayValue(Transfer::statuses(), $model['transfer_status'],''); + }, + ], + ], + ]); ?> + + +
+ 'btn btn-success' ] ) ?> +
+ + + +
+ +
diff --git a/common/models/Transfer.php b/common/models/Transfer.php index 1e40361..46dca80 100644 --- a/common/models/Transfer.php +++ b/common/models/Transfer.php @@ -53,6 +53,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { const PAYMENT_METHOD_CAFETERY = 40; // SZÉCHENYI KÁRTYA // const PAYMENT_METHOD_DEBIT_MANDATE = 50;//CSOPORTOS BESZEDÉSI MEGBÍZÁS + const PAYMENT_METHOD_TRANSFER_LATER = 50; /** * @inheritdoc */ @@ -526,11 +527,24 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { self::PAYMENT_METHOD_CASH => Yii::t ( 'common/transfer', 'Készpénz' ), self::PAYMENT_METHOD_BANCCARD => Yii::t ( 'common/transfer', 'Bankkártyás fizetés' ), self::PAYMENT_METHOD_TRANSFER => Yii::t ( 'common/transfer', 'Átutalás' ), - self::PAYMENT_METHOD_CAFETERY => Yii::t ( 'common/transfer', 'Széchenyi kártya' ) + self::PAYMENT_METHOD_CAFETERY => Yii::t ( 'common/transfer', 'Széchenyi kártya' ), + self::PAYMENT_METHOD_TRANSFER_LATER => Yii::t ( 'common/transfer', 'Átutalás később' ) ] // self::PAYMENT_METHOD_DEBIT_MANDATE => Yii::t('common/transfer','Csoportos beszedési megbízás'), ; } + + public static function paymentMethodsForProduct() { + return [ + self::PAYMENT_METHOD_CASH => Yii::t ( 'common/transfer', 'Készpénz' ), + self::PAYMENT_METHOD_BANCCARD => Yii::t ( 'common/transfer', 'Bankkártyás fizetés' ), + self::PAYMENT_METHOD_TRANSFER => Yii::t ( 'common/transfer', 'Átutalás' ), + self::PAYMENT_METHOD_CAFETERY => Yii::t ( 'common/transfer', 'Széchenyi kártya' ), + ] + // self::PAYMENT_METHOD_DEBIT_MANDATE => Yii::t('common/transfer','Csoportos beszedési megbízás'), + ; + } + public static function statuses() { return [ self::STATUS_NOT_PAID => Yii::t ( 'common/transfer', 'Nincs fizetve' ), @@ -1067,4 +1081,19 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { return [$transfer,$ticket]; } + + public static function canBeAddedToCart($payment_method) { + if ( $payment_method == Transfer::PAYMENT_METHOD_TRANSFER_LATER){ + return false; + } + return true; + } + + public static function canMarkPaidByReception($payment_method) { + if ( $payment_method == Transfer::PAYMENT_METHOD_TRANSFER_LATER){ + return false; + } + return true; + } + } diff --git a/frontend/models/ProductSaleForm.php b/frontend/models/ProductSaleForm.php index f52601f..7553a9a 100644 --- a/frontend/models/ProductSaleForm.php +++ b/frontend/models/ProductSaleForm.php @@ -192,7 +192,9 @@ class ProductSaleForm extends Model $customer = null; $paid_at; $status = Transfer::STATUS_PAID; - if ( $this->isAppendToUserCart() ){ + if ( !Transfer::canMarkPaidByReception($this->payment_method)){ + $status = Transfer::STATUS_NOT_PAID; + }else if ( $this->isAppendToUserCart() ){ $status = Transfer::STATUS_NOT_PAID; }else if ( $this->isAppendToCustomerCart() ){ $status = Transfer::STATUS_NOT_PAID; @@ -237,10 +239,12 @@ class ProductSaleForm extends Model public function appendToUserCart(){ if ( $this->isAppendToUserCart() ){ - $item = new UserSoldItem(); - $item->id_transfer = $this->transfer->id_transfer; - $item->id_user = Yii::$app->user->id; - $item->save(false); + if ( Transfer::canBeAddedToCart($this->payment_method)){ + $item = new UserSoldItem(); + $item->id_transfer = $this->transfer->id_transfer; + $item->id_user = Yii::$app->user->id; + $item->save(false); + } } } public function isAppendToCustomerCart(){ @@ -253,10 +257,12 @@ class ProductSaleForm extends Model public function appendToCustomerCart(){ if ( $this->isAppendToCustomerCart() && isset($this->customer) ){ - $item = new ShoppingCart(); - $item->id_customer = $this->customer->id_customer; - $item->id_transfer = $this->transfer->id_transfer; - $item->save(false); + if ( Transfer::canBeAddedToCart($this->payment_method)){ + $item = new ShoppingCart(); + $item->id_customer = $this->customer->id_customer; + $item->id_transfer = $this->transfer->id_transfer; + $item->save(false); + } } } } diff --git a/frontend/models/TicketCreate.php b/frontend/models/TicketCreate.php index 5b9c117..e59e98f 100644 --- a/frontend/models/TicketCreate.php +++ b/frontend/models/TicketCreate.php @@ -217,7 +217,10 @@ class TicketCreate extends Ticket{ $transfer->id_account = $this->_account->id_account; $status = Transfer::STATUS_PAID; - if ( $this->isAppendToUserCart() ){ + + if ( !Transfer::canMarkPaidByReception( $this->payment_method ) ){ + $status = Transfer::STATUS_NOT_PAID; + }else if ( $this->isAppendToUserCart() ){ $status = Transfer::STATUS_NOT_PAID; }else if ( $this->isAppendToCustomerCart() ){ $status = Transfer::STATUS_NOT_PAID; @@ -284,15 +287,17 @@ class TicketCreate extends Ticket{ } public function appendToCustomerCart(){ - if ( $this->isAppendToCustomerCart() && isset($this->customer) ){ - $item = new ShoppingCart(); - $item->id_customer = $this->customer->id_customer; - $item->id_transfer = $this->_transfer->id_transfer; - if ( !$item->save(false) ){ - \Yii::error("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!"); - throw new \Exception("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!"); - } - + if ( Transfer::canBeAddedToCart($this->payment_method)){ + if ( $this->isAppendToCustomerCart() && isset($this->customer) ){ + $item = new ShoppingCart(); + $item->id_customer = $this->customer->id_customer; + $item->id_transfer = $this->_transfer->id_transfer; + if ( !$item->save(false) ){ + \Yii::error("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!"); + throw new \Exception("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!"); + } + + } } } diff --git a/frontend/views/card/index.php b/frontend/views/card/index.php index fca56fa..1e509ab 100644 --- a/frontend/views/card/index.php +++ b/frontend/views/card/index.php @@ -45,11 +45,14 @@ $this->params['breadcrumbs'][] = $this->title; ['class' => 'yii\grid\ActionColumn', - 'template' => '{ticket} {ticket_history} {keys} {contract}', + 'template' => '{ticket} {product} {ticket_history} {keys} {contract}', 'buttons' => [ 'ticket' => function ($url, $model, $key) { return Html::a('Új bérlet', $url, ['class'=> 'btn btn-xs btn-success' ]) ; }, + 'product' => function ($url, $model, $key) { + return Html::a('Új termék', $url, ['class'=> 'btn btn-xs btn-success' ]) ; + }, 'ticket_history' => function ($url, $model, $key) { return Html::a('Befizetések', $url, ['class'=> 'btn btn-xs btn-success' ]) ; }, @@ -64,6 +67,8 @@ $this->params['breadcrumbs'][] = $this->title; $url = ""; if ( 'ticket' == $action ){ $url = Url::to(['ticket/create','number' => $model['card_number']]); + }else if ( 'product' == $action ){ + $url = Url::to(['product/sale','number' => $model['card_number']]); }else if ( 'ticket_history' == $action ){ $url = Url::to(['ticket/index','number' => $model['card_number']]); }else if ( 'keys' == $action ){ diff --git a/frontend/views/product/_sale_form.php b/frontend/views/product/_sale_form.php index 2609f36..1e2b743 100644 --- a/frontend/views/product/_sale_form.php +++ b/frontend/views/product/_sale_form.php @@ -98,7 +98,7 @@ $discountOptions = mkOptions( ArrayHelper::map($discounts, 'id_discount', 'name'
- field($model,'payment_method')->dropDownList(Transfer::paymentMethods()) ?> + field($model,'payment_method')->dropDownList(Transfer::paymentMethodsForProduct()) ?>
From 51b28134c1ba0e75cae30e78598fefd62273fb8f Mon Sep 17 00:00:00 2001 From: Roland Schneider Date: Fri, 25 Mar 2016 19:05:42 +0100 Subject: [PATCH 2/2] add feature payout_later --- .../controllers/AccountStateController.php | 1 - backend/controllers/TransferController.php | 12 ++++ backend/models/TransferLaterSearch.php | 64 ++++++++++++++---- backend/models/TransferSearch.php | 1 - backend/views/account-state/_item_view.php | 1 + .../views/transfer/_search_payment_later.php | 65 +++++++++++++++++++ backend/views/transfer/payment_later.php | 21 +++++- common/mail/login_frontend.php | 2 +- common/models/Transfer.php | 12 ++-- .../total/total_detailed_money_movement.php | 20 ++++-- .../AccountStateBanknoteCountWidget.php | 13 ++-- frontend/controllers/SiteController.php | 5 +- frontend/views/account-state/_mixed.php | 2 + frontend/views/account-state/mixed_pdf.php | 9 ++- 14 files changed, 193 insertions(+), 35 deletions(-) create mode 100644 backend/views/transfer/_search_payment_later.php diff --git a/backend/controllers/AccountStateController.php b/backend/controllers/AccountStateController.php index 2d79718..e3304c5 100644 --- a/backend/controllers/AccountStateController.php +++ b/backend/controllers/AccountStateController.php @@ -69,7 +69,6 @@ class AccountStateController extends \backend\controllers\BackendController * @return mixed */ public function actionView($id) { - echo "view"; $accountState = $this->findModel ( $id ); $output = Yii::$app->getRequest ()->getQueryParam ( 'output' ); $details = null; diff --git a/backend/controllers/TransferController.php b/backend/controllers/TransferController.php index 47524ec..1ae6b34 100644 --- a/backend/controllers/TransferController.php +++ b/backend/controllers/TransferController.php @@ -16,6 +16,7 @@ use common\models\ProductCategory; use common\models\Product; use backend\models\TransferListUserGroupedSearch; use backend\models\TransferLaterSearch; +use yii\helpers\Url; /** * TransferController implements the CRUD actions for Transfer model. @@ -50,6 +51,15 @@ class TransferController extends \backend\controllers\BackendController public function actionPaymentLater(){ $searchModel = new TransferLaterSearch(); + + + if ( \Yii::$app->request->isPost){ + $searchModel->load(Yii::$app->request->post()); + if ( $searchModel->doPayout()) { + return $this->redirect(['transfer/payment-later' ]); + } + } + $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $accounts = Account::read(); @@ -57,6 +67,8 @@ class TransferController extends \backend\controllers\BackendController $users = User::read(); + Url::remember("payment_later",Url::current()); + return $this->render('payment_later', [ 'searchModel' => $searchModel, 'dataProvider' => $dataProvider, diff --git a/backend/models/TransferLaterSearch.php b/backend/models/TransferLaterSearch.php index 5bf24b5..0ae56f2 100644 --- a/backend/models/TransferLaterSearch.php +++ b/backend/models/TransferLaterSearch.php @@ -25,16 +25,21 @@ class TransferLaterSearch extends Transfer public $timestampStart; public $timestampEnd; + public $id_ticket_type; + public $ticket_type; public $selected = []; + + public $total_money; + /** * @inheritdoc */ public function rules() { return [ - [[ 'id_account','id_user', 'type','status','payment_method'], 'integer'], + [[ 'id_ticket_type','id_user'], 'integer'], [[ 'start', ], 'date', 'format' =>Yii::$app->formatter->datetimeFormat , 'timestampAttribute' => 'timestampStart' ,'timestampAttributeFormat' => 'yyyy-MM-dd HH:mm' ,'timeZone' => 'UTC' ], [[ 'end' , ], 'date' ,'format' =>Yii::$app->formatter->datetimeFormat , 'timestampAttribute' => 'timestampEnd' ,'timestampAttributeFormat' => 'yyyy-MM-dd HH:mm' ,'timeZone' => 'UTC' ], ['selected', 'each', 'rule' => ['integer']], @@ -118,23 +123,21 @@ class TransferLaterSearch extends Transfer } - $query->andFilterWhere([ - 'transfer.id_account' => $this->id_account, - 'transfer.type' => $this->type, - 'transfer.id_user' => $this->id_user, - 'transfer.status' => $this->status, - 'transfer.payment_method' => $this->payment_method, - ]); + $query->andFilterWhere([ + 'ticket_type.id_ticket_type' => $this->id_ticket_type, + 'transfer.id_user' => $this->id_user, + ]); $created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; $paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ]; $query->andFilterWhere(['or' , $created_condition , $paid_condition]); - if (!RoleDefinition::isAdmin()){ - Helper::restrictIfNotAdminTheStartDate($query, $this->timestampStart,['transfer.created_at','transfer.paid_at']); - } + $qtotal = Query::create($query); + $qtotal->select([ new Expression("coalesce(sum(transfer.money),0) as transfer_money" )]); + $this->total_money = $qtotal->scalar(); + return $dataProvider; } @@ -148,6 +151,45 @@ class TransferLaterSearch extends Transfer } + public function doPayout(){ + + if ( !isset($this->selected) || count($this->selected) == 0){ + Helper::flash("error", "Nincs kiválasztott tranzakció"); + return false; + } + + $transfers = Transfer::find() + ->andWhere(['status' => Transfer::STATUS_NOT_PAID ]) + ->andWhere(['payment_method' => Transfer::PAYMENT_METHOD_TRANSFER_LATER]) + ->andWhere(['in','transfer.id_transfer',$this->selected]) + ->all(); + + if ( count($transfers) != count($this->selected)){ + Helper::flash("warning", "A kiválasztott tranzakciókban időközben változás történt"); + return false; + } + + $db = \Yii::$app->db; + $tx = $db->beginTransaction(); + try{ + foreach ($transfers as $transfer){ + if ( !$transfer->payout($transfer->id_account) ){ + \Yii::error("Failed to payout transaction: " .$transfer->id_transfer); + throw new \Exception("Nem sikerült mententi a tranzakciókat"); + } + } + $tx->commit(); + Helper::flash("success", "Tranzakciók fizetettnek jelölve: " .count($transfers) . " db"); + }catch (\Exception $e){ + $tx->rollBack(); + Helper::flash("error", "Hiba történt a művelet közben"); + return false; + } + + + return true; + } + } diff --git a/backend/models/TransferSearch.php b/backend/models/TransferSearch.php index b4e7bd7..16b1ace 100644 --- a/backend/models/TransferSearch.php +++ b/backend/models/TransferSearch.php @@ -143,7 +143,6 @@ class TransferSearch extends Transfer return $dataProvider; } - echo "start date:" .$this->timestampStart; $query->andFilterWhere([ 'transfer.id_account' => $this->id_account, diff --git a/backend/views/account-state/_item_view.php b/backend/views/account-state/_item_view.php index 7c58dce..3efd6fd 100644 --- a/backend/views/account-state/_item_view.php +++ b/backend/views/account-state/_item_view.php @@ -7,6 +7,7 @@ use yii\base\Widget; $model, + 'showDailyDownload' =>false ]); ?> diff --git a/backend/views/transfer/_search_payment_later.php b/backend/views/transfer/_search_payment_later.php new file mode 100644 index 0000000..345af63 --- /dev/null +++ b/backend/views/transfer/_search_payment_later.php @@ -0,0 +1,65 @@ + + + 'Mind'] + HtmlHelper::mkOptions(User::find()->all(),'id','username'); + $ticketTypeOptions = ['' => 'Mind'] + HtmlHelper::mkTicketTypeOptions(TicketType::find()->all()); +?> + + diff --git a/backend/views/transfer/payment_later.php b/backend/views/transfer/payment_later.php index 273a965..cf265b0 100644 --- a/backend/views/transfer/payment_later.php +++ b/backend/views/transfer/payment_later.php @@ -18,7 +18,7 @@ use yii\helpers\Url; /* @var $searchModel backend\models\TransferSearch */ /* @var $dataProvider yii\data\ActiveDataProvider */ -$this->title = Yii::t('frontend/transfer', 'Transfers'); +$this->title = "Tranzakciók későbbi utalás fizetés típussal"; $this->params['breadcrumbs'][] = $this->title; ?> @@ -34,14 +34,29 @@ $this->params['breadcrumbs'][] = $this->title;

title) ?>

- render('_search', ['model' => $searchModel, 'accounts' => $accounts,'users' => $users,]); ?> + render('_search_payment_later', ['model' => $searchModel, ]); ?> + +
+ 'btn btn-primary select-all' ,'style' => 'margin-right: 6px;', + 'onclick' => "$('.table-transfer').find(\"input[type='checkbox']\").prop('checked',true);" +]); +echo Html::a("Egyiket sem",null, ['class' => 'btn btn-primary deselect-all', + 'onclick' => "$('.table-transfer').find(\"input[type='checkbox']\").prop('checked',false);" + +]); + +?> +
Url::current() ] ); ?> - +

+ Összesen: total_money;?> Ft +

['class' => 'table table-striped table-bordered table-transfer'], 'dataProvider' => $dataProvider, diff --git a/common/mail/login_frontend.php b/common/mail/login_frontend.php index 414126e..99a7028 100644 --- a/common/mail/login_frontend.php +++ b/common/mail/login_frontend.php @@ -5,7 +5,7 @@ Felhasználó: username ;?>
Idő: formatter->asDatetime(time());?>
city)){ +if ( isset($geoip) && isset($geoip->city)){ ?> Ip cím: ip?>
Város: city?>
diff --git a/common/models/Transfer.php b/common/models/Transfer.php index 46dca80..8a18981 100644 --- a/common/models/Transfer.php +++ b/common/models/Transfer.php @@ -960,7 +960,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { ShoppingCart::deleteAll(['id_transfer' => $this->id_transfer]); UserSoldItem::deleteAll(['id_transfer' => $this->id_transfer]); } - public function payout() { + public function payout($id_account = null) { if ($this->status != Transfer::STATUS_NOT_PAID) { return false; @@ -970,14 +970,18 @@ class Transfer extends \common\models\BaseFitnessActiveRecord { $this->paid_at = Helper::getDateTimeString (); $this->paid_by = \Yii::$app->user->id; - if( Helper::isUserCartVisibilityAll() ){ - $this->id_account = Account::readDefault(); + if ( isset($id_account)){ + $this->id_account = $id_account; + }else{ + if( Helper::isUserCartVisibilityAll() ){ + $this->id_account = Account::readDefault(); + } } ShoppingCart::deleteAll ( [ 'id_transfer' => $this->id_transfer ] ); UserSoldItem::deleteAll ( [ 'id_transfer' => $this->id_transfer ] ); - return $this->save (); + return $this->save (false); } diff --git a/common/views/total/total_detailed_money_movement.php b/common/views/total/total_detailed_money_movement.php index 3698083..c680439 100644 --- a/common/views/total/total_detailed_money_movement.php +++ b/common/views/total/total_detailed_money_movement.php @@ -23,18 +23,24 @@ + + moneyMovements ) == 0 ) { + ?> + + + Nincs találat + + + + - moneyMovements ) == 0 ) { - ?> - Nincs találat - - + moneyMovements ) > 0 ) { + ?>
Összesen: formatter->asInteger( $model->moneyMovementMoneis); ?> Ft -
'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;']); 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;' - ]); + if ( $this->showDailyDownload ){ + $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]), [ diff --git a/frontend/controllers/SiteController.php b/frontend/controllers/SiteController.php index 6247449..3619a2e 100644 --- a/frontend/controllers/SiteController.php +++ b/frontend/controllers/SiteController.php @@ -94,8 +94,11 @@ class SiteController extends Controller $geoip = Helper::getGeoIp(); + $message = ""; $user = User::findOne(\Yii::$app->user->id); - $message = "Bejelentkezés: " .$user->username. " Ip cím:". $geoip->ip . " Város: " . $geoip->city; + if ( isset($geoip)){ + $message = "Bejelentkezés: " .$user->username. " Ip cím:". $geoip->ip . " Város: " . $geoip->city; + } Log::log([ 'type' =>Log::$TYPE_LOGIN, diff --git a/frontend/views/account-state/_mixed.php b/frontend/views/account-state/_mixed.php index 72c3186..cc12352 100644 --- a/frontend/views/account-state/_mixed.php +++ b/frontend/views/account-state/_mixed.php @@ -4,6 +4,8 @@ use common\components\total\TotalDetailedMoneyMovementWidget; ?> + +

Bérletek típus szerint

$details]);?>

Termékek kategória szerint

diff --git a/frontend/views/account-state/mixed_pdf.php b/frontend/views/account-state/mixed_pdf.php index 8eaf501..0de10a0 100644 --- a/frontend/views/account-state/mixed_pdf.php +++ b/frontend/views/account-state/mixed_pdf.php @@ -3,7 +3,14 @@ use common\components\accountstate\AccountStateWidget; use common\components\total\TotalDifferenceWidget; ?> - +