bug fixing
This commit is contained in:
49
common/modules/event/models/EventCreate.php
Normal file
49
common/modules/event/models/EventCreate.php
Normal file
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace common\modules\event\models;
|
||||
|
||||
use common\components\RoleDefinition;
|
||||
use common\models\Event;
|
||||
use common\models\Trainer;
|
||||
|
||||
class EventCreate extends Event
|
||||
{
|
||||
|
||||
public function rules()
|
||||
{
|
||||
$basicRules = parent::rules();
|
||||
$basicRules[] = [
|
||||
['id_trainer'] ,'validateTrainers'
|
||||
];
|
||||
return $basicRules;
|
||||
}
|
||||
|
||||
|
||||
public function validateTrainers($attribute, $params){
|
||||
|
||||
$query = Trainer::find();
|
||||
if (RoleDefinition::isAdmin() == false) {
|
||||
$query = $query->innerJoinWith('userTrainerAssignments')
|
||||
->andWhere(
|
||||
[
|
||||
'user_trainer_assignment.id_user' => \Yii::$app->user->id
|
||||
]
|
||||
);
|
||||
}
|
||||
$trainers = $query->all();
|
||||
|
||||
$trainerAllowed = false;
|
||||
foreach ($trainers as $trainer){
|
||||
if ( $trainer->id == $this->id_trainer){
|
||||
$trainerAllowed = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( !$trainerAllowed ){
|
||||
$this->addError($attribute,"Hibás paraméter: edző");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -65,6 +65,7 @@ class EventSearch extends Event
|
||||
'trainer.name as trainer_name',
|
||||
'room.name as room_name',
|
||||
'event_type.name as event_type_name',
|
||||
'event_type.theme as event_type_theme',
|
||||
new Expression('count(event_registration.id) as registration_count')
|
||||
]);
|
||||
|
||||
@@ -87,6 +88,11 @@ class EventSearch extends Event
|
||||
]
|
||||
);
|
||||
|
||||
if ( !RoleDefinition::isAdmin()){
|
||||
$query->innerJoin('user_trainer_assignment', 'user_trainer_assignment.id_trainer = trainer.id' );
|
||||
$query->andWhere(['user_trainer_assignment.id_user' => \Yii::$app->user->id ]);
|
||||
}
|
||||
|
||||
|
||||
$dataProvider = new ActiveDataProvider([
|
||||
'query' => $query,
|
||||
|
||||
Reference in New Issue
Block a user