backend/group-training : improve delete&copy week

This commit is contained in:
Roland Schneider
2021-10-10 23:01:18 +02:00
parent 5fe59ff1d3
commit 50011a4e4f
14 changed files with 226 additions and 131 deletions

View File

@@ -1,5 +1,6 @@
<?php
namespace common\modules\event\widgets\day;
use common\modules\event\models\copy\CopyWeekContext;
use common\modules\event\models\timetable\TimeTableMonthDay;
use yii\bootstrap\Widget;
@@ -11,13 +12,15 @@ use yii\bootstrap\Widget;
* @package common\modules\event\widgets
*
* @property TimeTableMonthDay $day
* @property CopyWeekContext $copyWeekContext
*/
class TimeTableMonthDayView extends Widget
{
public $day;
public $copyWeekContext;
public function run(){
return $this->render('_day', [ 'day' => $this->day]);
return $this->render('_day', [ 'day' => $this->day,'copyWeekContext' => $this->copyWeekContext]);
}

View File

@@ -1,5 +1,6 @@
<?php
/* @var $day TimeTableMonthDay */
/* @var $copyWeekContext \common\modules\event\models\copy\CopyWeekContext */
use common\models\Event;
use common\modules\event\models\timetable\TimeTableMonthDay;
@@ -15,6 +16,6 @@ use common\modules\event\widgets\event\EventView;
} else {
/** @var Event $event */
foreach ($day->events as $event) {
echo EventView::widget(['event' => $event]);
echo EventView::widget(['event' => $event, 'copyWeekContext' => $copyWeekContext]);
}
} ?>

View File

@@ -2,6 +2,7 @@
namespace common\modules\event\widgets\event;
use common\helpers\AppDateTimeHelper;
use common\models\Event;
use common\modules\event\models\copy\CopyWeekContext;
use DateTime;
use yii\bootstrap\Widget;
@@ -11,6 +12,7 @@ use yii\bootstrap\Widget;
* @package common\modules\event\widgets
*
* @property Event $event
* @property CopyWeekContext $copyWeekContext
*/
class EventView extends Widget
{
@@ -18,6 +20,8 @@ class EventView extends Widget
public $start;
public $end;
public $copyWeekContext;
public function init(){
parent::init();
if ( isset($this->event )){
@@ -32,7 +36,8 @@ class EventView extends Widget
[
'event' => $this->event,
'start' => $this->start,
'end' => $this->end
'end' => $this->end,
'copyWeekContext' => $this->copyWeekContext
]
);
}

View File

@@ -2,6 +2,8 @@
/* @var $event Event */
/* @var $start DateTime */
/* @var $end DateTime */
/* @var $copyWeekContext \common\modules\event\models\copy\CopyWeekContext */
use common\models\Event;
use common\modules\event\models\timetable\TimeTableMonthDay;
@@ -14,7 +16,13 @@ if (!isset($event)) {
<?php
} else {
?>
<div class="alert alert-success">
<div class="alert alert-success" onclick=" ">
<?php if ( isset($copyWeekContext)) {?>
<div>
<?php echo Html::checkbox(Html::getInputName($copyWeekContext->copyWeekFormModel, 'selectedEvents[]') , isset($copyWeekContext->copyWeekFormModel->selectedEvents) && in_array($event->id, $copyWeekContext->copyWeekFormModel->selectedEvents), ['value' => $event->id] ); ?>
</div>
<?php }?>
<?= Html::a( $start->format('H:i') .'-' . $end->format('H:i') , Url::toRoute(['event/update', 'id' => $event->id ] ) ) ?>
<br>
<?= Html::a( $event->eventType->name ,

View File

@@ -15,25 +15,27 @@ class TimeTableMonthView extends Widget
{
public $timeTable;
public $actionsColumn;
public $copyWeekContext;
public function run() {
return $this->render('_timetable', [
'timeTable' => $this->timeTable,
'actionsColumn' => ( isset($this->actionsColumn) ? $this->actionsColumn : null)
'actionsColumn' => ( isset($this->actionsColumn) ? $this->actionsColumn : null),
'copyWeekContext' => $this->copyWeekContext
]);
}
public static function renderDay($weekDay ){
public static function renderDay($weekDay , $copyWeekContext = null){
/**
* @param TimeTableMonthWeek $week
* @return string
*/
return static function ($week) use ($weekDay) {
return static function ($week) use ($weekDay, $copyWeekContext) {
return TimeTableMonthDayView::widget([
'day' => $week->getWeekDay($weekDay),
'copyWeekContext' => $copyWeekContext
]);
};

View File

@@ -1,5 +1,6 @@
<?php
/* @var $timeTable TimeTableMonth */
/* @var $copyWeekContext \common\modules\event\models\copy\CopyWeekContext */
use common\models\Event;
use common\modules\event\models\timetable\TimeTableMonth;
@@ -24,44 +25,44 @@ $columns = [
'attribute' => 'monday',
'label' => 'Hétfő',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('monday')
'value' => TimeTableMonthView::renderDay('monday',$copyWeekContext)
],
[
'attribute' => 'tuesday',
'label' => 'Kedd',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('tuesday')
'value' => TimeTableMonthView::renderDay('tuesday',$copyWeekContext)
],
[
'attribute' => 'wednesday',
'label' => 'Szerda',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('wednesday')
'value' => TimeTableMonthView::renderDay('wednesday',$copyWeekContext)
],
[
'attribute' => 'thursday',
'label' => 'Csütörtök',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('thursday')
'value' => TimeTableMonthView::renderDay('thursday',$copyWeekContext)
],
[
'attribute' => 'friday',
'label' => 'Péntek',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('friday')
'value' => TimeTableMonthView::renderDay('friday',$copyWeekContext)
],
[
'attribute' => 'saturday',
'format' => 'raw',
'label' => 'Szombat',
'value' => TimeTableMonthView::renderDay('saturday')
'value' => TimeTableMonthView::renderDay('saturday',$copyWeekContext)
],
[
'attribute' => 'Sunday',
'label' => 'Vasárnap',
'format' => 'raw',
'value' => TimeTableMonthView::renderDay('sunday')
'value' => TimeTableMonthView::renderDay('sunday',$copyWeekContext)
],
];