add ticket type model + crud ( bérlet típus)
This commit is contained in:
parent
ab885b13e9
commit
db8fca5630
@ -23,19 +23,35 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
'dataProvider' => $dataProvider,
|
||||
'columns' => [
|
||||
'name',
|
||||
'max_usage_count',
|
||||
'price_brutto',
|
||||
'time_unit_type',
|
||||
'max_usage_count',
|
||||
'time_unit_count',
|
||||
'id_account',
|
||||
'flag_student',
|
||||
'status',
|
||||
'created_at',
|
||||
'updated_at',
|
||||
[
|
||||
|
||||
'attribute' =>'time_unit_type',
|
||||
'value' =>'timeUnitHuman',
|
||||
],
|
||||
[
|
||||
'attribute' => 'id_account',
|
||||
'value' => 'accountName',
|
||||
],
|
||||
[
|
||||
'attribute' =>'flag_student',
|
||||
'value' =>function($model, $key, $index, $column){
|
||||
return $model->isStudent() ? Yii::t('common', "Yes") : Yii::t('common', "No") ;
|
||||
},
|
||||
|
||||
],
|
||||
[
|
||||
'attribute' =>'status',
|
||||
'value' =>'statusHuman',
|
||||
],
|
||||
'created_at:datetime',
|
||||
'updated_at:datetime',
|
||||
|
||||
[
|
||||
'class' => 'yii\grid\ActionColumn',
|
||||
'template' =>'{view} {edit}'
|
||||
'template' =>'{view} {update}'
|
||||
|
||||
],
|
||||
],
|
||||
|
||||
@ -4,10 +4,9 @@ use yii\helpers\Html;
|
||||
|
||||
/* @var $this yii\web\View */
|
||||
/* @var $model common\models\TicketType */
|
||||
/* @var $accounts common\models\Account[] */
|
||||
|
||||
$this->title = Yii::t('common/ticket_type', 'Update {modelClass}: ', [
|
||||
'modelClass' => 'Ticket Type',
|
||||
]) . ' ' . $model->name;
|
||||
$this->title = Yii::t('common/ticket_type', 'Update ticket type:' ) . ' ' . $model->name;
|
||||
$this->params['breadcrumbs'][] = ['label' => Yii::t('common/ticket_type', 'Ticket Types'), 'url' => ['index']];
|
||||
$this->params['breadcrumbs'][] = ['label' => $model->name, 'url' => ['view', 'id' => $model->id_ticket_type]];
|
||||
$this->params['breadcrumbs'][] = Yii::t('common/ticket_type', 'Update');
|
||||
@ -18,6 +17,8 @@ $this->params['breadcrumbs'][] = Yii::t('common/ticket_type', 'Update');
|
||||
|
||||
<?= $this->render('_form', [
|
||||
'model' => $model,
|
||||
'accounts' => $accounts,
|
||||
|
||||
]) ?>
|
||||
|
||||
</div>
|
||||
|
||||
@ -48,10 +48,12 @@ $this->params['breadcrumbs'][] = $this->title;
|
||||
'price_brutto',
|
||||
[
|
||||
'attribute' => 'id_account',
|
||||
'value' => $model->account->name,
|
||||
'label' => Yii::t('common/ticket_type','Account')
|
||||
'value' => $model->accountName,
|
||||
],
|
||||
[
|
||||
'attribute' => 'flag_student',
|
||||
'value' => ( $model->isStudent() ? Yii::t('common', 'Yes' ) : Yii::t('common', 'No' ) ),
|
||||
],
|
||||
'flag_student',
|
||||
[
|
||||
'attribute' => 'status',
|
||||
'value' => $model->statusHuman
|
||||
|
||||
@ -17,18 +17,18 @@
|
||||
* NOTE: this file must be saved in UTF-8 encoding.
|
||||
*/
|
||||
return [
|
||||
'Aktív' => '',
|
||||
'Are you sure you want to delete this item?' => '',
|
||||
'Delete' => '',
|
||||
'Felhasználók' => '',
|
||||
'Inaktív' => '',
|
||||
'Jelszó' => '',
|
||||
'Jelszó és jelszó újra nem egyezik!' => '',
|
||||
'Jelszó újra' => '',
|
||||
'Keresés' => '',
|
||||
'Mentés' => '',
|
||||
'Update' => '',
|
||||
'Update {modelClass}: ' => '',
|
||||
'Users' => '',
|
||||
'Új felhasználó' => '',
|
||||
'Aktív' => 'Aktív',
|
||||
'Are you sure you want to delete this item?' => 'Biztosan törölni szeretné ezt az element?',
|
||||
'Delete' => 'Törlés',
|
||||
'Felhasználók' => 'Felhasználók',
|
||||
'Inaktív' => 'Inaktív',
|
||||
'Jelszó' => 'Jelszó',
|
||||
'Jelszó és jelszó újra nem egyezik!' => 'Jelszó és jelszó újra nem egyezik!',
|
||||
'Jelszó újra' => 'Jelszó újra',
|
||||
'Keresés' => 'Keresés',
|
||||
'Mentés' => 'Mentés',
|
||||
'Update' => 'Update',
|
||||
'Update {modelClass}: ' => '{modelClass} módosítása: ',
|
||||
'Users' => 'Felhasználók',
|
||||
'Új felhasználó' => 'Új felhasználó',
|
||||
];
|
||||
|
||||
@ -17,5 +17,6 @@
|
||||
* NOTE: this file must be saved in UTF-8 encoding.
|
||||
*/
|
||||
return [
|
||||
'Create' => 'Mentés',
|
||||
'No' => 'Nem',
|
||||
'Yes' => 'Igen',
|
||||
];
|
||||
|
||||
@ -18,11 +18,9 @@
|
||||
*/
|
||||
return [
|
||||
'Active' => 'Aktív',
|
||||
'Are you sure you want to delete this item?' => 'Biztosan törölni szeretné a termék kategóriát?',
|
||||
'Create' => 'Mentés',
|
||||
'Create Product Category' => 'Új termék kategória',
|
||||
'Created At' => 'Létrehozás ideje',
|
||||
'Delete' => 'Törlés',
|
||||
'Id Product Category' => 'Azonosító',
|
||||
'Inactive' => 'Inaktív',
|
||||
'Name' => 'Név',
|
||||
|
||||
48
common/messages/hu/common/ticket_type.php
Normal file
48
common/messages/hu/common/ticket_type.php
Normal file
@ -0,0 +1,48 @@
|
||||
<?php
|
||||
/**
|
||||
* Message translations.
|
||||
*
|
||||
* This file is automatically generated by 'yii message' command.
|
||||
* It contains the localizable messages extracted from source code.
|
||||
* You may modify this file by translating the extracted messages.
|
||||
*
|
||||
* Each array element represents the translation (value) of a message (key).
|
||||
* If the value is empty, the message is considered as not translated.
|
||||
* Messages that no longer need translation will have their translations
|
||||
* enclosed between a pair of '@@' marks.
|
||||
*
|
||||
* Message string can be used with plural forms format. Check i18n section
|
||||
* of the guide for details.
|
||||
*
|
||||
* NOTE: this file must be saved in UTF-8 encoding.
|
||||
*/
|
||||
return [
|
||||
'Update ticket type:' => 'Bérlet módosítása: ',
|
||||
'Active' => 'Aktív',
|
||||
'Create' => 'Mentés',
|
||||
'Create Ticket Type' => 'Új bérlet típus',
|
||||
'Created At' => 'Létrehozás ideje',
|
||||
'Day' => 'Nap',
|
||||
'Flag Student' => 'Diák',
|
||||
'Id Account' => 'Kassza',
|
||||
'Id Ticket Type' => 'Bérlet típus',
|
||||
'Inactive' => 'Inaktív',
|
||||
'Invalid account (inactive)!' => 'Érvénytelen kassza (inaktív)!',
|
||||
'Invalid account!' => 'Érvénytelen kassza!',
|
||||
'Max Usage Count' => 'Akalmak',
|
||||
'Month' => 'Hónap',
|
||||
'Name' => 'Név',
|
||||
'Normal' => 'Normál',
|
||||
'Price Brutto' => 'Bruttó ár',
|
||||
'Reference month' => 'Tárgyhónap',
|
||||
'Reset' => 'Reset',
|
||||
'Search' => 'Keresés',
|
||||
'Status' => 'Státusz',
|
||||
'Student' => 'Diák',
|
||||
'Ticket Types' => 'Bérlet típusok',
|
||||
'Time Unit Count' => 'Idő egység mennyiség',
|
||||
'Time Unit Type' => 'Idő egység típus',
|
||||
'Type' => 'Típus',
|
||||
'Update' => 'Módosítás',
|
||||
'Updated At' => 'Módosítás ideje',
|
||||
];
|
||||
@ -103,4 +103,9 @@ class Account extends \yii\db\ActiveRecord
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function isInactive(){
|
||||
return $this->status == self::STATUS_DELETED;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -20,37 +20,74 @@ use Yii;
|
||||
* @property string $created_at
|
||||
* @property string $updated_at
|
||||
*/
|
||||
class TicketType extends \common\models\BaseFitnessActiveRecord
|
||||
{
|
||||
|
||||
class TicketType extends \common\models\BaseFitnessActiveRecord {
|
||||
const STATUS_DELETED = 0;
|
||||
const STATUS_ACTIVE = 10;
|
||||
|
||||
CONST TIME_UNIT_DAY = 10;
|
||||
CONST TIME_UNIT_MONTH = 20;
|
||||
CONST TIME_UNIT_MONTH_REFERENCE = 30;
|
||||
|
||||
CONST TIME_UNIT_DAY = 10;//nap
|
||||
CONST TIME_UNIT_MONTH = 20;//hónap
|
||||
CONST TIME_UNIT_MONTH_REFERENCE = 30; //tárgy hónap
|
||||
const TYPE_NORMAL = 10;
|
||||
const TYPE_DEFAULT = self::TYPE_NORMAL;
|
||||
|
||||
const FLAG_STUDENT_OFF = 0;
|
||||
const FLAG_STUDENT_ON = 1;
|
||||
|
||||
/**
|
||||
* @inheritdoc
|
||||
*/
|
||||
public static function tableName()
|
||||
{
|
||||
public static function tableName() {
|
||||
return 'ticket_type';
|
||||
}
|
||||
|
||||
/**
|
||||
* @formatter:off
|
||||
* @inheritdoc
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
[['name', 'id_account'], 'required'],
|
||||
[['type', 'max_usage_count', 'time_unit_type', 'time_unit_count', 'price_brutto', 'id_account', 'flag_student', 'status'], 'integer'],
|
||||
[['created_at', 'updated_at'], 'safe'],
|
||||
[['name'], 'string', 'max' => 64]
|
||||
[['name', 'id_account','time_unit_count','type' ,'time_unit_type' ,'max_usage_count','price_brutto'], 'required'],
|
||||
////////////////
|
||||
//price brutto
|
||||
////////////////
|
||||
[[ 'price_brutto', ], 'integer'],
|
||||
////////////////
|
||||
//time_unit_type
|
||||
////////////////
|
||||
[['time_unit_type',], 'integer'],
|
||||
[['time_unit_type',], 'in', 'range' => [ self::TIME_UNIT_DAY,self::TIME_UNIT_MONTH,self::TIME_UNIT_MONTH_REFERENCE] ],
|
||||
////////////////
|
||||
//time_unit_count
|
||||
////////////////
|
||||
[['time_unit_count',], 'integer','min' => 1 , 'max' => 100],
|
||||
////////////////
|
||||
//max_usage_count
|
||||
////////////////
|
||||
[['max_usage_count',], 'integer','min' => 0 , 'max' => 10000],
|
||||
////////////////
|
||||
//flag_student
|
||||
////////////////
|
||||
[['flag_student',], 'integer'],
|
||||
[['flag_student',], 'in', 'range' => [ self::FLAG_STUDENT_OFF, self::FLAG_STUDENT_ON ]],
|
||||
////////////////
|
||||
//status
|
||||
////////////////
|
||||
[['status',], 'integer'],
|
||||
[['status',], 'in', 'range' => [ self::STATUS_ACTIVE, self::STATUS_DELETED ]],
|
||||
////////////////
|
||||
//type
|
||||
////////////////
|
||||
[['type',], 'integer'],
|
||||
[['type',], 'in', 'range' => [ self::TYPE_NORMAL ]],
|
||||
////////////////
|
||||
//name
|
||||
////////////////
|
||||
[['name'], 'string', 'max' => 64],
|
||||
////////////////
|
||||
//id_account
|
||||
////////////////
|
||||
[['id_account',], 'integer'],
|
||||
[['id_account',], 'validateIdAccount'],
|
||||
];
|
||||
}
|
||||
|
||||
@ -75,14 +112,15 @@ class TicketType extends \common\models\BaseFitnessActiveRecord
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @formatter:on
|
||||
*/
|
||||
static function statuses() {
|
||||
return [
|
||||
self::STATUS_ACTIVE => Yii::t ( 'common/ticket_type', 'Active' ),
|
||||
self::STATUS_DELETED => Yii::t('common/ticket_type', 'Inactive'),
|
||||
self::STATUS_DELETED => Yii::t ( 'common/ticket_type', 'Inactive' )
|
||||
];
|
||||
}
|
||||
|
||||
public function getStatusHuman() {
|
||||
$result = null;
|
||||
$s = self::statuses ( $this->status );
|
||||
@ -91,16 +129,13 @@ class TicketType extends \common\models\BaseFitnessActiveRecord
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
static function timeUnitTypes() {
|
||||
return [
|
||||
self::TIME_UNIT_DAY => Yii::t('common/ticket_type', 'Nap'),
|
||||
self::TIME_UNIT_MONTH => Yii::t('common/ticket_type', 'Hónap'),
|
||||
self::TIME_UNIT_MONTH_REFERENCE => Yii::t('common/ticket_type', 'Tárgyhónap'),
|
||||
self::TIME_UNIT_DAY => Yii::t ( 'common/ticket_type', 'Day' ),
|
||||
self::TIME_UNIT_MONTH => Yii::t ( 'common/ticket_type', 'Month' ),
|
||||
self::TIME_UNIT_MONTH_REFERENCE => Yii::t ( 'common/ticket_type', 'Reference month' )
|
||||
];
|
||||
}
|
||||
|
||||
public function getTimeUnitHuman() {
|
||||
$result = null;
|
||||
$s = self::timeUnitTypes ( $this->time_unit_type );
|
||||
@ -111,10 +146,9 @@ class TicketType extends \common\models\BaseFitnessActiveRecord
|
||||
}
|
||||
static function ticketTypes() {
|
||||
return [
|
||||
self::TYPE_NORMAL => Yii::t('common/ticket_type', 'Normal'),
|
||||
self::TYPE_NORMAL => Yii::t ( 'common/ticket_type', 'Normal' )
|
||||
];
|
||||
}
|
||||
|
||||
public function getTypeHuman() {
|
||||
$result = null;
|
||||
$s = self::ticketTypes ();
|
||||
@ -123,10 +157,41 @@ class TicketType extends \common\models\BaseFitnessActiveRecord
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
public function getAccount() {
|
||||
return $this->hasOne(Account::className(), [ 'id_account' => 'id_account' ]);
|
||||
return $this->hasOne ( Account::className (), [
|
||||
'id_account' => 'id_account'
|
||||
] );
|
||||
}
|
||||
public function getAccountName() {
|
||||
return $this->account->name;
|
||||
}
|
||||
|
||||
public function isStudent(){
|
||||
return $this->flag_student == ( self::FLAG_STUDENT_ON);
|
||||
}
|
||||
|
||||
|
||||
public function validateIdAccount($attribute,$params){
|
||||
$account = null;
|
||||
if ( !$this->hasErrors("id_account")){
|
||||
$account = Account::findOne($this->$attribute);
|
||||
|
||||
if ( !isset($account)){
|
||||
$this->addError($attribute,Yii::t('common/ticket_type','Invalid account!'));
|
||||
}else{
|
||||
|
||||
//on update
|
||||
if ( !$this->isNewRecord ){
|
||||
//if selected account is inactive ...
|
||||
if ( $account->isInactive() ){
|
||||
//... and changed
|
||||
if ( $this->isAttributeChanged('id_account')){
|
||||
$this->addError($attribute,Yii::t('common/ticket_type','Invalid account (inactive)!'));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user