add daily listing by paid_by, add customer cart details

This commit is contained in:
Roland Schneider 2016-01-27 09:01:02 +01:00
parent 9fb349ee64
commit 2291ca5ff4
28 changed files with 577 additions and 81 deletions

View File

@ -27,13 +27,11 @@ $this->params['breadcrumbs'][] = $this->title;
], ],
[ [
'attribute' => 'id_user', 'attribute' => 'id_user',
'value' => $model->username 'value' => $model->username,
'label' => 'Felhasználó'
], ],
'id_partner_card',
'id_proposer',
'name', 'name',
'email:email', 'email:email',
'password',
'phone', 'phone',
[ [
'attribute' => 'sex', 'attribute' => 'sex',
@ -44,8 +42,14 @@ $this->params['breadcrumbs'][] = $this->title;
'image', 'image',
'description', 'description',
'tax_number', 'tax_number',
'bank_name', [
'bank_account', 'attribute' => 'bank_name',
'label' => 'Bank neve'
],
[
'attribute' => 'bank_account',
'label' => 'Bankszámlaszám'
],
'country', 'country',
'zip', 'zip',
'city', 'city',

View File

@ -220,7 +220,7 @@ class DailyListing
$query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]); $query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]);
if ( RoleDefinition::isReception() || !$this->isModeAdmin()){ if ( RoleDefinition::isReception() || !$this->isModeAdmin()){
$query->andWhere(['transfer.id_user' => Yii::$app->user->id ]); $query->andWhere(['transfer.paid_by' => Yii::$app->user->id ]);
} }
@ -240,9 +240,8 @@ class DailyListing
$query->andFilterWhere([ $query->andFilterWhere([
'transfer.id_account' => $this->id_account, 'transfer.id_account' => $this->id_account,
'transfer.id_user' => $this->id_user,
'transfer.type' => $this->type, 'transfer.type' => $this->type,
'transfer.id_user' => $this->id_user, 'transfer.paid_by' => $this->id_user,
]); ]);
$created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; $created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ];
@ -296,7 +295,7 @@ class DailyListing
$query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]); $query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object"); $query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
$query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type"); $query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','ticket_type.name']); $query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','ticket_type.name']);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -312,7 +311,7 @@ class DailyListing
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]); $query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object"); $query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['user.username' => SORT_ASC]); $query->orderBy(['user.username' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
$this->ticketMoneyByUser = $query->all(); $this->ticketMoneyByUser = $query->all();
@ -414,7 +413,7 @@ class DailyListing
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]); $query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
$query->innerJoin("sale", "sale.id_sale = transfer.id_object"); $query->innerJoin("sale", "sale.id_sale = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','transfer.money']); $query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','transfer.money']);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -444,7 +443,7 @@ class DailyListing
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]); $query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
$query->innerJoin("sale", "sale.id_sale = transfer.id_object"); $query->innerJoin("sale", "sale.id_sale = transfer.id_object");
$query->innerJoin("product", "sale.id_product = product.id_product"); $query->innerJoin("product", "sale.id_product = product.id_product");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','transfer.count' ,'product.sale_price','product.purchase_price']); $query->groupBy([ 'user.id as user_id','user.username as user_username','ticket_type.id_ticket_type','transfer.count' ,'product.sale_price','product.purchase_price']);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -483,7 +482,7 @@ class DailyListing
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]); $query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
$query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object"); $query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->groupBy([ 'user.id as user_id','user.username as user_username' ]); $query->groupBy([ 'user.id as user_id','user.username as user_username' ]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -496,7 +495,7 @@ class DailyListing
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]); $query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
$query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object"); $query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->groupBy([ 'user.id as user_id','user.username as user_username','money_movement.type']); $query->groupBy([ 'user.id as user_id','user.username as user_username','money_movement.type']);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -517,7 +516,7 @@ class DailyListing
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object"); $query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
$query->innerJoin("customer","customer.id_customer = transfer.id_customer"); $query->innerJoin("customer","customer.id_customer = transfer.id_customer");
$query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type"); $query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -541,7 +540,7 @@ class DailyListing
$query->innerJoin("product", "sale.id_product = product.id_product"); $query->innerJoin("product", "sale.id_product = product.id_product");
$query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category"); $query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -560,7 +559,7 @@ class DailyListing
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]); $query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
$query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object"); $query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);

View File

@ -170,6 +170,9 @@ class Helper {
$out = str_replace ( "Ö", "0", $out ); $out = str_replace ( "Ö", "0", $out );
return $out; return $out;
} }
public static function isUserCartVisibilityUser() {
return \Yii::$app->params ['user_cart_item_visibility'] == 'user';
}
public static function isCompanyMovar() { public static function isCompanyMovar() {
return \Yii::$app->params ['company'] == 'movar'; return \Yii::$app->params ['company'] == 'movar';
} }

View File

@ -16,5 +16,8 @@ return [
'ugiro_duplom_kod' => 1, 'ugiro_duplom_kod' => 1,
'ugiro_kezdemenyezo_szamlaszam' => '5860025215371128', 'ugiro_kezdemenyezo_szamlaszam' => '5860025215371128',
'ugiro_kezdemenyezo_azonosito' => 'A25366936T244', 'ugiro_kezdemenyezo_azonosito' => 'A25366936T244',
//a recepicó kosár csak az aktuális user által kiadott termékeket tartalmazza
//vagy mindent
//értékek user|all
'user_cart_item_visibility' => 'user',
]; ];

View File

@ -63,19 +63,26 @@ class ShoppingCart extends \yii\db\ActiveRecord
return $transfers; return $transfers;
} }
public static function payout( $customer, $idTransfers) { public static function payout( $customer, $idTransfers, $account = null) {
//apply transfer object //apply transfer object
//delete cart //delete cart
$sql = "UPDATE transfer AS t $sql = "UPDATE transfer AS t
INNER JOIN shopping_cart AS s ON t.id_transfer = s.id_transfer INNER JOIN shopping_cart AS s ON t.id_transfer = s.id_transfer
SET t.paid_by = ".\Yii::$app->user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."'" SET t.paid_by = ".\Yii::$app->user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."'";
. " WHERE t.status = " . Transfer::STATUS_NOT_PAID
if ( isset($account)){
$sql .= " , id_account = " . $account;
}
$sql .= " WHERE t.status = " . Transfer::STATUS_NOT_PAID
. " and s.id_customer = " . $customer->id_customer . " and s.id_customer = " . $customer->id_customer
. " and t.id_transfer in ( '" . implode("','", $idTransfers )."' )"; . " and t.id_transfer in ( '" . implode("','", $idTransfers )."' )";
$q1 = Yii::$app->db->createCommand($sql); $q1 = Yii::$app->db->createCommand($sql);
$q1->execute(); $q1->execute();
// ShoppingCart::deleteAll(['id_customer' => $customer->id_customer]); // ShoppingCart::deleteAll(['id_customer' => $customer->id_customer]);
if ( isset($idTransfers) ){ if ( isset($idTransfers) ){

View File

@ -198,6 +198,23 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
"id_sale" => "id_object" "id_sale" => "id_object"
] ); ] );
} }
public function getPaidByUser() {
return $this->hasOne ( User::className (), [
"id" => "paid_by"
] );
}
public function getPaidByName() {
$result = "";
$user = $this->paidByUser;
if (isset ( $this->paidByUser )) {
$result = $user->username;
}
return $result;
}
public function getObjectName() { public function getObjectName() {
$result = ""; $result = "";
if ($this->type == Transfer::TYPE_TICKET) { if ($this->type == Transfer::TYPE_TICKET) {
@ -470,9 +487,11 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
$query = Transfer::find (); $query = Transfer::find ();
$query->innerJoinWith ( 'userSoldItem' ); $query->innerJoinWith ( 'userSoldItem' );
$query->andWhere ( [ if ( Helper::isUserCartVisibilityUser()){
'user_sold_item.id_user' => $user->id $query->andWhere ( [
] ); 'user_sold_item.id_user' => $user->id
] );
}
$transfers = $query->all (); $transfers = $query->all ();
return $transfers; return $transfers;
@ -823,7 +842,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
$query->from ( 'transfer' ); $query->from ( 'transfer' );
$query->innerJoin ( "account", "account.id_account = transfer.id_account" ); $query->innerJoin ( "account", "account.id_account = transfer.id_account" );
$query->andWhere ( [ $query->andWhere ( [
'transfer.id_user' => $idUser 'transfer.paid_by' => $idUser
] ); ] );
$created_condition = [ $created_condition = [

View File

@ -222,7 +222,7 @@ class TransferListSearch extends Transfer
$query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]); $query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]);
if ( RoleDefinition::isReception() || !$this->isModeAdmin()){ if ( RoleDefinition::isReception() || !$this->isModeAdmin()){
$query->andWhere(['transfer.id_user' => Yii::$app->user->id ]); $query->andWhere(['transfer.paid_by' => Yii::$app->user->id ]);
} }
@ -242,9 +242,8 @@ class TransferListSearch extends Transfer
$query->andFilterWhere([ $query->andFilterWhere([
'transfer.id_account' => $this->id_account, 'transfer.id_account' => $this->id_account,
'transfer.id_user' => $this->id_user,
'transfer.type' => $this->type, 'transfer.type' => $this->type,
'transfer.id_user' => $this->id_user, 'transfer.paid_by' => $this->id_user,
]); ]);
$created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; $created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ];
@ -425,7 +424,7 @@ class TransferListSearch extends Transfer
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object"); $query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
$query->innerJoin("customer","customer.id_customer = transfer.id_customer"); $query->innerJoin("customer","customer.id_customer = transfer.id_customer");
$query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type"); $query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -449,7 +448,7 @@ class TransferListSearch extends Transfer
$query->innerJoin("product", "sale.id_product = product.id_product"); $query->innerJoin("product", "sale.id_product = product.id_product");
$query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category"); $query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);
@ -468,7 +467,7 @@ class TransferListSearch extends Transfer
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]); $query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
$query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object"); $query->innerJoin("money_movement", "money_movement.id_money_movement = transfer.id_object");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.paid_by = user.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);

View File

@ -155,13 +155,13 @@ class TransferSaleSearch extends Transfer
$query->andFilterWhere([ $query->andFilterWhere([
'transfer.id_account' => $this->id_account, 'transfer.id_account' => $this->id_account,
'transfer.id_user' => $this->id_user,
'transfer.type' => $this->type, 'transfer.type' => $this->type,
'transfer.id_user' => $this->id_user,
'product_category.id_product_category' => $this->category, 'product_category.id_product_category' => $this->category,
'transfer.status' => $this->status, 'transfer.status' => $this->status,
'product.id_product' => $this->id_product, 'product.id_product' => $this->id_product,
]); ]);
$query->andFilterWhere( ['or' , ['transfer.id_user' => $this->id_user ] , ['transfer.paid_by' => $this->id_user]] );
$created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; $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 ] ]; $paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ];
@ -271,7 +271,7 @@ class TransferSaleSearch extends Transfer
protected function readProducts(){ protected function readProducts(){
$query = (new \yii\db\Query()); $query = (new \yii\db\Query());
$query->select([ 'transfer.payment_method as transfer_payment_method', 'transfer.id_transfer as id_transfer', 'customer.name as customer_name' ,'user.username as user_name','account.name as account_name' , 'product_category.name as product_category_name', 'product.name as product_name', 'transfer.money AS product_money', 'transfer.count AS product_count', 'transfer.money AS product_money','transfer.item_price AS product_item_price', 'transfer.created_at as product_created_at','transfer.paid_at as product_paid_at']); $query->select([ 'paid_by.username as paid_by_name', 'transfer.payment_method as transfer_payment_method', 'transfer.id_transfer as id_transfer', 'customer.name as customer_name' ,'user.username as user_name','account.name as account_name' , 'product_category.name as product_category_name', 'product.name as product_name', 'transfer.money AS product_money', 'transfer.count AS product_count', 'transfer.money AS product_money','transfer.item_price AS product_item_price', 'transfer.created_at as product_created_at','transfer.paid_at as product_paid_at']);
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]); $query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
$query->innerJoin("sale", "sale.id_sale = transfer.id_object"); $query->innerJoin("sale", "sale.id_sale = transfer.id_object");
@ -279,6 +279,7 @@ class TransferSaleSearch extends Transfer
$query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category"); $query->innerJoin("product_category", "product.id_product_category = product_category.id_product_category");
$query->leftJoin("customer", "transfer.id_customer = customer.id_customer"); $query->leftJoin("customer", "transfer.id_customer = customer.id_customer");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.id_user = user.id");
$query->leftJoin("user as paid_by", "transfer.paid_by = paid_by.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);

View File

@ -151,11 +151,11 @@ class TransferTicketSearch extends Transfer
$query->andFilterWhere([ $query->andFilterWhere([
'transfer.id_account' => $this->id_account, 'transfer.id_account' => $this->id_account,
'transfer.id_user' => $this->id_user,
'transfer.type' => $this->type, 'transfer.type' => $this->type,
'transfer.id_user' => $this->id_user,
'ticket_type.id_ticket_type' => $this->id_ticket_type, 'ticket_type.id_ticket_type' => $this->id_ticket_type,
]); ]);
$query->andFilterWhere( ['or' , ['transfer.id_user' => $this->id_user ] , ['transfer.paid_by' => $this->id_user]] );
$created_condition = ['and',[ '>=', 'transfer.created_at', $this->timestampStart ] ,[ '<', 'transfer.created_at', $this->timestampEnd ] ]; $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 ] ]; $paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ];
@ -207,13 +207,14 @@ class TransferTicketSearch extends Transfer
protected function readTickets(){ protected function readTickets(){
$query = (new \yii\db\Query()); $query = (new \yii\db\Query());
$query->select([ 'ticket.id_ticket as ticket_id_ticket', 'customer.name as customer_name', 'user.username as user_name', 'account.name as account_name','ticket_type.name as ticket_type_name' ,'ticket.status as ticket_status', 'transfer.count AS ticket_count', 'transfer.money AS ticket_money','transfer.item_price AS ticket_item_price', 'transfer.created_at as ticket_created_at','transfer.paid_at as ticket_paid_at']); $query->select([ 'paid_by.username as paid_by_name', 'ticket.id_ticket as ticket_id_ticket', 'customer.name as customer_name', 'user.username as user_name', 'account.name as account_name','ticket_type.name as ticket_type_name' ,'ticket.status as ticket_status', 'transfer.count AS ticket_count', 'transfer.money AS ticket_money','transfer.item_price AS ticket_item_price', 'transfer.created_at as ticket_created_at','transfer.paid_at as ticket_paid_at']);
$query->from('transfer'); $query->from('transfer');
$query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]); $query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object"); $query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
$query->innerJoin("customer","customer.id_customer = transfer.id_customer"); $query->innerJoin("customer","customer.id_customer = transfer.id_customer");
$query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type"); $query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type");
$query->innerJoin("user", "transfer.id_user = user.id"); $query->innerJoin("user", "transfer.id_user = user.id");
$query->leftJoin("user as paid_by", "transfer.paid_by = paid_by.id");
$query->orderBy(['transfer.created_at' => SORT_ASC]); $query->orderBy(['transfer.created_at' => SORT_ASC]);
$this->addQueryFilters($query); $this->addQueryFilters($query);

View File

@ -5,6 +5,7 @@ namespace common\models;
use Yii; use Yii;
use yii\db\Query; use yii\db\Query;
use yii\db\Expression; use yii\db\Expression;
use common\components\Helper;
/** /**
* This is the model class for table "user_sold_item". * This is the model class for table "user_sold_item".
@ -89,27 +90,55 @@ class UserSoldItem extends \yii\db\ActiveRecord
/** /**
* @param common\models\User $user * @param common\models\User $user
* */ * */
public static function payout( $user, $idTransfers = null ) { public static function payout( $user, $idTransfers = null, $account = null ) {
//apply transfer object //apply transfer object
//delete cart //delete cart
$sql = "UPDATE transfer AS t $sql = "UPDATE transfer AS t
INNER JOIN user_sold_item AS s ON t.id_transfer = s.id_transfer INNER JOIN user_sold_item AS s ON t.id_transfer = s.id_transfer
SET t.paid_by = ".$user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."'" SET t.paid_by = ".$user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."' ";
. " WHERE t.status = " . Transfer::STATUS_NOT_PAID
. " and s.id_user =" . $user->id ;
if ( isset($idTransfers)){ if ( isset($account)){
$sql .= " and t.id_transfer in ( '" . implode("','", $idTransfers )."' )"; $sql .= " , id_account = " . $account;
} }
$sql .= " WHERE t.status = " . Transfer::STATUS_NOT_PAID;
//we can see all transfer in cart, or just our
if ( Helper::isUserCartVisibilityUser()){
$sql .= " and s.id_user =" . $user->id ;
}
//just payout selected transfers
if ( isset($idTransfers)){
$sql .= " and t.id_transfer in ( '" . implode("','", $idTransfers )."' )";
}
$q1 = Yii::$app->db->createCommand($sql); $q1 = Yii::$app->db->createCommand($sql);
$q1->execute(); $q1->execute();
$deleteConditions = [];
if ( isset($idTransfers) ){ if ( isset($idTransfers) ){
UserSoldItem::deleteAll(['and' ,['id_user' => Yii::$app->user->id] ,['in','id_transfer',$idTransfers] ]); $deleteConditions[] = ['in','id_transfer',$idTransfers];
}else{ }
UserSoldItem::deleteAll(['id_user' => Yii::$app->user->id]);
if ( Helper::isUserCartVisibilityUser()){
$deleteConditions[] = ['id_user' => Yii::$app->user->id];
} }
if ( count($deleteConditions) > 1 ){
// ['and', 'cond1','cond2']
$deleteConditions = ["and"] + $deleteConditions;
}else if ( count($deleteConditions) == 1 ){
//[a => b ]
$deleteConditions = $deleteConditions[0];
}else{
//[]
$deleteConditions = [];
}
UserSoldItem::deleteAll($deleteConditions);
} }

View File

@ -0,0 +1,28 @@
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace frontend\assets;
use yii\web\AssetBundle;
/**
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class TransferCustomerCartAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
];
public $js = [
'js/transfer.customercart.js',
];
public $depends = [
'frontend\assets\AppAsset',
];
}

View File

@ -155,15 +155,15 @@ class ProductController extends Controller {
} }
public function actionPayoutUserCart() { public function actionPayoutUserCart() {
if (Yii::$app->request->isAjax) { if (Yii::$app->request->isAjax) {
$result = [ ]; // $result = [ ];
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; // \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
$user = User::findOne ( Yii::$app->user->id ); // $user = User::findOne ( Yii::$app->user->id );
UserSoldItem::payout ( $user ); // UserSoldItem::payout ( $user );
$userTransfers = Transfer::modelsToArray ( Transfer::readUserSoldTransfers ( $user ) ); // $userTransfers = Transfer::modelsToArray ( Transfer::readUserSoldTransfers ( $user ) );
$result ['transfers'] = $userTransfers; // $result ['transfers'] = $userTransfers;
$result ['code'] = 'success'; // $result ['code'] = 'success';
return $result; return $result;
} else { } else {
@ -175,7 +175,7 @@ class ProductController extends Controller {
$connection = \Yii::$app->db; $connection = \Yii::$app->db;
$transaction = $connection->beginTransaction (); $transaction = $connection->beginTransaction ();
try { try {
UserSoldItem::payout ( $user, $model->transfers ); UserSoldItem::payout ( $user, $model->transfers , Account::readDefault() );
$transaction->commit (); $transaction->commit ();
\Yii::$app->session->setFlash ( 'success', 'Recepicó kosár fizetve' ); \Yii::$app->session->setFlash ( 'success', 'Recepicó kosár fizetve' );
} catch ( Exception $e ) { } catch ( Exception $e ) {
@ -231,7 +231,7 @@ class ProductController extends Controller {
$connection = \Yii::$app->db; $connection = \Yii::$app->db;
$transaction = $connection->beginTransaction (); $transaction = $connection->beginTransaction ();
try { try {
ShoppingCart::payout ( $this->customer, $model->transfers ); ShoppingCart::payout ( $this->customer, $model->transfers , Account::readDefault());
$transaction->commit (); $transaction->commit ();
\Yii::$app->session->setFlash ( 'success', 'Vendég kosár kifizetve' ); \Yii::$app->session->setFlash ( 'success', 'Vendég kosár kifizetve' );
} catch ( Exception $e ) { } catch ( Exception $e ) {

View File

@ -20,6 +20,9 @@ use common\models\Product;
use common\models\TransferTicketSearch; use common\models\TransferTicketSearch;
use common\models\TicketType; use common\models\TicketType;
use frontend\models\UserCartForm; use frontend\models\UserCartForm;
use common\models\Customer;
use frontend\models\CustomerCartForm;
use common\models\Card;
/** /**
* TransferController implements the CRUD actions for Transfer model. * TransferController implements the CRUD actions for Transfer model.
@ -191,10 +194,11 @@ class TransferController extends Controller
$transfer->status = Transfer::STATUS_PAID; $transfer->status = Transfer::STATUS_PAID;
$transfer->paid_at = date('Y-m-d H:i:s' ) ; $transfer->paid_at = date('Y-m-d H:i:s' ) ;
$transfer->paid_by = \Yii::$app->user->id; $transfer->paid_by = \Yii::$app->user->id;
$transfer->id_account = Account::readDefault();
ShoppingCart::deleteAll([ 'id_transfer' => $transfer->id_transfer]); ShoppingCart::deleteAll([ 'id_transfer' => $transfer->id_transfer]);
UserSoldItem::deleteAll([ 'id_transfer' => $transfer->id_transfer]); UserSoldItem::deleteAll([ 'id_transfer' => $transfer->id_transfer]);
if ( $transfer->save() ){ if ( $transfer->save() ){
\Yii::$app->session->setFlash( 'success','Tranzakció kifizetve' ); \Yii::$app->session->setFlash( 'success','Tranzakció kifizetve!' );
$transaction->commit(); $transaction->commit();
}else{ }else{
throw new \Exception("Failed to save"); throw new \Exception("Failed to save");
@ -342,6 +346,12 @@ class TransferController extends Controller
public function actionUserCart(){ public function actionUserCart(){
$defaultAccount = Account::readDefault();
if ( !isset($defaultAccount)){
return $this->redirect(['account/select']);
}
$model = new UserCartForm(); $model = new UserCartForm();
if ($model->load(Yii::$app->request->post()) && $model->payout()) { if ($model->load(Yii::$app->request->post()) && $model->payout()) {
return $this->redirect(['user-cart']); return $this->redirect(['user-cart']);
@ -349,4 +359,30 @@ class TransferController extends Controller
$model->run(); $model->run();
return $this->render("usercart",[ 'model' => $model]); return $this->render("usercart",[ 'model' => $model]);
} }
public function actionCustomerCart($id_card){
$defaultAccount = Account::readDefault();
if ( !isset($defaultAccount)){
return $this->redirect(['account/select']);
}
$customer = null;
$card = Card::findOne($id_card);
if ($card != null )
$customer = $card->customer;
if ( !isset($customer) ){
throw new NotFoundHttpException ( 'Az oldal nem található' );
}
$model = new CustomerCartForm();
$model->customer = $customer;
if ($model->load(Yii::$app->request->post()) && $model->payout()) {
return $this->redirect(['customer-cart','id_card' => $model->customer->card->id_card]);
}
$model->run();
return $this->render("customercart",[ 'model' => $model]);
}
} }

View File

@ -0,0 +1,107 @@
<?php
namespace frontend\models;
use Yii;
use yii\base\Model;
use common\models\Transfer;
use common\models\Account;
/**
* ContactForm is the model behind the contact form.
*/
class CustomerCartForm extends Model
{
public $items = [];
public $transfers;
public $payment_method;
public $money = 0;
public $selected = [];
public $customer;
/**
* @inheritdoc
*/
public function rules()
{
return [
['selected', 'each', 'rule' => ['integer']],
[['money' ,'payment_method'],'integer'],
[['payment_method'],'validatePaymentMethod'],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
];
}
public function validatePaymentMethod( $attribute, $params ){
if ( !empty($this->payment_method)){
// echo $this->payment_method;
$arr = Transfer::paymentMethods();
if ( !array_key_exists($this->payment_method, $arr) ){
$this->addError($attribute, "Érvénytelen fizetési mód");
}
}
}
public function payout(){
$valid = $this->validate();
if ( !$valid ){
return false;
}
if ( isset($this->selected) && count($this->selected) > 0 ){
$items = $this->loadTransfers($this->selected);
if ( count($items) == count($this->selected) ){
foreach ($items as $item){
$this->changePaymentMethod($item);
$item->id_account = Account::readDefault();
$item->payout();
}
\Yii::$app->session->setFlash('success', 'Kifizetve');
return true;
}else{
\Yii::$app->session->setFlash('danger', 'Időközben változtak a kosrában található tételek');
return false;
}
}else{
\Yii::$app->session->setFlash('danger', 'Nem választott ki terméket');
return false;
}
}
public function changePaymentMethod($item){
if ( !empty($this->payment_method)){
$item->payment_method = $this->payment_method;
}
}
public function run(){
$this->readTransfers();
}
public function readTransfers( ) {
$this->transfers = $this->loadTransfers();
}
public function loadTransfers($id_tranfer_array = null){
$query = Transfer::find();
$query->innerJoin("shopping_cart", "shopping_cart.id_transfer = transfer.id_transfer");
// $query->andWhere(["transfer.id_user" => \Yii::$app->user->id]);
$query->andWhere(["shopping_cart.id_customer" => $this->customer->id_customer]);
if (isset($id_tranfer_array)){
$query->andWhere(["in", "transfer.id_transfer" , $id_tranfer_array ]);
}
return $query->all();
}
}

View File

@ -77,7 +77,7 @@ class TransferSearch extends Transfer
// uncomment the following line if you do not want to return any records when validation fails // uncomment the following line if you do not want to return any records when validation fails
$query->where('0=1'); $query->where('0=1');
} }
$query->andWhere(['id_user' => Yii::$app->user->id ] ); $query->andWhere( ['or',['id_user' => Yii::$app->user->id ] , ['paid_by' => Yii::$app->user->id],] );
$query->andFilterWhere([ $query->andFilterWhere([
'id_account' => $this->id_account, 'id_account' => $this->id_account,

View File

@ -5,6 +5,8 @@ namespace frontend\models;
use Yii; use Yii;
use yii\base\Model; use yii\base\Model;
use common\models\Transfer; use common\models\Transfer;
use common\components\Helper;
use common\models\Account;
/** /**
* ContactForm is the model behind the contact form. * ContactForm is the model behind the contact form.
@ -62,6 +64,7 @@ class UserCartForm extends Model
if ( count($items) == count($this->selected) ){ if ( count($items) == count($this->selected) ){
foreach ($items as $item){ foreach ($items as $item){
$this->changePaymentMethod($item); $this->changePaymentMethod($item);
$item->id_account = Account::readDefault();
$item->payout(); $item->payout();
} }
\Yii::$app->session->setFlash('success', 'Kifizetve'); \Yii::$app->session->setFlash('success', 'Kifizetve');
@ -93,7 +96,9 @@ class UserCartForm extends Model
public function loadTransfers($id_tranfer_array = null){ public function loadTransfers($id_tranfer_array = null){
$query = Transfer::find(); $query = Transfer::find();
$query->innerJoin("user_sold_item", "user_sold_item.id_transfer = transfer.id_transfer"); $query->innerJoin("user_sold_item", "user_sold_item.id_transfer = transfer.id_transfer");
$query->andWhere(["user_sold_item.id_user" => \Yii::$app->user->id]); if ( Helper::isUserCartVisibilityUser()){
$query->andWhere(["user_sold_item.id_user" => \Yii::$app->user->id]);
}
if (isset($id_tranfer_array)){ if (isset($id_tranfer_array)){
$query->andWhere(["in", "transfer.id_transfer" , $id_tranfer_array ]); $query->andWhere(["in", "transfer.id_transfer" , $id_tranfer_array ]);
} }

View File

@ -20,6 +20,7 @@ $items = [
[ 'Befizetések', ['ticket/index', 'number' => $card->number] ], [ 'Befizetések', ['ticket/index', 'number' => $card->number] ],
[ 'Kulcsok', ['key/index', 'id_card' => $card->id_card] ], [ 'Kulcsok', ['key/index', 'id_card' => $card->id_card] ],
[ 'Szerződések', ['contract/index', 'id_card' => $card->id_card ]], [ 'Szerződések', ['contract/index', 'id_card' => $card->id_card ]],
[ 'Kosár', ['transfer/customer-cart', 'id_card' => $card->id_card ]],
]; ];

View File

@ -41,4 +41,7 @@ use yii\widgets\ActiveForm;
<div class='col-md-3 '> <div class='col-md-3 '>
<?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?> <?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?>
</div> </div>
<div class='col-md-3 '>
<?php echo Html::a("Kosár részletei",['transfer/customer-cart' ,'id_card' => $model->customer->card->id_card],[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?>
</div>
</div> </div>

View File

@ -39,4 +39,7 @@ use kartik\widgets\ActiveForm;
<div class='col-md-3 '> <div class='col-md-3 '>
<?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?> <?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?>
</div> </div>
<div class='col-md-3 '>
<?php echo Html::a("Kosár részletei",['transfer/customer-cart' ,'id_card' => $model->customer->card->id_card],[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?>
</div>
</div> </div>

View File

@ -41,4 +41,7 @@ use kartik\widgets\ActiveForm;
<div class='col-md-3 '> <div class='col-md-3 '>
<?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?> <?php echo Html::a(Yii::t('frontend/product', "Frissít"),null,[ 'class' => 'btn btn-primary btn-block' , 'onclick' => 'location.reload();']) ?>
</div> </div>
<div class='col-md-3 '>
<?php echo Html::a(Yii::t('transfer/user-cart', "Kosár részletei"),['transfer/user-cart'],[ 'class' => 'btn btn-primary btn-block' ]) ?>
</div>
</div> </div>

View File

@ -66,7 +66,7 @@ $this->registerJs ( 'new TicketSell( '. json_encode($options).');' );
</div> </div>
<div class='col-md-6'> <div class='col-md-6'>
<?php if ( $receptionForm->isCardWithCustomer() ){ ?> <?php if ( $receptionForm->isCardWithCustomer() ){ ?>
<?php echo $this->render('_customer_cart' ) ?> <?php echo $this->render('_customer_cart' ,['model' => $receptionForm]) ?>
<?php }?> <?php }?>
<?php echo $this->render('_user_cart' ) ?> <?php echo $this->render('_user_cart' ) ?>
</div> </div>

View File

@ -20,10 +20,13 @@ $formatter = Yii::$app->formatter;
<dt><?php echo $model->getAttributeLabel( 'id_transfer') ?></dt> <dt><?php echo "Tranz. azonosító" ?></dt>
<dd><?php echo ( Html::getAttributeValue($model, 'id_transfer') ) ?></dd> <dd><?php echo ( Html::getAttributeValue($model, 'id_transfer') ) ?></dd>
<dt><?php echo $model->getAttributeLabel( 'created_at') ?></dt> <dt><?php echo $model->getAttributeLabel( 'payment_method') ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'paymentMethodName') ?></dd>
<dt><?php echo "Kiadás ideje" ?></dt>
<dd><?php echo $formatter->asDatetime( Html::getAttributeValue($model, 'created_at') ) ?></dd> <dd><?php echo $formatter->asDatetime( Html::getAttributeValue($model, 'created_at') ) ?></dd>
<dt><?php echo $model->getAttributeLabel( 'paid_at') ?></dt> <dt><?php echo $model->getAttributeLabel( 'paid_at') ?></dt>
@ -31,9 +34,9 @@ $formatter = Yii::$app->formatter;
<dt><?php echo $model->getAttributeLabel( 'status') ?></dt> <dt><?php echo $model->getAttributeLabel( 'status') ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'statusName') ?></dd> <dd><?php echo Html::getAttributeValue($model, 'statusName') ?></dd>
<dt><?php echo "Kassza" ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'accountName') ?></dd>
<dt><?php echo $model->getAttributeLabel( 'payment_method') ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'paymentMethodName') ?></dd>
</dl> </dl>
</div> </div>
<div class='col-md-4'> <div class='col-md-4'>
@ -44,8 +47,10 @@ $formatter = Yii::$app->formatter;
<dt>Megnevezés</dt> <dt>Megnevezés</dt>
<dd><?php echo Html::getAttributeValue($model, 'objectName') ?></dd> <dd><?php echo Html::getAttributeValue($model, 'objectName') ?></dd>
<dt><?php echo $model->getAttributeLabel( 'id_user') ?></dt> <dt><?php echo "Kiadta" ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'userName') ?></dd> <dd><?php echo Html::getAttributeValue($model, 'userName') ?></dd>
<dt><?php echo "Fizette" ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'paidByName') ?></dd>
<dt><?php echo $model->getAttributeLabel( 'id_customer') ?></dt> <dt><?php echo $model->getAttributeLabel( 'id_customer') ?></dt>
<dd><?php echo Html::getAttributeValue($model, 'customerName') ?></dd> <dd><?php echo Html::getAttributeValue($model, 'customerName') ?></dd>

View File

@ -0,0 +1,114 @@
<?php
use yii\data\ArrayDataProvider;
use yii\widgets\ListView;
use yii\base\Widget;
use yii\grid\GridView;
use yii\widgets\ActiveForm;
use yii\helpers\Html;
use common\models\Transfer;
use yii\grid\CheckboxColumn;
use frontend\assets\TransferUserCartAsset;
use frontend\assets\TransferCustomerCartAsset;
use frontend\components\CustomerTabWidget;
?>
<?php
TransferCustomerCartAsset::register($this);
$options = [];
$this->registerJs ( 'new TransferCustomerCart( '. json_encode($options).');' );
$dp = new ArrayDataProvider(
[
'allModels' => $model->transfers,
'pagination' => false
]
);
$this->params['breadcrumbs'][] = "Vendég Kosár";
?>
<?php echo CustomerTabWidget::widget(['card' => $model->customer->card])?>
<div class="transfer-form">
<?php $form = ActiveForm::begin(); ?>
<?php echo $form->field($model, 'payment_method')->dropDownList( ['' => 'Aktuális'] + Transfer::paymentMethods())->label("Fizetése mód") ?>
<div class="row">
<div class="col-md-4">
<span style="font-weight: bold;">Összesen:</span>
<span class="selected-money"><?php echo $model->money ?></span>
<span> Ft</span>
<?php echo $form->field($model, "money" , [ ])->hiddenInput()->label(false); ?>
</div>
</div>
<div style="margin-bottom: 6px;">
<?php
echo Html::a("Összes kiválasztása",null, ['class' => 'btn btn-primary select-all' ,'style' => 'margin-right: 6px;']);
echo Html::a("Egyiket sem",null, ['class' => 'btn btn-primary deselect-all']);
?>
</div>
<?php
$formModel = $model;
echo GridView::widget([
"dataProvider" => $dp,
'columns' =>[
[
'label' => '',
'value' => function ($model, $key, $index, $column) use (&$form, &$formModel){
return Html::checkbox(Html::getInputName($formModel, 'selected[]') , in_array($model->id_transfer, $formModel->selected) , [ 'data-money' => $model->money, 'class' => 'cart-item', 'value' => $model->id_transfer] );
},
'format' => 'raw'
],
[
'value' => 'created_at',
'label' => 'Kiadva',
'format' => 'datetime'
],
[
'value' => 'user.username',
'label' => 'Kiadta',
],
[
'value' => 'transferTypeName',
'label' => 'Típus'
],
[
'value' => 'objectName',
'label' => 'Megnevezés'
],
[
'value' => 'item_price',
'label' => 'Egység ár'
],
[
'value' => 'count',
'label' => 'Mennyiség'
],
[
'value' => 'money',
'label' => 'Összesen'
],
[
'value' => 'paymentMethodName',
'label' => 'Fizetési mód'
],
]
]);
?>
<div class="form-group">
<?= Html::submitButton( "Kiválasztott elemek fizetve", ['class' => 'btn btn-primary']) ?>
</div>
<p>
A kifizetés az alapértelmezett kasszához lesz elszámolva
</p>
<?php ActiveForm::end(); ?>
</div>

View File

@ -72,7 +72,8 @@ td.name {
<th>F. mód</th> <th>F. mód</th>
<th>Fizetve</th> <th>Fizetve</th>
<th>Kassza</th> <th>Kassza</th>
<th>Felhasználó</th> <th>Kiadta</th>
<th>Fizette</th>
<th>Vásárló</th> <th>Vásárló</th>
<th>Kategória</th> <th>Kategória</th>
<th>Termék</th> <th>Termék</th>
@ -90,6 +91,7 @@ td.name {
<td><?php echo $p['product_paid_at']?> </td> <td><?php echo $p['product_paid_at']?> </td>
<td><?php echo $p['account_name']?> </td> <td><?php echo $p['account_name']?> </td>
<td><?php echo $p['user_name']?> </td> <td><?php echo $p['user_name']?> </td>
<td><?php echo $p['paid_by_name']?> </td>
<td><?php echo $p['customer_name']?> </td> <td><?php echo $p['customer_name']?> </td>
<td><?php echo $p['product_category_name'] ?></td> <td><?php echo $p['product_category_name'] ?></td>
<td><?php echo $p['product_name'] ?></td> <td><?php echo $p['product_name'] ?></td>

View File

@ -71,7 +71,8 @@ td.name {
<th>Kiadva</th> <th>Kiadva</th>
<th>Fizetve</th> <th>Fizetve</th>
<th>Kassza</th> <th>Kassza</th>
<th>Felhasználó</th> <th>Kiadta</th>
<th>Fizette</th>
<th>Vendég</th> <th>Vendég</th>
<th>Bérlet típus</th> <th>Bérlet típus</th>
<th>Státusz</th> <th>Státusz</th>
@ -85,15 +86,16 @@ td.name {
<tr> <tr>
<td><?php echo $t['ticket_id_ticket']?> </td> <td><?php echo $t['ticket_id_ticket']?> </td>
<td><?php echo $t['ticket_created_at']?> </td> <td><?php echo $t['ticket_created_at']?> </td>
<td><?php echo $t['ticket_paid_at']?> </td> <td><?php echo $t['ticket_paid_at']?> </td>
<td><?php echo $t['account_name']?> </td> <td><?php echo $t['account_name']?> </td>
<td><?php echo $t['user_name']?> </td> <td><?php echo $t['user_name']?> </td>
<td><?php echo $t['customer_name']?> </td> <td><?php echo $t['paid_by_name']?> </td>
<td><?php echo $t['ticket_type_name'] ?></td> <td><?php echo $t['customer_name']?> </td>
<td><?php echo Ticket::toStatusName( $t['ticket_status'] ) ?></td> <td><?php echo $t['ticket_type_name'] ?></td>
<td class='money'><?php echo $t['ticket_item_price']?> Ft</td> <td><?php echo Ticket::toStatusName( $t['ticket_status'] ) ?></td>
<td class='count'><?php echo $t['ticket_count']?> Db</td> <td class='money'><?php echo $t['ticket_item_price']?> Ft</td>
<td class='money'><?php echo $t['ticket_money']?> FT</td> <td class='count'><?php echo $t['ticket_count']?> Db</td>
<td class='money'><?php echo $t['ticket_money']?> FT</td>
</tr> </tr>
<?php } ?> <?php } ?>

View File

@ -24,7 +24,7 @@ $this->registerJs ( 'new TransferUserCart( '. json_encode($options).');' );
); );
?> ?>
<h1>Kosár</h1> <h1>Recepció kosár</h1>
<div class="transfer-form"> <div class="transfer-form">
<?php $form = ActiveForm::begin(); ?> <?php $form = ActiveForm::begin(); ?>
<?php echo $form->field($model, 'payment_method')->dropDownList( ['' => 'Aktuális'] + Transfer::paymentMethods())->label("Fizetése mód") ?> <?php echo $form->field($model, 'payment_method')->dropDownList( ['' => 'Aktuális'] + Transfer::paymentMethods())->label("Fizetése mód") ?>
@ -33,13 +33,18 @@ $this->registerJs ( 'new TransferUserCart( '. json_encode($options).');' );
<span>Összesen:</span> <span>Összesen:</span>
<span class="selected-money"><?php echo $model->money ?></span> <span class="selected-money"><?php echo $model->money ?></span>
<span> Ft</span> <span> Ft</span>
<?php echo $form->field($model, "money" , [ ])->hiddenInput(); ?> <?php echo $form->field($model, "money" , [ ])->hiddenInput()->label(false); ?>
</div> </div>
</div> </div>
<div style="margin-bottom: 6px;">
<?php <?php
echo Html::a("Összes kiválasztása",null, ['class' => 'btn btn-primary select-all' ,'style' => 'margin-right: 6px;']);
echo Html::a("Egyiket sem",null, ['class' => 'btn btn-primary deselect-all']);
?>
</div>
<?php
$formModel = $model; $formModel = $model;
echo GridView::widget([ echo GridView::widget([
@ -53,6 +58,19 @@ echo GridView::widget([
}, },
'format' => 'raw' 'format' => 'raw'
], ],
[
'value' => 'created_at',
'label' => 'Kiadva',
'format' => 'datetime'
],
[
'value' => 'user.username',
'label' => 'Kiadta',
],
[
'value' => 'accountName',
'label' => 'Kassza'
],
[ [
'value' => 'transferTypeName', 'value' => 'transferTypeName',
'label' => 'Típus' 'label' => 'Típus'
@ -85,6 +103,8 @@ echo GridView::widget([
<div class="form-group"> <div class="form-group">
<?= Html::submitButton( "Kiválasztott elemek fizetve", ['class' => 'btn btn-primary']) ?> <?= Html::submitButton( "Kiválasztott elemek fizetve", ['class' => 'btn btn-primary']) ?>
</div> </div>
<p>
A kifizetés az alapértelmezett kasszához lesz elszámolva
</p>
<?php ActiveForm::end(); ?> <?php ActiveForm::end(); ?>
</div> </div>

View File

@ -0,0 +1,63 @@
function TransferCustomerCart(o){
var defaults = {};
init();
function init(){
defaults = $.extend(defaults,o);
$('.select-on-check-all').click(recalculate);
$('.cart-item').click(recalculate);
$('.select-all').click(selectAll);
$('.deselect-all').click(deselectAll);
}
function selectAll(){
var table;
table = $('.grid-view').find('table');
table.find('input').prop('checked',true);
recalculate();
}
function deselectAll(){
var table;
table = $('.grid-view').find('table');
table.find('input').prop('checked',false);
recalculate();
}
function recalculate(){
var items = $('.cart-item');
var money = 0;
items.each(function(i,e){
if ( $(e).is(':checked')){
money += $(e).data('money');
}
});
$('#customercartform-money').val(money);
$('.selected-money').html(money);
selectRows();
}
function selectRows(){
var table;
var rows;
table = $('.grid-view').find('table');
rows = table.find('tbody').find('tr');
rows.removeClass('info');
rows.each(function(i,e){
var cb;
var selected;
var row;
row = $(e);
cb = row.find('td').eq(0).find('input');
selected = cb.is(':checked');
if ( selected){
row.addClass('info');
}
});
}
}

View File

@ -8,6 +8,23 @@ function TransferUserCart(o){
defaults = $.extend(defaults,o); defaults = $.extend(defaults,o);
$('.select-on-check-all').click(recalculate); $('.select-on-check-all').click(recalculate);
$('.cart-item').click(recalculate); $('.cart-item').click(recalculate);
$('.select-all').click(selectAll);
$('.deselect-all').click(deselectAll);
}
function selectAll(){
var table;
table = $('.grid-view').find('table');
table.find('input').prop('checked',true);
recalculate();
}
function deselectAll(){
var table;
table = $('.grid-view').find('table');
table.find('input').prop('checked',false);
recalculate();
} }
function recalculate(){ function recalculate(){
@ -20,6 +37,28 @@ function TransferUserCart(o){
}); });
$('#usercartform-money').val(money); $('#usercartform-money').val(money);
$('.selected-money').html(money); $('.selected-money').html(money);
selectRows();
}
function selectRows(){
var table;
var rows;
table = $('.grid-view').find('table');
rows = table.find('tbody').find('tr');
rows.removeClass('info');
rows.each(function(i,e){
var cb;
var selected;
var row;
row = $(e);
cb = row.find('td').eq(0).find('input');
selected = cb.is(':checked');
if ( selected){
row.addClass('info');
}
});
} }