add change card, add customer tab

This commit is contained in:
2016-01-25 23:09:43 +01:00
parent 8d29f47d49
commit 9fb349ee64
19 changed files with 241 additions and 38 deletions

View File

@@ -4,6 +4,9 @@ namespace frontend\models;
use Yii;
use common\models\Customer;
use common\models\Card;
use common\components\Helper;
use common\models\Ticket;
/**
* This is the model class for table "customer".
@@ -40,6 +43,12 @@ class CustomerUpdate extends \common\models\Customer
public $password_plain;
public $password_repeat;
public $replacementCardNumber;
public $replacementCard;
public $originalCard;
/**
* @inheritdoc
*/
@@ -59,7 +68,9 @@ class CustomerUpdate extends \common\models\Customer
// [['cardNumber'], 'validateCustomerCard' ],
[['partnerCardNumber'], 'string', 'max' => 10],
[['partnerCardNumber'], 'validatePartnerCard' ],
// [['partnerCardNumber'], 'validatePartnerCard' ],
[['replacementCardNumber'], 'filter', 'filter' => function($value){return Helper::fixAsciiChars($value);}],
[['replacementCardNumber'], 'validateReplacementCard' ],
[['name'], 'required' ],
[['name'], 'string', 'max' => 128],
@@ -115,6 +126,43 @@ class CustomerUpdate extends \common\models\Customer
public function validatePartnerCard($a,$p){
// Customer::find()->andWhere( [$this->cardNumber )
}
public function validateReplacementCard($a,$p){
$query = Card::find();
Card::addCardNumberCondition($query, $this->replacementCardNumber);
$rcard = $query->one();
if ( !isset($rcard) ){
\Yii::info("csere kártya nem található");
$this->addError($a,"Csere kártya nem található");
return;
}
\Yii::info("csere kártya megtalálva");
$customer = $rcard->customer;
if ( isset($customer) ){
\Yii::info("A csere kártyát már valaki használja!");
$this->addError($a ,"A csere kártya már használatban van");
return;
}
\Yii::info("A csere kártyát megfelel!");
$this->replacementCard = $rcard;
}
public function beforeSave($insert){
parent::beforeSave($insert);
if ( isset($this->replacementCard ) ){
$this->originalCard = $this->card;
$this->id_customer_card = $this->replacementCard->id_card;
}
return true;
}
public function afterSave($insert, $changedAttributes){
if ( isset($this->replacementCard)){
Ticket::updateAll( ['id_card' => $this->replacementCard->id_card ], ['id_card' => $this->originalCard->id_card] );
}
}
}