desta fix for invalid bankaccount numbers; add virtual key object
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace backend\models;
|
||||
|
||||
use common\models\HuBankAccountValidator;
|
||||
use Yii;
|
||||
use yii\base\Model;
|
||||
use common\models\Card;
|
||||
@@ -16,25 +17,48 @@ use common\models\TicketInstallmentRequest;
|
||||
* @property \Yii\web\UploadedFile $file
|
||||
*/
|
||||
class TicketInstallmentMarkForSendForm extends Model{
|
||||
|
||||
|
||||
public $items;
|
||||
|
||||
|
||||
public function rules(){
|
||||
return [
|
||||
['items', 'each', 'rule' => ['integer']],
|
||||
['items', 'validateBankAccount'],
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public function validateBankAccount($attribute, $params){
|
||||
$items = TicketInstallmentRequest::find()->andWhere([
|
||||
'in', 'id_ticket_installment_request' , $this->items
|
||||
])->all();
|
||||
\Yii::info("validateBankAccount:". count($items));
|
||||
$validator = new HuBankAccountValidator();
|
||||
foreach($items as $item){
|
||||
\Yii::info("validateBankAccount2:". $item->id_ticket_installment_request);
|
||||
/** @var Customer $customer */
|
||||
$customer = $item->customer;
|
||||
\Yii::info("validateBankAccount3:". $customer->username);
|
||||
$isBankAccountValid = $validator->validate($customer->bank_account);
|
||||
if (!$isBankAccountValid){
|
||||
$errorMessage = "";
|
||||
$errorMessage .= "Vendég=".$customer->name;
|
||||
$errorMessage .= "; Kártya=".$customer->card->number;
|
||||
$errorMessage .= "; Megbízás=".$item->id_ticket_installment_request;
|
||||
$this->addError('items', "Hibás bankszámlaszám:" .$errorMessage );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function markForSend(){
|
||||
\Yii::info("mark for send");
|
||||
if ( $this->validate() && isset($this->items ) && is_array($this->items ) ){
|
||||
$updated = 0;
|
||||
$updated = TicketInstallmentRequest::updateAll(['status' => TicketInstallmentRequest::$STATUS_MARKED_TO_SEND ],['in', 'id_ticket_installment_request' , $this->items]);
|
||||
\Yii::$app->session->setFlash('success', $updated . " megbízás küldésre jelölve " );
|
||||
}else{
|
||||
\Yii::$app->session->setFlash('success', " Nem történt küldésre jelölés! " );
|
||||
\Yii::$app->session->setFlash('error', " Nem történt küldésre jelölés! " . $this->getFirstError('items') );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user