fitness-web/frontend/models/TicketCreate.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' ));
}
}
}