Finish version/v.0.0.29
This commit is contained in:
commit
d1cad3c382
@ -27,13 +27,11 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
],
|
||||
[
|
||||
'attribute' => 'id_user',
|
||||
'value' => $model->username
|
||||
'value' => $model->username,
|
||||
'label' => 'Felhasználó'
|
||||
],
|
||||
'id_partner_card',
|
||||
'id_proposer',
|
||||
'name',
|
||||
'email:email',
|
||||
'password',
|
||||
'phone',
|
||||
[
|
||||
'attribute' => 'sex',
|
||||
@ -44,8 +42,14 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
'image',
|
||||
'description',
|
||||
'tax_number',
|
||||
'bank_name',
|
||||
'bank_account',
|
||||
[
|
||||
'attribute' => 'bank_name',
|
||||
'label' => 'Bank neve'
|
||||
],
|
||||
[
|
||||
'attribute' => 'bank_account',
|
||||
'label' => 'Bankszámlaszám'
|
||||
],
|
||||
'country',
|
||||
'zip',
|
||||
'city',
|
||||
|
||||
@ -1,3 +1,6 @@
|
||||
-0.0.29
|
||||
- change daily listings to use paid_by instead id_user
|
||||
- add customer cart details
|
||||
-0.0.28
|
||||
- Add change customer card to reception customer update
|
||||
- Add customer tab to reception
|
||||
|
||||
@ -220,7 +220,7 @@ class DailyListing
|
||||
$query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]);
|
||||
|
||||
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([
|
||||
'transfer.id_account' => $this->id_account,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'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 ] ];
|
||||
@ -296,7 +295,7 @@ class DailyListing
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
|
||||
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
|
||||
$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']);
|
||||
$this->addQueryFilters($query);
|
||||
@ -312,7 +311,7 @@ class DailyListing
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
$this->ticketMoneyByUser = $query->all();
|
||||
@ -414,7 +413,7 @@ class DailyListing
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
|
||||
$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']);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -444,7 +443,7 @@ class DailyListing
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
|
||||
$query->innerJoin("sale", "sale.id_sale = transfer.id_object");
|
||||
$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']);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -483,7 +482,7 @@ class DailyListing
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
|
||||
$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' ]);
|
||||
|
||||
$this->addQueryFilters($query);
|
||||
@ -496,7 +495,7 @@ class DailyListing
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
|
||||
$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']);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -517,7 +516,7 @@ class DailyListing
|
||||
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
|
||||
$query->innerJoin("customer","customer.id_customer = transfer.id_customer");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -541,7 +540,7 @@ class DailyListing
|
||||
$query->innerJoin("product", "sale.id_product = product.id_product");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -560,7 +559,7 @@ class DailyListing
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
|
||||
@ -170,6 +170,9 @@ class Helper {
|
||||
$out = str_replace ( "Ö", "0", $out );
|
||||
return $out;
|
||||
}
|
||||
public static function isUserCartVisibilityUser() {
|
||||
return \Yii::$app->params ['user_cart_item_visibility'] == 'user';
|
||||
}
|
||||
public static function isCompanyMovar() {
|
||||
return \Yii::$app->params ['company'] == 'movar';
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@ return [
|
||||
'supportEmail' => 'rocho02@gmail.com',
|
||||
'infoEmail' => 'info@rocho-net.hu',
|
||||
'user.passwordResetTokenExpire' => 3600,
|
||||
'version' => 'v0.0.28',
|
||||
'version' => 'v0.0.29',
|
||||
'company' => 'movar',//gyor
|
||||
'company_name' => "Freimann Kft.",
|
||||
'product_visiblity' => 'account',// on reception which products to display. account or global
|
||||
@ -16,5 +16,8 @@ return [
|
||||
'ugiro_duplom_kod' => 1,
|
||||
'ugiro_kezdemenyezo_szamlaszam' => '5860025215371128',
|
||||
'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',
|
||||
];
|
||||
|
||||
@ -63,19 +63,26 @@ class ShoppingCart extends \yii\db\ActiveRecord
|
||||
return $transfers;
|
||||
}
|
||||
|
||||
public static function payout( $customer, $idTransfers) {
|
||||
public static function payout( $customer, $idTransfers, $account = null) {
|
||||
//apply transfer object
|
||||
//delete cart
|
||||
$sql = "UPDATE transfer AS t
|
||||
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' ) ."'"
|
||||
. " WHERE t.status = " . Transfer::STATUS_NOT_PAID
|
||||
SET t.paid_by = ".\Yii::$app->user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."'";
|
||||
|
||||
if ( isset($account)){
|
||||
$sql .= " , id_account = " . $account;
|
||||
}
|
||||
|
||||
$sql .= " WHERE t.status = " . Transfer::STATUS_NOT_PAID
|
||||
. " and s.id_customer = " . $customer->id_customer
|
||||
. " and t.id_transfer in ( '" . implode("','", $idTransfers )."' )";
|
||||
|
||||
$q1 = Yii::$app->db->createCommand($sql);
|
||||
$q1->execute();
|
||||
|
||||
|
||||
|
||||
// ShoppingCart::deleteAll(['id_customer' => $customer->id_customer]);
|
||||
|
||||
if ( isset($idTransfers) ){
|
||||
|
||||
@ -198,6 +198,23 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
|
||||
"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() {
|
||||
$result = "";
|
||||
if ($this->type == Transfer::TYPE_TICKET) {
|
||||
@ -470,9 +487,11 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
|
||||
$query = Transfer::find ();
|
||||
|
||||
$query->innerJoinWith ( 'userSoldItem' );
|
||||
if ( Helper::isUserCartVisibilityUser()){
|
||||
$query->andWhere ( [
|
||||
'user_sold_item.id_user' => $user->id
|
||||
] );
|
||||
}
|
||||
$transfers = $query->all ();
|
||||
|
||||
return $transfers;
|
||||
@ -823,7 +842,7 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
|
||||
$query->from ( 'transfer' );
|
||||
$query->innerJoin ( "account", "account.id_account = transfer.id_account" );
|
||||
$query->andWhere ( [
|
||||
'transfer.id_user' => $idUser
|
||||
'transfer.paid_by' => $idUser
|
||||
] );
|
||||
|
||||
$created_condition = [
|
||||
|
||||
@ -222,7 +222,7 @@ class TransferListSearch extends Transfer
|
||||
$query->andWhere(['user_account_assignment.id_user' => Yii::$app->user->id ]);
|
||||
|
||||
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([
|
||||
'transfer.id_account' => $this->id_account,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'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 ] ];
|
||||
@ -425,7 +424,7 @@ class TransferListSearch extends Transfer
|
||||
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
|
||||
$query->innerJoin("customer","customer.id_customer = transfer.id_customer");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -449,7 +448,7 @@ class TransferListSearch extends Transfer
|
||||
$query->innerJoin("product", "sale.id_product = product.id_product");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
@ -468,7 +467,7 @@ class TransferListSearch extends Transfer
|
||||
$query->from('transfer');
|
||||
$query->andWhere(['transfer.type' => Transfer::TYPE_MONEY_MOVEMENT_OUT]);
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
|
||||
@ -155,14 +155,14 @@ class TransferSaleSearch extends Transfer
|
||||
|
||||
$query->andFilterWhere([
|
||||
'transfer.id_account' => $this->id_account,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'transfer.type' => $this->type,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'product_category.id_product_category' => $this->category,
|
||||
'transfer.status' => $this->status,
|
||||
'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 ] ];
|
||||
$paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ];
|
||||
|
||||
@ -271,7 +271,7 @@ class TransferSaleSearch extends Transfer
|
||||
protected function readProducts(){
|
||||
|
||||
$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->andWhere(['transfer.type' => Transfer::TYPE_PRODUCT]);
|
||||
$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->leftJoin("customer", "transfer.id_customer = customer.id_customer");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
|
||||
@ -151,12 +151,12 @@ class TransferTicketSearch extends Transfer
|
||||
|
||||
$query->andFilterWhere([
|
||||
'transfer.id_account' => $this->id_account,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'transfer.type' => $this->type,
|
||||
'transfer.id_user' => $this->id_user,
|
||||
'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 ] ];
|
||||
$paid_condition = ['and',[ '>=', 'transfer.paid_at', $this->timestampStart ] ,[ '<', 'transfer.paid_at', $this->timestampEnd ] ];
|
||||
|
||||
@ -207,13 +207,14 @@ class TransferTicketSearch extends Transfer
|
||||
|
||||
protected function readTickets(){
|
||||
$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->andWhere(['transfer.type' => Transfer::TYPE_TICKET]);
|
||||
$query->innerJoin("ticket", "ticket.id_ticket = transfer.id_object");
|
||||
$query->innerJoin("customer","customer.id_customer = transfer.id_customer");
|
||||
$query->innerJoin("ticket_type", "ticket.id_ticket_type = ticket_type.id_ticket_type");
|
||||
$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]);
|
||||
$this->addQueryFilters($query);
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@ namespace common\models;
|
||||
use Yii;
|
||||
use yii\db\Query;
|
||||
use yii\db\Expression;
|
||||
use common\components\Helper;
|
||||
|
||||
/**
|
||||
* This is the model class for table "user_sold_item".
|
||||
@ -89,15 +90,25 @@ class UserSoldItem extends \yii\db\ActiveRecord
|
||||
/**
|
||||
* @param common\models\User $user
|
||||
* */
|
||||
public static function payout( $user, $idTransfers = null ) {
|
||||
public static function payout( $user, $idTransfers = null, $account = null ) {
|
||||
//apply transfer object
|
||||
//delete cart
|
||||
$sql = "UPDATE transfer AS t
|
||||
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' ) ."'"
|
||||
. " WHERE t.status = " . Transfer::STATUS_NOT_PAID
|
||||
. " and s.id_user =" . $user->id ;
|
||||
SET t.paid_by = ".$user->id.", t.status = " . Transfer::STATUS_PAID . ", t.paid_at = '" . date('Y-m-d H:i:s' ) ."' ";
|
||||
|
||||
if ( isset($account)){
|
||||
$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 )."' )";
|
||||
}
|
||||
@ -105,12 +116,30 @@ class UserSoldItem extends \yii\db\ActiveRecord
|
||||
$q1 = Yii::$app->db->createCommand($sql);
|
||||
$q1->execute();
|
||||
|
||||
|
||||
$deleteConditions = [];
|
||||
|
||||
if ( isset($idTransfers) ){
|
||||
UserSoldItem::deleteAll(['and' ,['id_user' => Yii::$app->user->id] ,['in','id_transfer',$idTransfers] ]);
|
||||
}else{
|
||||
UserSoldItem::deleteAll(['id_user' => Yii::$app->user->id]);
|
||||
$deleteConditions[] = ['in','id_transfer',$idTransfers];
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
28
frontend/assets/TransferCustomerCartAsset.php
Normal file
28
frontend/assets/TransferCustomerCartAsset.php
Normal 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',
|
||||
];
|
||||
}
|
||||
@ -155,15 +155,15 @@ class ProductController extends Controller {
|
||||
}
|
||||
public function actionPayoutUserCart() {
|
||||
if (Yii::$app->request->isAjax) {
|
||||
$result = [ ];
|
||||
\Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
|
||||
// $result = [ ];
|
||||
// \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON;
|
||||
|
||||
$user = User::findOne ( Yii::$app->user->id );
|
||||
UserSoldItem::payout ( $user );
|
||||
// $user = User::findOne ( Yii::$app->user->id );
|
||||
// UserSoldItem::payout ( $user );
|
||||
|
||||
$userTransfers = Transfer::modelsToArray ( Transfer::readUserSoldTransfers ( $user ) );
|
||||
$result ['transfers'] = $userTransfers;
|
||||
$result ['code'] = 'success';
|
||||
// $userTransfers = Transfer::modelsToArray ( Transfer::readUserSoldTransfers ( $user ) );
|
||||
// $result ['transfers'] = $userTransfers;
|
||||
// $result ['code'] = 'success';
|
||||
|
||||
return $result;
|
||||
} else {
|
||||
@ -175,7 +175,7 @@ class ProductController extends Controller {
|
||||
$connection = \Yii::$app->db;
|
||||
$transaction = $connection->beginTransaction ();
|
||||
try {
|
||||
UserSoldItem::payout ( $user, $model->transfers );
|
||||
UserSoldItem::payout ( $user, $model->transfers , Account::readDefault() );
|
||||
$transaction->commit ();
|
||||
\Yii::$app->session->setFlash ( 'success', 'Recepicó kosár fizetve' );
|
||||
} catch ( Exception $e ) {
|
||||
@ -231,7 +231,7 @@ class ProductController extends Controller {
|
||||
$connection = \Yii::$app->db;
|
||||
$transaction = $connection->beginTransaction ();
|
||||
try {
|
||||
ShoppingCart::payout ( $this->customer, $model->transfers );
|
||||
ShoppingCart::payout ( $this->customer, $model->transfers , Account::readDefault());
|
||||
$transaction->commit ();
|
||||
\Yii::$app->session->setFlash ( 'success', 'Vendég kosár kifizetve' );
|
||||
} catch ( Exception $e ) {
|
||||
|
||||
@ -20,6 +20,9 @@ use common\models\Product;
|
||||
use common\models\TransferTicketSearch;
|
||||
use common\models\TicketType;
|
||||
use frontend\models\UserCartForm;
|
||||
use common\models\Customer;
|
||||
use frontend\models\CustomerCartForm;
|
||||
use common\models\Card;
|
||||
|
||||
/**
|
||||
* TransferController implements the CRUD actions for Transfer model.
|
||||
@ -191,10 +194,11 @@ class TransferController extends Controller
|
||||
$transfer->status = Transfer::STATUS_PAID;
|
||||
$transfer->paid_at = date('Y-m-d H:i:s' ) ;
|
||||
$transfer->paid_by = \Yii::$app->user->id;
|
||||
$transfer->id_account = Account::readDefault();
|
||||
ShoppingCart::deleteAll([ 'id_transfer' => $transfer->id_transfer]);
|
||||
UserSoldItem::deleteAll([ 'id_transfer' => $transfer->id_transfer]);
|
||||
if ( $transfer->save() ){
|
||||
\Yii::$app->session->setFlash( 'success','Tranzakció kifizetve' );
|
||||
\Yii::$app->session->setFlash( 'success','Tranzakció kifizetve!' );
|
||||
$transaction->commit();
|
||||
}else{
|
||||
throw new \Exception("Failed to save");
|
||||
@ -342,6 +346,12 @@ class TransferController extends Controller
|
||||
|
||||
public function actionUserCart(){
|
||||
|
||||
$defaultAccount = Account::readDefault();
|
||||
|
||||
if ( !isset($defaultAccount)){
|
||||
return $this->redirect(['account/select']);
|
||||
}
|
||||
|
||||
$model = new UserCartForm();
|
||||
if ($model->load(Yii::$app->request->post()) && $model->payout()) {
|
||||
return $this->redirect(['user-cart']);
|
||||
@ -349,4 +359,30 @@ class TransferController extends Controller
|
||||
$model->run();
|
||||
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]);
|
||||
}
|
||||
}
|
||||
|
||||
107
frontend/models/CustomerCartForm.php
Normal file
107
frontend/models/CustomerCartForm.php
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
@ -77,7 +77,7 @@ class TransferSearch extends Transfer
|
||||
// uncomment the following line if you do not want to return any records when validation fails
|
||||
$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([
|
||||
'id_account' => $this->id_account,
|
||||
|
||||
@ -5,6 +5,8 @@ namespace frontend\models;
|
||||
use Yii;
|
||||
use yii\base\Model;
|
||||
use common\models\Transfer;
|
||||
use common\components\Helper;
|
||||
use common\models\Account;
|
||||
|
||||
/**
|
||||
* ContactForm is the model behind the contact form.
|
||||
@ -62,6 +64,7 @@ class UserCartForm extends Model
|
||||
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');
|
||||
@ -93,7 +96,9 @@ class UserCartForm extends Model
|
||||
public function loadTransfers($id_tranfer_array = null){
|
||||
$query = Transfer::find();
|
||||
$query->innerJoin("user_sold_item", "user_sold_item.id_transfer = transfer.id_transfer");
|
||||
if ( Helper::isUserCartVisibilityUser()){
|
||||
$query->andWhere(["user_sold_item.id_user" => \Yii::$app->user->id]);
|
||||
}
|
||||
if (isset($id_tranfer_array)){
|
||||
$query->andWhere(["in", "transfer.id_transfer" , $id_tranfer_array ]);
|
||||
}
|
||||
|
||||
@ -20,6 +20,7 @@ $items = [
|
||||
[ 'Befizetések', ['ticket/index', 'number' => $card->number] ],
|
||||
[ 'Kulcsok', ['key/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 ]],
|
||||
];
|
||||
|
||||
|
||||
|
||||
@ -41,4 +41,7 @@ use yii\widgets\ActiveForm;
|
||||
<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();']) ?>
|
||||
</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>
|
||||
|
||||
@ -39,4 +39,7 @@ use kartik\widgets\ActiveForm;
|
||||
<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();']) ?>
|
||||
</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>
|
||||
@ -41,4 +41,7 @@ use kartik\widgets\ActiveForm;
|
||||
<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();']) ?>
|
||||
</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>
|
||||
@ -66,7 +66,7 @@ $this->registerJs ( 'new TicketSell( '. json_encode($options).');' );
|
||||
</div>
|
||||
<div class='col-md-6'>
|
||||
<?php if ( $receptionForm->isCardWithCustomer() ){ ?>
|
||||
<?php echo $this->render('_customer_cart' ) ?>
|
||||
<?php echo $this->render('_customer_cart' ,['model' => $receptionForm]) ?>
|
||||
<?php }?>
|
||||
<?php echo $this->render('_user_cart' ) ?>
|
||||
</div>
|
||||
|
||||
@ -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>
|
||||
|
||||
<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>
|
||||
|
||||
<dt><?php echo $model->getAttributeLabel( 'paid_at') ?></dt>
|
||||
@ -31,9 +34,9 @@ $formatter = Yii::$app->formatter;
|
||||
|
||||
<dt><?php echo $model->getAttributeLabel( 'status') ?></dt>
|
||||
<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>
|
||||
</div>
|
||||
<div class='col-md-4'>
|
||||
@ -44,8 +47,10 @@ $formatter = Yii::$app->formatter;
|
||||
<dt>Megnevezés</dt>
|
||||
<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>
|
||||
<dt><?php echo "Fizette" ?></dt>
|
||||
<dd><?php echo Html::getAttributeValue($model, 'paidByName') ?></dd>
|
||||
|
||||
<dt><?php echo $model->getAttributeLabel( 'id_customer') ?></dt>
|
||||
<dd><?php echo Html::getAttributeValue($model, 'customerName') ?></dd>
|
||||
|
||||
114
frontend/views/transfer/customercart.php
Normal file
114
frontend/views/transfer/customercart.php
Normal 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>
|
||||
@ -72,7 +72,8 @@ td.name {
|
||||
<th>F. mód</th>
|
||||
<th>Fizetve</th>
|
||||
<th>Kassza</th>
|
||||
<th>Felhasználó</th>
|
||||
<th>Kiadta</th>
|
||||
<th>Fizette</th>
|
||||
<th>Vásárló</th>
|
||||
<th>Kategória</th>
|
||||
<th>Termék</th>
|
||||
@ -90,6 +91,7 @@ td.name {
|
||||
<td><?php echo $p['product_paid_at']?> </td>
|
||||
<td><?php echo $p['account_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['product_category_name'] ?></td>
|
||||
<td><?php echo $p['product_name'] ?></td>
|
||||
|
||||
@ -71,7 +71,8 @@ td.name {
|
||||
<th>Kiadva</th>
|
||||
<th>Fizetve</th>
|
||||
<th>Kassza</th>
|
||||
<th>Felhasználó</th>
|
||||
<th>Kiadta</th>
|
||||
<th>Fizette</th>
|
||||
<th>Vendég</th>
|
||||
<th>Bérlet típus</th>
|
||||
<th>Státusz</th>
|
||||
@ -88,6 +89,7 @@ td.name {
|
||||
<td><?php echo $t['ticket_paid_at']?> </td>
|
||||
<td><?php echo $t['account_name']?> </td>
|
||||
<td><?php echo $t['user_name']?> </td>
|
||||
<td><?php echo $t['paid_by_name']?> </td>
|
||||
<td><?php echo $t['customer_name']?> </td>
|
||||
<td><?php echo $t['ticket_type_name'] ?></td>
|
||||
<td><?php echo Ticket::toStatusName( $t['ticket_status'] ) ?></td>
|
||||
|
||||
@ -24,7 +24,7 @@ $this->registerJs ( 'new TransferUserCart( '. json_encode($options).');' );
|
||||
);
|
||||
|
||||
?>
|
||||
<h1>Kosár</h1>
|
||||
<h1>Recepció kosár</h1>
|
||||
<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") ?>
|
||||
@ -33,13 +33,18 @@ $this->registerJs ( 'new TransferUserCart( '. json_encode($options).');' );
|
||||
<span>Összesen:</span>
|
||||
<span class="selected-money"><?php echo $model->money ?></span>
|
||||
<span> Ft</span>
|
||||
<?php echo $form->field($model, "money" , [ ])->hiddenInput(); ?>
|
||||
<?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([
|
||||
@ -53,6 +58,19 @@ echo GridView::widget([
|
||||
},
|
||||
'format' => 'raw'
|
||||
],
|
||||
[
|
||||
'value' => 'created_at',
|
||||
'label' => 'Kiadva',
|
||||
'format' => 'datetime'
|
||||
],
|
||||
[
|
||||
'value' => 'user.username',
|
||||
'label' => 'Kiadta',
|
||||
],
|
||||
[
|
||||
'value' => 'accountName',
|
||||
'label' => 'Kassza'
|
||||
],
|
||||
[
|
||||
'value' => 'transferTypeName',
|
||||
'label' => 'Típus'
|
||||
@ -85,6 +103,8 @@ echo GridView::widget([
|
||||
<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>
|
||||
63
frontend/web/js/transfer.customercart.js
Normal file
63
frontend/web/js/transfer.customercart.js
Normal 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');
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@ -8,6 +8,23 @@ function TransferUserCart(o){
|
||||
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(){
|
||||
@ -20,6 +37,28 @@ function TransferUserCart(o){
|
||||
});
|
||||
$('#usercartform-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');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user