add frontend ticket changes

This commit is contained in:
2015-10-08 17:18:18 +02:00
parent c3ae414bba
commit 11e7c85cf3
13 changed files with 294 additions and 70 deletions

View File

@@ -70,4 +70,58 @@ class Ticket extends \common\models\BaseFitnessActiveRecord
'updated_at' => Yii::t('common/ticket', 'Updated At'),
];
}
public function getCard(){
return $this->hasOne( Card::className(), ["id_card" =>"id_card" ] );
}
public function getUser(){
return $this->hasOne( User::className(), ["id" =>"id_user" ] );
}
public function getTicketType(){
return $this->hasOne( TicketType::className(), ["id_ticket_type" =>"id_ticket_type" ] );
}
public function getDiscount(){
return $this->hasOne( Discount::className(), ["id_discount" =>"id_discount" ] );
}
public function getAccount() {
return $this->hasOne ( Account::className (), [
'id_account' => 'id_account'
] );
}
public function getAccountName() {
$result = "";
$account = $this->account;
if ( isset($account) ){
$result = $this->account->name;
}
return $result;
}
public function getDiscountName() {
$result = "";
$discount = $this->discount;
if ( isset($discount) ){
$result = $this->discount->name;
}
return $result;
}
public function getTicketTypeName() {
$result = "";
$ticketType = $this->ticketType;
if ( isset($ticketType) ){
$result = $ticketType->name;
}
return $result;
}
public function getUserName() {
$result = "";
$user = $this->user;
if ( isset($user) ){
$result = $user->username;
}
return $result;
}
}

View File

@@ -148,6 +148,42 @@ class Transfer extends \yii\db\ActiveRecord
return $transfer;
}
/**
* @param $account common\models\Account
* @param $discount common\models\Discount
* @param $currency common\models\Currency
* @param $ticket common\models\Ticket
* */
public static function createTicketTransfer($account, $discount, $currency, $count,$ticket ){
$transfer = new Transfer();
$transfer->type = Transfer::TYPE_TICKET;
$transfer->id_object = $ticket->id_ticket;
$transfer->item_price = $ticket->price_brutto;
$totalPrice = $transfer->item_price;
$transfer->count = $count;
$totalPrice = $totalPrice * $count;
if ( isset( $discount ) ){
$transfer->id_discount = $discount->id_discount;
$totalPrice = Discount::applyDiscount( $totalPrice, $discount);
}
$transfer->money = $totalPrice;
if ( isset( $currency ) ){
$transfer->rate = $currency->rate;
$transfer->money_currency = Currency::applyCurrency($totalPrice, $currency);
}
$transfer->id_account = $account->id_account;
return $transfer;
}
public static function modelsToArray($transfers,$default = []){
if ( $transfers == null ){
@@ -168,7 +204,13 @@ class Transfer extends \yii\db\ActiveRecord
return $transfer->account->name;
},
'product_name' => function ($transfer) {
return $transfer->product->name;
$result = "";
if ( $transfer->type == Transfer::TYPE_TICKET ){
$result = $transfer->ticket->type->name;
}else{
$result = $transfer->product->name;
}
return $result;
},
'category' => function ($transfer) {
return $transfer->product->productCategoryName;
@@ -183,8 +225,8 @@ class Transfer extends \yii\db\ActiveRecord
$query = Transfer::find();
$query->innerJoinWith('userSoldItem');
$query->andWhere(['user_sold_item.id_user' => $user->id ]);
// $query->innerJoinWith('userSoldItem');
$query->andWhere(['transfer.id_user' => $user->id ]);
$transfers = $query->all();
return $transfers;