fix ticket discount calc on create
This commit is contained in:
parent
e9bdcb715d
commit
20d57fd3cf
@ -430,6 +430,9 @@ class Transfer extends \common\models\BaseFitnessActiveRecord {
|
||||
|
||||
return $transfer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public static function modelsToArray($transfers, $default = []) {
|
||||
if ($transfers == null) {
|
||||
return $default;
|
||||
|
||||
@ -26,6 +26,7 @@ class TicketCreate extends Ticket{
|
||||
public $_account;
|
||||
public $_discount;
|
||||
public $_transfer;
|
||||
public $_ticketType;
|
||||
|
||||
|
||||
public $customer;
|
||||
@ -92,6 +93,7 @@ class TicketCreate extends Ticket{
|
||||
|
||||
public function validateTicketType($attribute,$params){
|
||||
$type = TicketType::findOne($this->id_ticket_type);
|
||||
$this->_ticketType = $type;
|
||||
if ( !isset($type)) {
|
||||
$this->addError($attribute,Yii::t('frontend/ticket' , 'Invalid ticket type' ));
|
||||
}else{
|
||||
@ -185,8 +187,28 @@ class TicketCreate extends Ticket{
|
||||
}
|
||||
|
||||
protected function addTransfer(){
|
||||
$transfer = Transfer::createTicketTransfer($this->_account, $this->_discount, null, 1, $this);
|
||||
//$transfer = Transfer::createTicketTransfer($this->_account, $this->_discount, null, 1, $this);
|
||||
|
||||
|
||||
$transfer = new Transfer();
|
||||
|
||||
$transfer->type = Transfer::TYPE_TICKET;
|
||||
$transfer->direction = Transfer::DIRECTION_IN;
|
||||
|
||||
$transfer->id_object = $this->id_ticket;
|
||||
|
||||
$transfer->item_price = $this->_ticketType->price_brutto;
|
||||
$transfer->count = 1;
|
||||
|
||||
if (isset ( $this->_discount )) {
|
||||
$transfer->id_discount = $this->_discount->id_discount;
|
||||
}
|
||||
|
||||
|
||||
$transfer->money = $this->price_brutto;
|
||||
|
||||
$transfer->id_account = $this->_account->id_account;
|
||||
|
||||
$status = Transfer::STATUS_PAID;
|
||||
if ( $this->isAppendToUserCart() ){
|
||||
$status = Transfer::STATUS_NOT_PAID;
|
||||
@ -206,10 +228,15 @@ class TicketCreate extends Ticket{
|
||||
}
|
||||
$transfer->id_user = \Yii::$app->user->id;
|
||||
$transfer->id_customer = $this->customer->id_customer;
|
||||
$transfer->save();
|
||||
if ( !$transfer->save(false) ){
|
||||
\Yii::error("Nem sikerült mentenei a bérlet tranzakció objektumot!");
|
||||
throw new \Exception("Nem sikerült menteni a bérlet tranzakciót");
|
||||
}
|
||||
$this->_transfer = $transfer;
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected function addToCart(){
|
||||
if ( $this->isAddToCart()){
|
||||
$item = new UserSoldItem();
|
||||
@ -242,7 +269,10 @@ class TicketCreate extends Ticket{
|
||||
$item = new UserSoldItem();
|
||||
$item->id_transfer = $this->_transfer->id_transfer;
|
||||
$item->id_user = \Yii::$app->user->id;
|
||||
$item->save(false);
|
||||
if ( !$item->save(false) ){
|
||||
\Yii::error("Nem sikerült menteni a bérletet! Recepció kosár hozzárendelés sikertelen!");
|
||||
throw new \Exception("Nem sikerült menteni a bérletet! Recepció kosár hozzárendelés sikertelen!");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -251,7 +281,11 @@ class TicketCreate extends Ticket{
|
||||
$item = new ShoppingCart();
|
||||
$item->id_customer = $this->customer->id_customer;
|
||||
$item->id_transfer = $this->_transfer->id_transfer;
|
||||
$item->save(false);
|
||||
if ( !$item->save(false) ){
|
||||
\Yii::error("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!");
|
||||
throw new \Exception("Nem sikerült menteni a bérletet! Vendég kosár hozzárendelés sikertelen!");
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user