76 lines
2.0 KiB
PHP
76 lines
2.0 KiB
PHP
<?php
|
|
namespace frontend\models;
|
|
|
|
use common\models\Ticket;
|
|
use common\models\TicketType;
|
|
use common\models\Account;
|
|
use common\models\Discount;
|
|
|
|
|
|
class TicketCreate extends Ticket{
|
|
|
|
public function rules()
|
|
{
|
|
return [
|
|
/////////////////////
|
|
//ticket type
|
|
/////////////////////
|
|
[[ 'id_ticket_type'], 'required'],
|
|
[[ 'id_ticket_type'], 'integer'],
|
|
[[ 'id_ticket_type'], 'validateTicketType'],
|
|
/////////////////////
|
|
//id_account
|
|
/////////////////////
|
|
[[ 'id_account'], 'required'],
|
|
[[ 'id_account'], 'integer'],
|
|
[[ 'id_account'], 'validateAccount'],
|
|
/////////////////////
|
|
//id_discount
|
|
/////////////////////
|
|
[[ 'id_discount'], 'integer'],
|
|
[[ 'id_discount'], 'validateDiscount'],
|
|
/////////////////////
|
|
// start and end date
|
|
/////////////////////
|
|
[['start', 'end' ], 'required'],
|
|
[['start', 'end' ], 'date'],
|
|
/////////////////////
|
|
//id_account
|
|
/////////////////////
|
|
[[ 'max_usage_count'], 'required'],
|
|
[[ 'max_usage_count'], 'integer'],
|
|
/////////////////////
|
|
//price
|
|
/////////////////////
|
|
[[ 'price_brutto'], 'required'],
|
|
[[ 'price_brutto'], 'integer'],
|
|
/////////////////////
|
|
//comment
|
|
/////////////////////
|
|
[['comment'], 'required'],
|
|
[['comment'], 'string', 'max' => 255]
|
|
];
|
|
}
|
|
|
|
|
|
public function validateTicketType($attribute,$params){
|
|
$type = TicketType::findOne($this->id_ticket_type);
|
|
if ( !isset($type)) {
|
|
$this->addError($attribute,Yii::t('frontend/ticket' , 'Invalid ticket type' ));
|
|
}
|
|
}
|
|
public function validateAccount($attribute,$params){
|
|
$acc = Account::findOne($this->id_account);
|
|
if ( !isset($acc)) {
|
|
$this->addError($attribute,Yii::t('frontend/ticket' , 'Invalid transfer' ));
|
|
}
|
|
}
|
|
public function validateDiscount($attribute,$params){
|
|
$discount = Discount::findOne($this->id_discount);
|
|
if ( !isset($discount)) {
|
|
$this->addError($attribute,Yii::t('frontend/ticket' , 'Invalid discount' ));
|
|
}
|
|
}
|
|
|
|
|
|
} |