64 lines
2.2 KiB
PHP
64 lines
2.2 KiB
PHP
<?php
|
|
|
|
namespace backend\models;
|
|
|
|
use common\models\HuBankAccountValidator;
|
|
use Yii;
|
|
use yii\base\Model;
|
|
use common\models\Card;
|
|
use common\models\Customer;
|
|
use common\models\Ticket;
|
|
use common\models\Account;
|
|
use yii\web\UploadedFile;
|
|
use common\models\TicketInstallmentRequest;
|
|
|
|
/**
|
|
* ContactForm is the model behind the contact form.
|
|
* @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('error', " Nem történt küldésre jelölés! " . $this->getFirstError('items') );
|
|
}
|
|
}
|
|
|
|
} |