Improve Event management

This commit is contained in:
Roland Schneider
2019-01-15 07:28:43 +01:00
parent e3b6bc08a7
commit 8decd1bc79
15 changed files with 695 additions and 278 deletions

View File

@@ -21,16 +21,15 @@ class EventSearch extends Event
public $eventTypeName;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['id','roomName', 'trainerName','eventTypeName'], 'string' , 'max' => 250],
[['startDateString',], 'date', 'format' => Yii::$app->formatter->datetimeFormat, 'timestampAttribute' => 'start', 'timeZone' => 'UTC'],
[['endDateString',], 'date', 'format' => Yii::$app->formatter->datetimeFormat, 'timestampAttribute' => 'end' , 'timeZone' => 'UTC'],
[['id', 'roomName', 'trainerName', 'eventTypeName'], 'string', 'max' => 250],
[['startDateString',], 'date', 'format' => Yii::$app->formatter->datetimeFormat, 'timestampAttribute' => 'start', 'timeZone' => 'UTC'],
[['endDateString',], 'date', 'format' => Yii::$app->formatter->datetimeFormat, 'timestampAttribute' => 'end', 'timeZone' => 'UTC'],
];
}
@@ -60,6 +59,8 @@ class EventSearch extends Event
'event.end as event_end',
'event.created_at as event_created_at',
'event.updated_at as event_updated_at',
'event.deleted_at as event_deleted_at',
'event.seat_count as event_seat_count',
'trainer.name as trainer_name',
'room.name as room_name',
'event_type.name as event_type_name',
@@ -70,7 +71,7 @@ class EventSearch extends Event
$query->innerJoin('trainer', 'event.id_trainer = trainer.id');
$query->innerJoin('room', 'event.id_room = room.id');
$query->innerJoin('event_type', 'event_type.id = event.id_event_type');
$query->leftJoin('event_registration', 'event_registration.id_event = event.id' );
$query->leftJoin('event_registration', 'event_registration.id_event = event.id');
$query->groupBy(
[
'event_id',
@@ -78,6 +79,7 @@ class EventSearch extends Event
'event_end',
'event_created_at',
'event_updated_at',
'event_deleted_at',
'trainer_name',
'room_name',
'event_type_name',
@@ -100,10 +102,12 @@ class EventSearch extends Event
['customer_name'],
['event_created_at'],
['event_updated_at'],
['event_deleted_at'],
['registration_count'],
]),
]
]) ;
['event_seat_count'],
]),
]
]);
$this->load($params);
@@ -117,32 +121,32 @@ class EventSearch extends Event
'event.id' => $this->id,
]);
$query->andFilterWhere(
[ 'room.id' => $this->roomName]
['room.id' => $this->roomName]
);
$query->andFilterWhere(
[ 'trainer.id' => $this->trainerName]
['trainer.id' => $this->trainerName]
);
$query->andFilterWhere(
[ 'event_type.id' => $this->eventTypeName]
['event_type.id' => $this->eventTypeName]
);
if ( isset($this->start)){
if (isset($this->start)) {
$query->andWhere(
[
'>=',
'start' ,
$this->start
'>=',
'start',
$this->start
]
);
}
if ( isset($this->end)){
if (isset($this->end)) {
$query->andWhere(
[
'<=',
'end' ,
'end',
$this->end
]
);