add admin timetable
This commit is contained in:
30
common/modules/event/widgets/day/TimeTableMonthDayView.php
Normal file
30
common/modules/event/widgets/day/TimeTableMonthDayView.php
Normal file
@@ -0,0 +1,30 @@
|
||||
<?php
|
||||
namespace common\modules\event\widgets\day;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use yii\base\Widget;
|
||||
|
||||
|
||||
/** @noinspection PhpUnused */
|
||||
|
||||
/**
|
||||
* Class TimeTableMonthDayView
|
||||
* @package common\modules\event\widgets
|
||||
*
|
||||
* @property TimeTableMonthDay $day
|
||||
*/
|
||||
class TimeTableMonthDayView extends \yii\bootstrap\Widget
|
||||
{
|
||||
public $day;
|
||||
|
||||
public function init(){
|
||||
parent::init();
|
||||
}
|
||||
|
||||
|
||||
public function run(){
|
||||
return $this->render('_day', [ 'day' => $this->day]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
20
common/modules/event/widgets/day/views/_day.php
Normal file
20
common/modules/event/widgets/day/views/_day.php
Normal file
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/* @var $day TimeTableMonthDay */
|
||||
|
||||
use common\models\Event;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use common\modules\event\widgets\event\EventView;
|
||||
|
||||
?>
|
||||
<h3>
|
||||
<?= $day->date->format('d') ?>
|
||||
</h3>
|
||||
|
||||
<?php if (count($day->events) === 0) {
|
||||
echo EventView::widget(['event' => null]);
|
||||
} else {
|
||||
/** @var Event $event */
|
||||
foreach ($day->events as $event) {
|
||||
echo EventView::widget(['event' => $event]);
|
||||
}
|
||||
} ?>
|
||||
45
common/modules/event/widgets/event/EventView.php
Normal file
45
common/modules/event/widgets/event/EventView.php
Normal file
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
namespace common\modules\event\widgets\event;
|
||||
use common\models\Event;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use yii\base\Widget;
|
||||
|
||||
|
||||
/** @noinspection PhpUnused */
|
||||
|
||||
/**
|
||||
* Class TimeTableMonthDayView
|
||||
* @package common\modules\event\widgets
|
||||
*
|
||||
* @property Event $event
|
||||
*/
|
||||
class EventView extends \yii\bootstrap\Widget
|
||||
{
|
||||
public $event;
|
||||
public $start;
|
||||
public $end;
|
||||
|
||||
public function init(){
|
||||
parent::init();
|
||||
if ( isset($this->event )){
|
||||
$this->start = new \DateTime();
|
||||
$this->start->setTimestamp($this->event->start);
|
||||
$this->end = new \DateTime();
|
||||
$this->end->setTimestamp($this->event->end);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public function run(){
|
||||
return $this->render('_event',
|
||||
[
|
||||
'event' => $this->event,
|
||||
'start' => $this->start,
|
||||
'end' => $this->end
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
33
common/modules/event/widgets/event/views/_event.php
Normal file
33
common/modules/event/widgets/event/views/_event.php
Normal file
@@ -0,0 +1,33 @@
|
||||
<?php
|
||||
/* @var $event Event */
|
||||
/* @var $start DateTime */
|
||||
/* @var $end DateTime */
|
||||
|
||||
use common\models\Event;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use yii\helpers\Html;
|
||||
use yii\helpers\Url;
|
||||
|
||||
if (!isset($event)) {
|
||||
?>
|
||||
<div class="alert alert-info">Nincs esemény</div>
|
||||
<?php
|
||||
} else {
|
||||
?>
|
||||
<div class="alert alert-success">
|
||||
<?= Html::a( $start->format('H:i') .'-' . $end->format('H:i') , Url::toRoute(['event/update', 'id' => $event->id ] ) ) ?>
|
||||
<br>
|
||||
<?= Html::a( $event->eventType->name , Url::toRoute(['/event-type/view', 'id'=> $event->eventType->id])) ?>
|
||||
<br>
|
||||
<?= Html::a( $event->room->name , Url::toRoute(['/room/view', 'id' => $event->room->id]) )?>
|
||||
<br>
|
||||
<?= Html::a( $event->trainer->name , Url::toRoute(['/trainer/view', 'id' => $event->trainer->id]) )?>
|
||||
<br>
|
||||
<?= $event->eventRegistrationCount ?>
|
||||
/
|
||||
<?= $event->seat_count ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
namespace common\modules\event\widgets\timetable;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use common\modules\event\models\timetable\TimeTableMonthWeek;
|
||||
use common\modules\event\widgets\day\TimeTableMonthDayView;
|
||||
use yii\bootstrap\Widget;
|
||||
|
||||
|
||||
/** @noinspection PhpUnused */
|
||||
|
||||
/**
|
||||
* Class TimeTableMonthDayView
|
||||
* @package common\modules\event\widgets
|
||||
*
|
||||
* @property TimeTableMonthDay $day
|
||||
*/
|
||||
class TimeTableMonthView extends Widget
|
||||
{
|
||||
public $timeTable;
|
||||
|
||||
|
||||
public function run() {
|
||||
return $this->render('_timetable', [ 'timeTable' => $this->timeTable]);
|
||||
}
|
||||
|
||||
|
||||
public static function renderDay($weekDay ){
|
||||
|
||||
/**
|
||||
* @param TimeTableMonthWeek $week
|
||||
* @return string
|
||||
*/
|
||||
return static function ($week) use ($weekDay) {
|
||||
return TimeTableMonthDayView::widget(['day' => $week->getWeekDay($weekDay)]);
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
79
common/modules/event/widgets/timetable/views/_timetable.php
Normal file
79
common/modules/event/widgets/timetable/views/_timetable.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/* @var $timeTable TimeTableMonth */
|
||||
|
||||
use common\models\Event;
|
||||
use common\modules\event\models\timetable\TimeTableMonth;
|
||||
use common\modules\event\models\timetable\TimeTableMonthDay;
|
||||
use common\modules\event\models\timetable\TimeTableMonthWeek;
|
||||
use common\modules\event\widgets\day\TimeTableMonthDayView;
|
||||
use common\modules\event\widgets\event\EventView;
|
||||
use common\modules\event\widgets\timetable\TimeTableMonthView;
|
||||
use yii\grid\ActionColumn;
|
||||
use yii\grid\GridView;
|
||||
|
||||
?>
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
|
||||
?>
|
||||
<?= GridView::widget([
|
||||
'dataProvider' => $timeTable->getWeeksArrayDataProvider(),
|
||||
'columns' => [
|
||||
[
|
||||
'attribute' => 'weekNumber',
|
||||
'label' => '',
|
||||
'value' => static function ($model,$key){
|
||||
return $model->weekNumber;
|
||||
}
|
||||
],
|
||||
[
|
||||
'attribute' => 'monday',
|
||||
'label' => 'Hétfő',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('monday')
|
||||
],
|
||||
[
|
||||
'attribute' => 'tuesday',
|
||||
'label' => 'Kedd',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('tuesday')
|
||||
],
|
||||
|
||||
[
|
||||
'attribute' => 'wednesday',
|
||||
'label' => 'Szerda',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('wednesday')
|
||||
],
|
||||
[
|
||||
'attribute' => 'thursday',
|
||||
'label' => 'Csütörtök',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('thursday')
|
||||
],
|
||||
[
|
||||
'attribute' => 'friday',
|
||||
'label' => 'Péntek',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('friday')
|
||||
],
|
||||
[
|
||||
'attribute' => 'saturday',
|
||||
'format' => 'raw',
|
||||
'label' => 'Szombat',
|
||||
'value' => TimeTableMonthView::renderDay('saturday')
|
||||
],
|
||||
[
|
||||
'attribute' => 'Sunday',
|
||||
'label' => 'Vasárnap',
|
||||
'format' => 'raw',
|
||||
'value' => TimeTableMonthView::renderDay('sunday')
|
||||
],
|
||||
[
|
||||
'class' => ActionColumn::class,
|
||||
'template' => '{view} {update}',
|
||||
],
|
||||
],
|
||||
]) ?>
|
||||
Reference in New Issue
Block a user