add state

This commit is contained in:
Roland Schneider
2021-09-24 17:39:29 +02:00
parent 34d898779c
commit c2ea538103
19 changed files with 328 additions and 72 deletions

View File

@@ -9,7 +9,6 @@ use common\modules\event\models\timetable\TimeTableMonthWeek;
use customerapi\models\available\EventInterval;
use DateTime;
use Exception;
use Throwable;
use yii\db\Query;
use yii\db\StaleObjectException;
@@ -44,7 +43,7 @@ class EventManager
* @return TimeTableMonth
* @throws Exception
*/
public function loadTimeTable($interval)
public function loadTimeTable($interval , $activeOrDisplayInterval = "active" )
{
$timeTable = new TimeTableMonth();
@@ -74,8 +73,14 @@ class EventManager
$timeTable->weeks[$weekNumber]->$weekDayName = $timeTableMonthDay;
}
$dateTimeFrom = $interval->firstActiveDate;
$dateTimeTo = (clone $interval->lastActiveDate)->modify('+1 day');
if ( $activeOrDisplayInterval == "active"){
$dateTimeFrom = $interval->firstActiveDate;
$dateTimeTo = (clone $interval->lastActiveDate)->modify('+1 day');
}else{
// active
$dateTimeFrom = $interval->firstDisplayDate;
$dateTimeTo = (clone $interval->lastDisplayDate)->modify('+1 day');
}
// get events between active dates
$events =$this->getEvents($dateTimeFrom,$dateTimeTo);

View File

@@ -71,7 +71,6 @@ class CopyWeekSearch extends Model
$targetDate = null;
$this->load($params);
if ($this->validate()) {
$sourceDate = new DateTime();
$sourceDate->setTimestamp($this->timestampSource);
@@ -82,8 +81,8 @@ class CopyWeekSearch extends Model
$this->targetInterval = EventInterval::createInterval($targetDate,7,7);
$eventManager = new EventManager();
$this->sourceTimeTable = $eventManager->loadTimeTable($this->sourceInterval);
$this->targetTimeTable = $eventManager->loadTimeTable($this->targetInterval);
$this->sourceTimeTable = $eventManager->loadTimeTable($this->sourceInterval,"display");
$this->targetTimeTable = $eventManager->loadTimeTable($this->targetInterval,"display");
}
/**
@@ -104,11 +103,11 @@ class CopyWeekSearch extends Model
// load the time table objects for source and target interval
$eventManager = new EventManager();
$this->sourceTimeTable = $eventManager->loadTimeTable($this->sourceInterval);
$this->targetTimeTable = $eventManager->loadTimeTable($this->targetInterval);
$this->sourceTimeTable = $eventManager->loadTimeTable($this->sourceInterval,"display");
$this->targetTimeTable = $eventManager->loadTimeTable($this->targetInterval,"display");
$sourceWeek = array_values( $this->sourceTimeTable->weeks)[0];
$targetWeek = array_values($this->targetTimeTable->weeks)[0];
$sourceWeek = array_values( $this->sourceTimeTable->weeks )[0];
$targetWeek = array_values( $this->targetTimeTable->weeks )[0];
// Iterate over all the week days: monday, tuesday, ...
foreach (EventInterval::weekdays as $weekday ){

View File

@@ -63,7 +63,7 @@ class TimeTableSearch extends Model
$interval = EventInterval::createInterval($today);
$em = new EventManager();
$timeTable = $em->loadTimeTable($interval);
$timeTable = $em->loadTimeTable($interval,"display");
$this->tableModel = new TimeTableModel();
$this->tableModel->timeTableMonth = $timeTable;