From 6d0567218eb3f584889d5b3fadc6fb6c8b5a7b56 Mon Sep 17 00:00:00 2001 From: David Siegfried <david.siegfried@uni-vechta.de> Date: Thu, 12 May 2022 13:09:24 +0000 Subject: [PATCH] show more infos and cleanup, ref #196 Merge request studip/studip!66 --- app/controllers/course/timesrooms.php | 204 ++++++++++++------ app/views/course/timesrooms/_cycleRow.php | 42 ++-- .../course/timesrooms/_irregularEvents.php | 63 +++--- .../course/timesrooms/_regularEvents.php | 45 ++-- app/views/course/timesrooms/_roomRequest.php | 26 ++- .../timesrooms/_select_semester_range.php | 31 +-- app/views/course/timesrooms/cancelStack.php | 2 +- app/views/course/timesrooms/createCycle.php | 64 +++--- .../course/timesrooms/createSingleDate.php | 18 +- app/views/course/timesrooms/editDate.php | 96 ++++----- app/views/course/timesrooms/editSemester.php | 16 +- app/views/course/timesrooms/editStack.php | 16 +- app/views/course/timesrooms/index.php | 28 +-- 13 files changed, 392 insertions(+), 259 deletions(-) diff --git a/app/controllers/course/timesrooms.php b/app/controllers/course/timesrooms.php index 9e835ca64bc..d681a0926d9 100644 --- a/app/controllers/course/timesrooms.php +++ b/app/controllers/course/timesrooms.php @@ -40,8 +40,10 @@ class Course_TimesroomsController extends AuthenticatedController if (LockRules::Check($this->course->id, 'room_time')) { $this->locked = true; $this->lock_rules = LockRules::getObjectRule($this->course->id); - PageLayout::postInfo(_('Diese Seite ist für die Bearbeitung gesperrt. Sie können die Daten einsehen, jedoch nicht verändern.') - . ($this->lock_rules['description'] ? '<br>' . formatLinks($this->lock_rules['description']) : '')); + PageLayout::postInfo( + _('Diese Seite ist für die Bearbeitung gesperrt. Sie können die Daten einsehen, jedoch nicht verändern.') + . ($this->lock_rules['description'] ? '<br>' . formatLinks($this->lock_rules['description']) : '') + ); } $this->show = [ @@ -181,7 +183,7 @@ class Course_TimesroomsController extends AuthenticatedController $check_room_requests = Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS; $single_dates = []; $this->single_date_room_request_c = 0; - foreach ($dates as $id => $val) { + foreach ($dates as $val) { foreach ($this->semester as $sem) { if ($this->semester_filter !== 'all' && $this->semester_filter !== $sem->id) { continue; @@ -269,6 +271,7 @@ class Course_TimesroomsController extends AuthenticatedController $this->semester_filter = $start_semester->semester_id; $course->store(); + if (!$course->isOpenEnded()) { $new_start_weeks = $course->start_semester->getStartWeeks($course->end_semester); SeminarCycleDate::removeOutRangedSingleDates($this->course->getStartSemester(), $this->course->getEndSemesterVorlesEnde(), $course->id); @@ -367,9 +370,12 @@ class Course_TimesroomsController extends AuthenticatedController $termin_info = $termin->getFullname(); $termin->cancelDate(); - PageLayout::postInfo(sprintf(_('Der Termin %s wurde aus der Liste der regelmäßigen Termine' - . ' gelöscht und als unregelmäßiger Termin eingetragen, da Sie die Zeiten des Termins verändert haben,' - . ' so dass dieser Termin nun nicht mehr regelmäßig ist.'), htmlReady($termin_info))); + PageLayout::postInfo(sprintf( + _('Der Termin %s wurde aus der Liste der regelmäßigen Termine' + . ' gelöscht und als unregelmäßiger Termin eingetragen, da Sie die Zeiten des Termins verändert haben,' + . ' so dass dieser Termin nun nicht mehr regelmäßig ist.'), + htmlReady($termin_info) + )); $termin = new CourseDate(); unset($termin_values['metadate_id']); @@ -380,10 +386,11 @@ class Course_TimesroomsController extends AuthenticatedController // Set assigned teachers $assigned_teachers = Request::optionArray('assigned_teachers'); - $dozenten = $this->course->getMembers('dozent'); - $termin->dozenten = count($dozenten) !== count($assigned_teachers) - ? User::findMany($assigned_teachers) - : []; + $dozenten = $this->course->getMembers(); + $this->dozenten = []; + if(count($dozenten) !== count($assigned_teachers)) { + $this->dozenten = User::findMany($assigned_teachers); + } // Set assigned groups $assigned_groups = Request::optionArray('assigned_groups'); @@ -422,39 +429,52 @@ class Course_TimesroomsController extends AuthenticatedController } if ($room_id) { if ($room_id != $singledate->resource_id) { - if ($resObj = $singledate->bookRoom($room_id, $preparation_time ?: 0)) { + if ($singledate->bookRoom($room_id, $preparation_time ?: 0)) { $messages = $singledate->getMessages(); $this->course->appendMessages($messages); } else if (!$singledate->ex_termin) { $this->course->createError( sprintf( - _("Der angegebene Raum konnte für den Termin %s nicht gebucht werden!"), - '<b>' . $singledate->toString() . '</b>') + _('Der angegebene Raum konnte für den Termin %s nicht gebucht werden!'), + '<strong>' . htmlReady($singledate->toString()) . '</strong>' + ) ); } } elseif ($termin->room_booking->preparation_time != ($preparation_time * 60)) { $singledate->bookRoom($room_id, $preparation_time ?: 0); } } else if ($old_room_id && !$singledate->resource_id) { - $this->course->createInfo(sprintf(_("Die Raumbuchung für den Termin %s wurde aufgehoben, da die neuen Zeiten außerhalb der alten liegen!"), '<b>'. $singledate->toString() .'</b>')); + $this->course->createInfo( + sprintf( + _('Die Raumbuchung für den Termin %s wurde aufgehoben, da die neuen Zeiten außerhalb der alten liegen!'), + '<strong>'.htmlReady( $singledate->toString()) .'</strong>' + )); } else if (Request::get('room_id_parameter')) { - $this->course->createInfo(_("Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!")); + $this->course->createInfo( + _('Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!') + ); } } elseif (Request::option('room') == 'freetext') { $singledate->setFreeRoomText(Request::get('freeRoomText_sd')); $singledate->killAssign(); $singledate->store(); - $this->course->createMessage(sprintf(_("Der Termin %s wurde geändert, etwaige Raumbuchung wurden entfernt und stattdessen der angegebene Freitext eingetragen!"), '<b>' . $singledate->toString() . '</b>')); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde geändert, etwaige Raumbuchungen wurden entfernt und stattdessen der angegebene Freitext eingetragen!'), + '<strong>' . htmlReady($singledate->toString()) . '</strong>' + )); } elseif (Request::option('room') == 'noroom') { $singledate->setFreeRoomText(''); $singledate->killAssign(); $singledate->store(); - $this->course->createMessage(sprintf(_("Der Termin %s wurde geändert, etwaige freie Ortsangaben und Raumbuchungen wurden entfernt."), '<b>' . $singledate->toString() . '</b>')); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde geändert, etwaige freie Ortsangaben und Raumbuchungen wurden entfernt.'), + '<strong>' . htmlReady($singledate->toString()) . '</strong>' + )); } if ($singledate->messages['error']) { PageLayout::postError( _('Die folgenden Fehler traten beim Bearbeiten des Termins auf:'), - $singledate->messages['error'] + htmlReady($singledate->messages['error']) ); } @@ -469,7 +489,9 @@ class Course_TimesroomsController extends AuthenticatedController public function createSingleDate_action() { PageLayout::setTitle(Course::findCurrent()->getFullname() . " - " . _('Einzeltermin anlegen')); - $this->restoreRequest(words('date start_time end_time room related_teachers related_statusgruppen freeRoomText dateType fromDialog course_type')); + $this->restoreRequest( + words('date start_time end_time room related_teachers related_statusgruppen freeRoomText dateType fromDialog course_type') + ); if (Config::get()->RESOURCES_ENABLE) { $this->setAvailableRooms(null); @@ -529,7 +551,9 @@ class Course_TimesroomsController extends AuthenticatedController $this->course->appendMessages($singledate->getMessages()); } if (Request::get('room_id_parameter')) { - $this->course->createInfo(_("Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!")); + $this->course->createInfo( + _('Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!') + ); } @@ -537,7 +561,7 @@ class Course_TimesroomsController extends AuthenticatedController $this->course->setFilter('all'); } - $this->course->createMessage(sprintf(_('Der Termin %s wurde hinzugefügt!'), $termin->getFullname())); + $this->course->createMessage(sprintf(_('Der Termin %s wurde hinzugefügt!'), htmlReady($termin->getFullname()))); $this->course->store(); $this->displayMessages(); @@ -554,7 +578,10 @@ class Course_TimesroomsController extends AuthenticatedController $ex_termin = CourseExDate::find($termin_id); $termin = $ex_termin->unCancelDate(); if ($termin) { - $this->course->createMessage(sprintf(_('Der Termin %s wurde wiederhergestellt!'), $termin->getFullname())); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde wiederhergestellt!'), + htmlReady($termin->getFullname()) + )); $this->displayMessages(); } @@ -617,7 +644,7 @@ class Course_TimesroomsController extends AuthenticatedController private function editStack($cycle_id) { $this->cycle_id = $cycle_id; - $this->teachers = $this->course->getMembers('dozent'); + $this->teachers = $this->course->getMembers(); $this->gruppen = Statusgruppen::findBySeminar_id($this->course->id); $checked_course_dates = CourseDate::findMany($_SESSION['_checked_dates']); $this->only_bookable_rooms = Request::submitted('only_bookable_rooms'); @@ -630,8 +657,7 @@ class Course_TimesroomsController extends AuthenticatedController } $db = DBManager::get(); $stmt = $db->prepare( - "SELECT DISTINCT `id` FROM `resource_bookings` - WHERE `range_id` IN ( :date_ids )" + "SELECT DISTINCT `id` FROM `resource_bookings` WHERE `range_id` IN ( :date_ids )" ); $stmt->execute(['date_ids' => $date_ids]); $date_booking_ids = $stmt->fetchAll(PDO::FETCH_COLUMN, 0); @@ -714,7 +740,10 @@ class Course_TimesroomsController extends AuthenticatedController $ex_termin->content = ''; $termin = $ex_termin->unCancelDate(); if ($termin !== null) { - $this->course->createMessage(sprintf(_('Der Termin %s wurde wiederhergestellt!'), $termin->getFullname())); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde wiederhergestellt!'), + htmlReady($termin->getFullname()) + )); } } $this->displayMessages(); @@ -804,7 +833,7 @@ class Course_TimesroomsController extends AuthenticatedController // Update related persons if (in_array($action, words('add delete'))) { - $course_lectures = $this->course->getMembers('dozent'); + $course_lectures = $this->course->getMembers(); $persons = User::findMany($persons); foreach ($singledates as $singledate) { if ($action === 'add') { @@ -889,12 +918,14 @@ class Course_TimesroomsController extends AuthenticatedController } if (Request::option('room_id')) { if (Request::option('room_id') != $singledate->room_booking->resource_id) { - if ($resObj = $date->bookRoom(Request::option('room_id'), $preparation_time)) { + if ($date->bookRoom(Request::option('room_id'), $preparation_time)) { $messages = $date->getMessages(); $this->course->appendMessages($messages); } else if (!$date->ex_termin) { - $this->course->createError(sprintf(_("Der angegebene Raum konnte für den Termin %s nicht gebucht werden!"), - '<strong>' . $date->toString() . '</strong>')); + $this->course->createError(sprintf( + _('Der angegebene Raum konnte für den Termin %s nicht gebucht werden!'), + '<strong>' . htmlReady($date->toString() ) . '</strong>') + ); } } elseif (($preparation_time * 60) != $singledate->room_booking->preparation_time) { $date->bookRoom(Request::option('room_id'), $preparation_time); @@ -902,26 +933,35 @@ class Course_TimesroomsController extends AuthenticatedController $this->course->appendMessages($messages); } } else if (Request::get('room_id_parameter')) { - $this->course->createInfo(_("Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!")); + $this->course->createInfo( + ('Um eine Raumbuchung durchzuführen, müssen Sie einen Raum aus dem Suchergebnis auswählen!') + ); } } elseif (Request::option('action') == 'freetext') { $date->setFreeRoomText(Request::get('freeRoomText')); $date->store(); $date->killAssign(); - $this->course->createMessage(sprintf(_("Der Termin %s wurde geändert, etwaige Raumbuchung wurden entfernt und stattdessen der angegebene Freitext eingetragen!"), - '<strong>' . $date->toString() . '</strong>')); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde geändert, etwaige Raumbuchungen wurden entfernt und stattdessen der angegebene Freitext eingetragen!'), + '<strong>' . htmlReady($date->toString()) . '</strong>' + )); } elseif (Request::option('action') == 'noroom') { $date->setFreeRoomText(''); $date->store(); $date->killAssign(); - $this->course->createMessage(sprintf(_("Der Termin %s wurde geändert, etwaige freie Ortsangaben und Raumbuchungen wurden entfernt."), - '<strong>' . $date->toString() . '</strong>')); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde geändert, etwaige freie Ortsangaben und Raumbuchungen wurden entfernt.'), + '<strong>' . htmlReady($date->toString()) . '</strong>' + )); } if (Request::get('course_type') != '') { $date->setDateType(Request::get('course_type')); $date->store(); - $this->course->createMessage(sprintf(_("Die Art des Termins %s wurde geändert."), '<strong>' . $date->toString() . '</strong>')); + $this->course->createMessage(sprintf( + _('Die Art des Termins %s wurde geändert.'), + '<strong>' . htmlReady($date->toString()) . '</strong>' + )); } } } @@ -932,7 +972,7 @@ class Course_TimesroomsController extends AuthenticatedController * The data saving part of the action to create one request * for multiple appointments. */ - public function saveRequestStack($cycle_id = null) + public function saveRequestStack() { //The properties[] array is set by $rp->definition->toHtmlInput. //The default name for toHtmlInput input elements is: @@ -985,8 +1025,7 @@ class Course_TimesroomsController extends AuthenticatedController } } - if (($successfully_stored < count($set_properties)) - and count($set_properties)) { + if ($set_properties && $successfully_stored < count($set_properties)) { $this->course->createError( _('Es wurden nicht alle zur Anfrage gehörenden Eigenschaften gespeichert!') ); @@ -1005,8 +1044,7 @@ class Course_TimesroomsController extends AuthenticatedController } } - if (($successfully_stored < count($appointments)) - and count($appointments)) { + if (($successfully_stored < count($appointments)) && count($appointments)) { $this->course->createError( _('Es wurden nicht alle zur Anfrage gehörenden Terminzuordnungen gespeichert!') ); @@ -1027,7 +1065,9 @@ class Course_TimesroomsController extends AuthenticatedController public function createCycle_action($cycle_id = null) { PageLayout::setTitle(Course::findCurrent()->getFullname() . " - " . _('Regelmäßige Termine anlegen')); - $this->restoreRequest(words('day start_time end_time description cycle startWeek teacher_sws fromDialog course_type')); + $this->restoreRequest( + words('day start_time end_time description cycle startWeek teacher_sws fromDialog course_type') + ); $this->cycle = new SeminarCycleDate($cycle_id); @@ -1061,10 +1101,16 @@ class Course_TimesroomsController extends AuthenticatedController foreach ($this->start_weeks as $key => $week) { if (mb_strpos($week, mb_substr($weeks[0], -15)) !== false) { - $this->end_semester_weeks['start'][] = ['value' => $key, 'label' => sprintf(_('Anfang %s'), $sem->name)]; + $this->end_semester_weeks['start'][] = [ + 'value' => $key, + 'label' => sprintf(_('Anfang %s'), $sem->name) + ]; } if (mb_strpos($week, mb_substr($weeks[count($weeks) - 1], -15)) !== false) { - $this->end_semester_weeks['ende'][] = ['value' => $key, 'label' => sprintf(_('Ende %s'), $sem->name)]; + $this->end_semester_weeks['ende'][] = [ + 'value' => $key, + 'label' => sprintf(_('Ende %s'), $sem->name) + ]; } foreach ($weeks as $val) { if (mb_strpos($week, mb_substr($val, -15)) !== false) { @@ -1086,8 +1132,6 @@ class Course_TimesroomsController extends AuthenticatedController public function saveCycle_action() { CSRFProtection::verifyRequest(); - - $start = strtotime(Request::get('start_time')); $end = strtotime(Request::get('end_time')); @@ -1123,7 +1167,6 @@ class Course_TimesroomsController extends AuthenticatedController } if ($cycle->store()) { - if(Request::int('course_type')) { $cycle->setSingleDateType(Request::int('course_type')); } @@ -1131,12 +1174,17 @@ class Course_TimesroomsController extends AuthenticatedController $cycle_info = $cycle->toString(); NotificationCenter::postNotification('CourseDidChangeSchedule', $this->course); - $this->course->createMessage(sprintf(_('Die regelmäßige Veranstaltungszeit %s wurde hinzugefügt!'), $cycle_info)); + $this->course->createMessage(sprintf( + _('Die regelmäßige Veranstaltungszeit %s wurde hinzugefügt!'), + htmlReady($cycle_info)) + ); $this->displayMessages(); $this->relocate('course/timesrooms/index'); } else { $this->storeRequest(); - $this->course->createError(_('Die regelmäßige Veranstaltungszeit konnte nicht hinzugefügt werden! Bitte überprüfen Sie Ihre Eingabe.')); + $this->course->createError( + _('Die regelmäßige Veranstaltungszeit konnte nicht hinzugefügt werden! Bitte überprüfen Sie Ihre Eingabe.') + ); $this->displayMessages(); $this->redirect('course/timesrooms/createCycle'); } @@ -1150,7 +1198,6 @@ class Course_TimesroomsController extends AuthenticatedController public function editCycle_action($cycle_id) { $cycle = SeminarCycleDate::find($cycle_id); - $start = strtotime(Request::get('start_time')); $end = strtotime(Request::get('end_time')); @@ -1212,9 +1259,10 @@ class Course_TimesroomsController extends AuthenticatedController } else { $cycle_string = $cycle->toString(); if ($cycle->delete()) { - $message = sprintf(_('Der regelmäßige Eintrag "%s" wurde gelöscht.'), - '<strong>' . $cycle_string . '</strong>'); - PageLayout::postSuccess($message); + PageLayout::postSuccess(sprintf( + _('Der regelmäßige Eintrag "%s" wurde gelöscht.'), + '<strong>' . htmlReady($cycle_string) . '</strong>' + )); } } @@ -1247,12 +1295,21 @@ class Course_TimesroomsController extends AuthenticatedController if (Request::get('cancel_comment') != $termin->content) { $termin->content = Request::get('cancel_comment'); if ($termin->store()) { - $this->course->createMessage(sprintf(_('Der Kommtentar des gelöschten Termins %s wurde geändert.'), $termin->getFullname())); + $this->course->createMessage(sprintf( + _('Der Kommtentar des gelöschten Termins %s wurde geändert.'), + htmlReady($termin->getFullname()) + )); } else { - $this->course->createInfo(sprintf(_('Der gelöschte Termin %s wurde nicht verändert.'), $termin->getFullname())); + $this->course->createInfo(sprintf( + _('Der gelöschte Termin %s wurde nicht verändert.'), + htmlReady($termin->getFullname()) + )); } } else { - $this->course->createInfo(sprintf(_('Der gelöschte Termin %s wurde nicht verändert.'), $termin->getFullname())); + $this->course->createInfo(sprintf( + _('Der gelöschte Termin %s wurde nicht verändert.'), + htmlReady($termin->getFullname()) + )); } if (Request::int('cancel_send_message')) { $snd_messages = raumzeit_send_cancel_message(Request::get('cancel_comment'), $termin); @@ -1277,22 +1334,28 @@ class Course_TimesroomsController extends AuthenticatedController $this->course->getFullname('sem-duration-name') ), $this->url_for('course/timesrooms/editSemester'), - Icon::create('date', 'clickable') + Icon::create('date') )->asDialog('size=400'); Sidebar::Get()->addWidget($actions); } $widget = new SelectWidget(_('Semesterfilter'), $this->url_for('course/timesrooms/index'), 'semester_filter'); foreach ($this->selectable_semesters as $item) { - $element = new SelectElement($item['semester_id'], - $item['name'], - $item['semester_id'] == $this->semester_filter); + $element = new SelectElement( + $item['semester_id'], + $item['name'], + $item['semester_id'] == $this->semester_filter + ); $widget->addElement($element); } Sidebar::Get()->addWidget($widget); if ($GLOBALS['perm']->have_perm('admin')) { - $list = new SelectWidget(_('Veranstaltungen'), $this->url_for('course/timesrooms/index'), 'cid'); + $list = new SelectWidget( + _('Veranstaltungen'), + $this->url_for('course/timesrooms/index'), + 'cid' + ); foreach (AdminCourseFilter::get()->getCoursesForAdminWidget() as $seminar) { $list->addElement(new SelectElement( @@ -1381,14 +1444,23 @@ class Course_TimesroomsController extends AuthenticatedController } if ($has_topics) { - $this->course->createMessage(sprintf(_('Dem Termin %s war ein Thema zugeordnet. Sie können das Thema im Ablaufplan einem anderen Termin (z.B. einem Ausweichtermin) zuordnen.'), - $termin_date, '<a href="' . URLHelper::getLink('dispatch.php/course/topics') . '">', '</a>')); + $this->course->createMessage(sprintf( + _('Dem Termin %s war ein Thema zugeordnet. Sie können das Thema im %sAblaufplan%s einem anderen Termin (z.B. einem Ausweichtermin) zuordnen.'), + htmlReady($termin_date), + '<a href="' . URLHelper::getLink('dispatch.php/course/topics') . '">', '</a>' + )); } if ($termin_room) { - $this->course->createMessage(sprintf(_('Der Termin %s wurde gelöscht! Die Buchung für den Raum %s wurde gelöscht.'), - $termin_date, $termin_room)); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde gelöscht! Die Buchung für den Raum %s wurde gelöscht.'), + htmlReady($termin_date), + htmlReady($termin_room) + )); } else { - $this->course->createMessage(sprintf(_('Der Termin %s wurde gelöscht!'), $termin_date)); + $this->course->createMessage(sprintf( + _('Der Termin %s wurde gelöscht!'), + htmlReady($termin_date) + )); } return $termin; diff --git a/app/views/course/timesrooms/_cycleRow.php b/app/views/course/timesrooms/_cycleRow.php index cfb291ad3bf..d1adcdd6c8b 100644 --- a/app/views/course/timesrooms/_cycleRow.php +++ b/app/views/course/timesrooms/_cycleRow.php @@ -9,9 +9,9 @@ $is_exTermin = $termin instanceof CourseExDate; <input class="<?= $class_ids ?>" type="checkbox" id="<?= htmlReady($termin->termin_id) ?>" value="<?= htmlReady($termin->termin_id) ?>" <? if (is_array($checked_dates)): ?> - <? if (in_array($termin->termin_id, $checked_dates)) echo 'checked'; ?> + <? if (in_array($termin->termin_id, $checked_dates)) echo 'checked' ?> <? else: ?> - <? if (!$is_exTermin && $termin->date > time() && ($termin->date <= $current_semester->ende || $semester_filter !== 'all')) echo 'checked'; ?> + <? if (!$is_exTermin && $termin->date > time() && ($termin->date <= $current_semester->ende || $semester_filter !== 'all')) echo 'checked' ?> <? endif ?> name="single_dates[]"> </label> @@ -35,22 +35,34 @@ $is_exTermin = $termin instanceof CourseExDate; <td> <? if (count($termin->dozenten) > 0): ?> - <ul class="list-unstyled list-csv <? if ($is_exTermin) echo 'is_ex_termin'; ?>"> + <ul class="list-unstyled list-csv <? if ($is_exTermin) echo 'is_ex_termin' ?>"> <? foreach ($termin->dozenten as $dozent) : ?> <li><?= $dozent instanceof User ? htmlReady($dozent->getFullname()) : '' ?></li> <? endforeach ?> </ul> - <? endif; ?> + <? endif ?> + </td> + <td> + <ul class="list-unstyled list-csv"> + <? if (count($termin->statusgruppen)) : ?> + <? foreach ($termin->statusgruppen as $group) : ?> + <li><?= htmlReady($group->name)?></li> + <? endforeach ?> + <? endif ?> + </ul> </td> <td> <? if ($room_holiday = SemesterHoliday::isHoliday($termin->date, false)): ?> - <? $room_holiday = '<span' . ($is_exTermin ? ' class="is_ex_termin"' : '') . '>(' . - htmlReady($room_holiday['name']) . ')</span>' ?> - <? endif; ?> + <? $room_holiday = sprintf( + '<span %s>(%s)</span>', + ($is_exTermin ? ' class="is_ex_termin"' : ''), + htmlReady($room_holiday['name']) + )?> + <? endif ?> <? if ($is_exTermin && ($comment = $termin->content)) : ?> <span class="is_ex_termin" style="font-style: italic"><?= _('(fällt aus)') ?></span> - <?= tooltipIcon($termin->content, false) ?> + <?= tooltipIcon($termin->content) ?> <? elseif ($name = SemesterHoliday::isHoliday($termin->date, false) && $is_exTermin): ?> <?= $room_holiday ?> <? elseif ($room = $termin->getRoom()) : ?> @@ -86,7 +98,7 @@ $is_exTermin = $termin instanceof CourseExDate; $linkAttributes ), _('Kommentare bearbeiten'), - Icon::create('edit', 'clickable', ['title' => _('Kommentar für diesen Termin bearbeiten')]), + Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Kommentar für diesen Termin bearbeiten')]), ['data-dialog' => 'size=50%'] ) ?> @@ -96,7 +108,7 @@ $is_exTermin = $termin instanceof CourseExDate; 'name' => 'delete_single_date', 'data-confirm' => _('Diesen Termin wiederherstellen?'), 'formaction' => $controller->url_for('course/timesrooms/undeleteSingle/' . $termin->id), - ]; ?> + ] ?> <? if (Request::isXhr()) : ?> <? $params['data-dialog'] = 'size=auto' ?> <? endif ?> @@ -104,14 +116,14 @@ $is_exTermin = $termin instanceof CourseExDate; <? $actionMenu->addButton( 'delete_part', _('Termin wiederherstellen'), - Icon::create('trash+decline', 'clickable', $params) + Icon::create('trash+decline', Icon::ROLE_CLICKABLE, $params) ) ?> <? elseif (!$locked) : ?> <? $actionMenu->addLink( $controller->url_for('course/timesrooms/editDate/' . $termin->id, $linkAttributes), _('Termin bearbeiten'), - Icon::create('edit', 'clickable', ['title' => _('Diesen Termin bearbeiten')]), + Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Diesen Termin bearbeiten')]), ['data-dialog' => ''] ) ?> @@ -125,7 +137,7 @@ $is_exTermin = $termin instanceof CourseExDate; 'course/timesrooms/deleteSingle/' . $termin->id, ['cycle_id' => $termin->metadate_id] + $linkAttributes ), - ]; ?> + ] ?> <? if (Request::isXhr()) : ?> <? $params['data-dialog'] = 'size=big' ?> <? endif ?> @@ -139,10 +151,10 @@ $is_exTermin = $termin instanceof CourseExDate; ] ), _('Termin löschen'), - Icon::create('trash', 'clickable'), + Icon::create('trash'), ['data-dialog' => '1'] ) ?> - <? endif; ?> + <? endif ?> <?= $actionMenu->render() ?> </td> </tr> diff --git a/app/views/course/timesrooms/_irregularEvents.php b/app/views/course/timesrooms/_irregularEvents.php index f85b18ba124..4fa06bbcff4 100644 --- a/app/views/course/timesrooms/_irregularEvents.php +++ b/app/views/course/timesrooms/_irregularEvents.php @@ -18,14 +18,14 @@ $room_request_filter = function ($date) { <? $actionMenu->addLink( $controller->url_for('course/timesrooms/createSingleDate/' . $course->id, $linkAttributes), _('Einzeltermin hinzufügen'), - Icon::create('date+add', 'clickable', ['title' => _('Einzeltermin hinzufügen')]), + Icon::create('date+add', Icon::ROLE_CLICKABLE, ['title' => _('Einzeltermin hinzufügen')]), ['data-dialog' => 'size=600'] ) ?> <? $actionMenu->addLink( $controller->url_for('course/block_appointments/index/' . $course->id, $linkAttributes), _('Blocktermin hinzufügen'), - Icon::create('timetable+add', 'clickable', ['title' => _('Blocktermin hinzufügen')]), + Icon::create('timetable+add', Icon::ROLE_CLICKABLE, ['title' => _('Blocktermin hinzufügen')]), ['data-dialog' => 'size=600'] ) ?> <?= $actionMenu->render() ?> @@ -54,53 +54,56 @@ $room_request_filter = function ($date) { </h1> <section> <span> - <?= sprintf(ngettext('%u Termin', '%u Termine', count($termine)), - count($termine)) ?> + <?= sprintf(ngettext('%u Termin', '%u Termine', count($termine)), count($termine)) ?> </span> <? if (Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS): ?> - <span> - | <strong><?= _('Einzel-Raumanfrage') ?></strong>: + <span>| <strong><?= _('Einzel-Raumanfrage') ?></strong>: <? if ($single_date_room_request_c > 0): ?> <?= sprintf(_('%u noch offen'), $single_date_room_request_c) ?> <? else: ?> <?= _('keine offen') ?> - <? endif; ?> + <? endif ?> </span> - <? endif; ?> + <? endif ?> </section> </header> <section> <table class="default"> <colgroup> <? if (!$locked) :?> - <col width="30px"> + <col style="width: 30px"> <? endif ?> - <col width="30%"> + <col style="width: 30%"> <col> - <col width="20%"> - <col width="50px"> + <col> + <col style="width: 20%"> + <col style="width: 50px"> </colgroup> <tbody> <? foreach ($termine as $termin): ?> - <?= $this->render_partial('course/timesrooms/_cycleRow.php', [ - 'termin' => $termin, - 'class_ids' => 'ids-irregular', - ]) ?> - <? endforeach; ?> + <?= $this->render_partial( + 'course/timesrooms/_cycleRow.php', + [ + 'termin' => $termin, + 'class_ids' => 'ids-irregular', + ] + ) ?> + <? endforeach ?> </tbody> </table> </section> </article> - <? endforeach; ?> + <? endforeach ?> <? if(!$locked) : ?> <table class="default nohover"> <colgroup> - <col width="30px"> - <col width="30%"> + <col style="width: 30px"> + <col style="width: 30%"> + <col> <col> - <col width="20%"> - <col width="50px"> + <col style="width: 20%"> + <col style="width: 50px"> </colgroup> <tfoot> @@ -112,14 +115,18 @@ $room_request_filter = function ($date) { <?= _('Alle auswählen') ?> </label> </td> - <td colspan="3" class="actions"> + <td colspan="5" class="actions"> <select name="method" class="datesBulkActions actionForAllIrregular"> <?= $this->render_partial('course/timesrooms/_stack_actions.php') ?> </select> - <?= Studip\Button::create( _('Ausführen'), 'run', [ - 'class' => 'actionForAllIrregular', - 'data-dialog' => 'size=big', - ]) ?> + <?= Studip\Button::create( + _('Ausführen'), + 'run', + [ + 'class' => 'actionForAllIrregular', + 'data-dialog' => 'size=big', + ] + ) ?> </td> </tr> </tfoot> @@ -134,5 +141,5 @@ $room_request_filter = function ($date) { </strong> </p> </section> -<? endif; ?> +<? endif ?> </section> diff --git a/app/views/course/timesrooms/_regularEvents.php b/app/views/course/timesrooms/_regularEvents.php index d813254d697..075c4bf5c1f 100644 --- a/app/views/course/timesrooms/_regularEvents.php +++ b/app/views/course/timesrooms/_regularEvents.php @@ -31,7 +31,7 @@ <?= tooltipIcon(_('Keine Raumbuchungen vorhanden')) ?> <? else: ?> <?= tooltipIcon(_('Keine offenen Raumbuchungen')) ?> - <? endif; ?> + <? endif ?> <a href="<?= ContentBoxHelper::href($metadate_id) ?>"> <?= htmlReady($cycle['cycle']->toString('long')) ?> </a> @@ -62,7 +62,7 @@ </span> <? if (Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS) : ?> <? $metadate = SeminarCycleDate::find($metadate_id) ?> - <? $open_requests = $metadate->countOpenRequestsForDates(); ?> + <? $open_requests = $metadate->countOpenRequestsForDates() ?> <span> <strong><?= _('Einzel-Raumanfrage') ?></strong>: <?= htmlReady( @@ -79,7 +79,11 @@ <? $actionMenu->addLink( $controller->url_for('course/timesrooms/createCycle/' . $metadate_id, $linkAttributes), _('Diesen Zeitraum bearbeiten'), - Icon::create('edit', 'clickable', ['title' => _('Diesen Zeitraum bearbeiten'), 'style' => 'vertical-align: middle;']), + Icon::create( + 'edit', + Icon::ROLE_CLICKABLE, + ['title' => _('Diesen Zeitraum bearbeiten'), 'style' => 'vertical-align: middle;'] + ), ['data-dialog' => 'size=600'] ) ?> <? if (Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS) : ?> @@ -94,7 +98,7 @@ _('Raumanfrage erstellen'), Icon::create( 'room-request', - 'clickable', + Icon::ROLE_CLICKABLE, [ 'title' => _('Raumanfrage erstellen'), 'style' => 'vertical-align: middle;' @@ -106,7 +110,7 @@ <? $actionMenu->addButton( 'delete_cycle', _('Diesen Zeitraum löschen'), - Icon::create('trash', 'clickable', ['title' => _('Diesen Zeitraum löschen')]), + Icon::create('trash', Icon::ROLE_CLICKABLE, ['title' => _('Diesen Zeitraum löschen')]), [ 'formaction' => $controller->url_for('course/timesrooms/deleteCycle/' . $metadate_id, $linkAttributes), 'data-confirm' => _('Soll dieser Zeitraum wirklich gelöscht werden?') @@ -121,17 +125,18 @@ <table class="default"> <colgroup> <? if (!$locked) : ?> - <col width="30px"> + <col style="width: 30px"> <? endif ?> - <col width="30%"> + <col style="width: 30%"> + <col> <col> - <col width="20%"> - <col width="50px"> + <col style="width: 20%"> + <col style="width: 50px"> </colgroup> <? foreach ($cycle['dates'] as $semester_id => $termine) : ?> <thead> <tr> - <th colspan="<?= !$locked ? 5 : 4?>"> + <th colspan="<?= !$locked ? 6 : 5?>"> <label> <? if(!$locked) : ?> <input type="checkbox" class="date-proxy_<?= $metadate_id ?>" @@ -144,8 +149,10 @@ </thead> <tbody id="<?= $metadate_id ?>-<?= $semester_id ?>"> <? foreach ($termine as $termin) : ?> - <?= $this->render_partial('course/timesrooms/_cycleRow.php', - ['termin' => $termin, 'class_ids' => 'ids-regular']) ?> + <?= $this->render_partial( + 'course/timesrooms/_cycleRow.php', + ['termin' => $termin, 'class_ids' => 'ids-regular'] + ) ?> <? endforeach ?> </tbody> <? endforeach ?> @@ -160,14 +167,18 @@ <?= _('Alle auswählen') ?> </label> </td> - <td colspan="3" class="actions"> + <td colspan="4" class="actions"> <select name="method" class="datesBulkActions actionForAllRegular_<?= $metadate_id ?>"> <?= $this->render_partial('course/timesrooms/_stack_actions.php') ?> </select> - <?= Studip\Button::create(_('Ausführen'), 'run', [ + <?= Studip\Button::create( + _('Ausführen'), + 'run', + [ 'class' => 'actionForAllRegular_' . $metadate_id, 'data-dialog' => 'size=big' - ]) ?> + ] + ) ?> </td> </tr> </tfoot> @@ -177,7 +188,7 @@ </section> </article> </form> - <? endforeach; ?> + <? endforeach ?> <? else: ?> <section> @@ -185,5 +196,5 @@ <strong><?= _('Keine regelmäßigen Termine vorhanden') ?></strong> </p> </section> -<? endif; ?> +<? endif ?> </section> diff --git a/app/views/course/timesrooms/_roomRequest.php b/app/views/course/timesrooms/_roomRequest.php index 1244f55f2f3..3eecb3c46b1 100644 --- a/app/views/course/timesrooms/_roomRequest.php +++ b/app/views/course/timesrooms/_roomRequest.php @@ -10,10 +10,18 @@ $global_requests = $course->room_requests->filter(function (RoomRequest $request </h1> <nav> - <?= tooltipIcon(_('Hier können Sie für die gesamte Veranstaltung, also für alle regelmäßigen und unregelmäßigen Termine, ' - . 'eine Raumanfrage erstellen.')) ?> + <?= tooltipIcon( + _('Hier können Sie für die gesamte Veranstaltung, also für alle regelmäßigen und unregelmäßigen Termine, ' + . 'eine Raumanfrage erstellen.') + ) ?> <a class="link-add" href="<?= $controller->url_for('course/room_requests/request_start', - array('cid' => $course->id, 'range_str' => 'course', 'origin' => 'course_timesrooms', 'create_room_request' => 1)) ?>" + [ + 'cid' => $course->id, + 'range_str' => 'course', + 'origin' => 'course_timesrooms', + 'create_room_request' => 1 + ] + ) ?>" data-dialog="size=big" title="<?= _('Neue Raumanfrage für die Veranstaltung erstellen') ?>"> <?= _('Neue Raumanfrage') ?> @@ -22,12 +30,12 @@ $global_requests = $course->room_requests->filter(function (RoomRequest $request </header> <section> - <? if (count($global_requests) > 0): ?> - <p><?= _('Für diese Veranstaltung liegt eine offene Raumanfrage vor') ?></p> - <?= Studip\LinkButton::create(_('Raumanfragen anzeigen'), + <? if (count($global_requests) > 0): ?> + <p><?= _('Für diese Veranstaltung liegt eine offene Raumanfrage vor') ?></p> + <?= Studip\LinkButton::create(_('Raumanfragen anzeigen'), URLHelper::getURL('dispatch.php/course/room_requests/index/' . $course->getId())) ?> - <? else: ?> - <p><?= _('Keine Raumanfrage vorhanden') ?></p> - <? endif; ?> + <? else: ?> + <p><?= _('Keine Raumanfrage vorhanden') ?></p> + <? endif ?> </section> </section> diff --git a/app/views/course/timesrooms/_select_semester_range.php b/app/views/course/timesrooms/_select_semester_range.php index 7b87b232972..bb9ddd4e963 100644 --- a/app/views/course/timesrooms/_select_semester_range.php +++ b/app/views/course/timesrooms/_select_semester_range.php @@ -1,14 +1,17 @@ -<form action="<?= $controller->url_for('course/timesrooms/index')?>" method="post" class="default" data-dialog="size=big"> - <section> - <label class="undecorated"> - <?= _('Semester auswählen') ?> - <select name="semester_filter" class="size-m"> - <? foreach ($selectable_semesters as $item) : ?> - <option value="<?= $item['semester_id']?>" <?= $item['semester_id'] == $semester_filter ? 'selected' : ''?>><?= htmlReady($item['name'])?></option> - <? endforeach ?> - </select> - </label> - - <?= Studip\Button::createAccept(_('Auswählen'), 'select_sem')?> - </section> -</form> \ No newline at end of file +<form action="<?= $controller->link_for('course/timesrooms/index')?>" method="post" class="default" data-dialog="size=big"> + <section> + <label class="undecorated"> + <?= _('Semester auswählen') ?> + <select name="semester_filter" class="size-m"> + <? foreach ($selectable_semesters as $item) : ?> + <option value="<?= $item['semester_id']?>" + <?= $item['semester_id'] === $semester_filter ? 'selected' : ''?>> + <?= htmlReady($item['name'])?> + </option> + <? endforeach ?> + </select> + </label> + + <?= Studip\Button::createAccept(_('Auswählen'), 'select_sem')?> + </section> +</form> diff --git a/app/views/course/timesrooms/cancelStack.php b/app/views/course/timesrooms/cancelStack.php index a5aca01a38d..742c16c86fa 100644 --- a/app/views/course/timesrooms/cancelStack.php +++ b/app/views/course/timesrooms/cancelStack.php @@ -10,6 +10,6 @@ <?= Studip\LinkButton::create(_('Zurück zur Übersicht'), $controller->url_for('course/timesrooms/index'), ['data-dialog' => 'size=big']) ?> - <? endif; ?> + <? endif ?> </footer> </form> diff --git a/app/views/course/timesrooms/createCycle.php b/app/views/course/timesrooms/createCycle.php index 5e3717561ec..c226ab164db 100644 --- a/app/views/course/timesrooms/createCycle.php +++ b/app/views/course/timesrooms/createCycle.php @@ -15,7 +15,7 @@ value="<?= $d ?>" <?= (Request::int('day') === $d) || (!is_null($cycle->start_time) && $cycle->weekday == $d) || ($d == 1) ? 'selected' : ''?>> <?= getWeekday($d, false) ?> </option> - <? endforeach; ?> + <? endforeach ?> </select> </label> @@ -42,7 +42,7 @@ <select name="course_type" id="course_type" class="size-s"> <? foreach ($GLOBALS['TERMIN_TYP'] as $id => $value) : ?> <option value="<?= $id ?>" <? if(Request::get('course_type') && Request::get('course_type') == $id) :?>selected="selected"<? endif?>><?= htmlReady($value['name']) ?></option> - <? endforeach; ?> + <? endforeach ?> </select> </label> @@ -76,20 +76,22 @@ <option value="<?= $end_sem_week['value'] ?>" <?= (Request::get('startWeek', $cycle->week_offset) == $end_sem_week['value']) ? 'selected' : '' ?>> <?= htmlReady($end_sem_week['label']) ?></option> - <? endforeach; ?> - <? endif; ?> + <? endforeach ?> + <? endif ?> <!-- write down all weeks for all Semesters --> - <? foreach ($clean_weeks as $semester => $weeks) : ?> - <optgroup label="<?= htmlReady($semester) ?>"> - <? foreach ($weeks as $value => $label) : ?> - <option value="<?= $value ?>" - <?= (Request::get('startWeek', $cycle->week_offset) == $value) ? 'selected' : '' ?>> - <?= htmlReady($label) ?> - </option> - <? endforeach; ?> - </optgroup> - <? endforeach; ?> + <? if (!empty($clean_weeks)) : ?> + <? foreach ($clean_weeks as $semester => $weeks) : ?> + <optgroup label="<?= htmlReady($semester) ?>"> + <? foreach ($weeks as $value => $label) : ?> + <option value="<?= $value ?>" + <?= (Request::get('startWeek', $cycle->week_offset) == $value) ? 'selected' : '' ?>> + <?= htmlReady($label) ?> + </option> + <? endforeach ?> + </optgroup> + <? endforeach ?> + <? endif ?> </select> </label> @@ -103,19 +105,21 @@ <?= (Request::get('endWeek', $selected) == $end_sem_week['value']) ? 'selected' : '' ?>> <?= htmlReady($end_sem_week['label']) ?> </option> - <? endforeach; ?> - <? endif; ?> + <? endforeach ?> + <? endif ?> - <? foreach ($clean_weeks as $semester => $weeks) : ?> - <optgroup label="<?= htmlReady($semester) ?>"> - <? foreach ($weeks as $value => $label) : ?> - <option value="<?= $value ?>" - <?= (Request::get('endWeek', $selected) == $value) ? 'selected' : '' ?>> - <?= htmlReady($label) ?> - </option> - <? endforeach; ?> - </optgroup> - <? endforeach; ?> + <? if (!empty($clean_weeks)) : ?> + <? foreach ($clean_weeks as $semester => $weeks) : ?> + <optgroup label="<?= htmlReady($semester) ?>"> + <? foreach ($weeks as $value => $label) : ?> + <option value="<?= $value ?>" + <?= (Request::get('endWeek', $selected) == $value) ? 'selected' : '' ?>> + <?= htmlReady($label) ?> + </option> + <? endforeach ?> + </optgroup> + <? endforeach ?> + <? endif ?> </select> </label> @@ -129,7 +133,11 @@ <footer data-dialog-button> <?= Studip\Button::createAccept(_('Speichern'), 'save', ['data-dialog' => 'size=600']) ?> <? if (Request::int('fromDialog')): ?> - <?= Studip\LinkButton::create(_('Zurück zur Übersicht'), $controller->url_for('course/timesrooms/index'), ['data-dialog' => 'size=big']) ?> - <? endif; ?> + <?= Studip\LinkButton::create( + _('Zurück zur Übersicht'), + $controller->url_for('course/timesrooms/index'), + ['data-dialog' => 'size=big'] + ) ?> + <? endif ?> </footer> </form> diff --git a/app/views/course/timesrooms/createSingleDate.php b/app/views/course/timesrooms/createSingleDate.php index f5dafe3e2fe..4364feb074e 100644 --- a/app/views/course/timesrooms/createSingleDate.php +++ b/app/views/course/timesrooms/createSingleDate.php @@ -21,7 +21,7 @@ </label> <label for="dateType"> - <?= _('Art'); ?> + <?= _('Art') ?> <select id="dateType" name="dateType"> <? foreach ($GLOBALS['TERMIN_TYP'] as $key => $val) : ?> <option <?= Request::get('dateType') == $key ? 'selected' : '' ?> @@ -68,16 +68,16 @@ <? foreach ($teachers as $dozent) : ?> <option <?= in_array($dozent['user_id'], Request::getArray('related_teachers')) ? 'selected' : '' ?> value="<?= $dozent['user_id'] ?>"><?= htmlReady($dozent['fullname']) ?></option> - <? endforeach; ?> + <? endforeach ?> </select> <? else : ?> <p style="margin-left: 15px"> <? $dozent = array_pop($teachers) ?> <?= htmlReady($dozent['fullname']) ?> </p> - <? endif; ?> + <? endif ?> </label> - <? endif; ?> + <? endif ?> <? if (count($groups) > 0) : ?> @@ -86,16 +86,20 @@ <? foreach ($groups as $group) : ?> <option <?= in_array($group->getId(), Request::getArray('related_statusgruppen')) ? 'selected' : '' ?> value="<?= $group->getId() ?>"><?= htmlReady($group['name']) ?></option> - <? endforeach; ?> + <? endforeach ?> </select> </label> - <? endif; ?> + <? endif ?> </fieldset> <footer data-dialog-button> <?= Studip\Button::createAccept(_('Speichern'), 'save', ['data-dialog' => 'size=600']) ?> <? if (Request::get('fromDialog')) : ?> - <?= Studip\LinkButton::create(_('Zurück zur Übersicht'), $controller->url_for('course/timesrooms/index'), ['data-dialog' => 'size=big']) ?> + <?= Studip\LinkButton::create( + _('Zurück zur Übersicht'), + $controller->url_for('course/timesrooms/index'), + ['data-dialog' => 'size=big'] + ) ?> <? endif ?> </footer> </form> diff --git a/app/views/course/timesrooms/editDate.php b/app/views/course/timesrooms/editDate.php index c5e3bf737e8..cff54b5a1c7 100644 --- a/app/views/course/timesrooms/editDate.php +++ b/app/views/course/timesrooms/editDate.php @@ -11,7 +11,7 @@ <?= $date->date_typ == $id ? 'selected' : '' ?>> <?= htmlReady($value['name']) ?> </option> - <? endforeach; ?> + <? endforeach ?> </select> </label> <label class="col-2"> @@ -45,7 +45,7 @@ ->setAttributes(['onFocus' => "jQuery('input[type=radio][name=room][value=room]').prop('checked', 'checked')"]) ->render() ?> <? else: ?> - <? $selected_room_id = $date->room_booking->resource_id; ?> + <? $selected_room_id = $date->room_booking->resource_id ?> <select name="room_id" onFocus="jQuery('input[type=radio][name=room][value=room]').prop('checked', 'checked')"> <? foreach ($selectable_rooms as $room): ?> <option value="<?= htmlReady($room->id) ?>" @@ -84,7 +84,7 @@ value="<?= htmlReady($preparation_time) ?>" min="0" max="<?= htmlReady($max_preparation_time) ?>"> </label> - <? endif; ?> + <? endif ?> <label class="horizontal"> <input type="radio" name="room" value="freetext" <?= $date->raum ? 'checked' : '' ?> data-deactivates="input.preparation-time[name='preparation_time']"> @@ -117,8 +117,7 @@ <legend><?= _('Durchführende Lehrende') ?></legend> <section class="studip-selection-selected"> - <h2><?= _('Zugewiesene Lehrende') ?></h2> - + <p><strong><?= _('Zugewiesene Lehrende') ?></strong></p> <ul> <? foreach ($assigned_teachers as $teacher): ?> <li data-selection-id="<?= htmlReady($teacher->user_id) ?>"> @@ -132,7 +131,7 @@ <?= htmlReady($teacher->getFullname()) ?> </span> </li> - <? endforeach; ?> + <? endforeach ?> <li class="empty-placeholder"> <?= _('Kein spezieller Lehrender zugewiesen') ?> </li> @@ -140,21 +139,20 @@ </section> <section class="studip-selection-selectable"> - <h2><?= _('Lehrende der Veranstaltung') ?></h2> - + <p><strong><?= _('Lehrende der Veranstaltung') ?></strong></p> <ul> - <? foreach ($teachers as $teacher): ?> - <? if (!$assigned_teachers->find($teacher->user_id)): ?> - <li data-selection-id="<?= htmlReady($teacher->user_id) ?>" > - <span class="studip-selection-image"> - <?= Avatar::getAvatar($teacher->user_id)->getImageTag(Avatar::SMALL) ?> - </span> - <span class="studip-selection-label"> - <?= htmlReady($teacher->getUserFullname()) ?> - </span> - </li> - <? endif; ?> - <? endforeach; ?> + <? foreach ($teachers as $teacher): ?> + <? if (!$assigned_teachers->find($teacher->user_id)): ?> + <li data-selection-id="<?= htmlReady($teacher->user_id) ?>" > + <span class="studip-selection-image"> + <?= Avatar::getAvatar($teacher->user_id)->getImageTag(Avatar::SMALL) ?> + </span> + <span class="studip-selection-label"> + <?= htmlReady($teacher->getUserFullname()) ?> + </span> + </li> + <? endif ?> + <? endforeach ?> <li class="empty-placeholder"> <?= sprintf( _('Ihre Auswahl entspricht dem Zustand "%s" und wird beim Speichern zurückgesetzt'), @@ -164,26 +162,24 @@ </ul> </section> </fieldset> -<? endif; ?> +<? endif ?> <? if (count($groups) > 0): ?> <fieldset class="collapsed studip-selection" data-attribute-name="assigned_groups"> <legend><?= _('Beteiligte Gruppen') ?></legend> - <section class="studip-selection-selected"> - <h2><?= _('Zugewiesene Gruppen') ?></h2> - + <p><strong><?= _('Zugewiesene Gruppen') ?></strong></p> <ul> - <? foreach ($assigned_groups as $group) : ?> - <li data-selection-id="<?= htmlReady($group->id) ?>"> - <input type="hidden" name="assigned_groups[]" - value="<?= htmlReady($group->id) ?>"> + <? foreach ($assigned_groups as $group) : ?> + <li data-selection-id="<?= htmlReady($group->id) ?>"> + <input type="hidden" name="assigned_groups[]" + value="<?= htmlReady($group->id) ?>"> - <span class="studip-selection-label"> - <?= htmlReady($group->name) ?> - </span> - </li> - <? endforeach ?> + <span class="studip-selection-label"> + <?= htmlReady($group->name) ?> + </span> + </li> + <? endforeach ?> <li class="empty-placeholder"> <?= _('Keine spezielle Gruppe zugewiesen') ?> </li> @@ -191,33 +187,35 @@ </section> <section class="studip-selection-selectable"> - <h2><?= _('Gruppen der Veranstaltung') ?></h2> - + <p><strong><?= _('Gruppen der Veranstaltung') ?></strong></p> <ul> - <? foreach ($groups as $group): ?> - <? if (!$assigned_groups->find($group->id)): ?> - <li data-selection-id="<?= htmlReady($group->id) ?>" > - <span class="studip-selection-label"> - <?= htmlReady($group->name) ?> - </span> - </li> - <? endif; ?> - <? endforeach; ?> + <? foreach ($groups as $group): ?> + <? if (!$assigned_groups->find($group->id)): ?> + <li data-selection-id="<?= htmlReady($group->id) ?>" > + <span class="studip-selection-label"> + <?= htmlReady($group->name) ?> + </span> + </li> + <? endif ?> + <? endforeach ?> <li class="empty-placeholder"> <?= _('Alle Gruppen wurden dem Termin zugewiesen') ?> </li> </ul> </section> </fieldset> -<? endif; ?> +<? endif ?> <footer data-dialog-button> <?= Studip\Button::createAccept(_('Speichern'), 'save_dates') ?> <? if (Request::int('fromDialog')) : ?> - <?= Studip\LinkButton::create(_('Zurück zur Übersicht'), - $controller->url_for('course/timesrooms', - ['fromDialog' => 1, 'contentbox_open' => $date->metadate_id]), - ['data-dialog' => 'size=big']) ?> + <?= Studip\LinkButton::create( + _('Zurück zur Übersicht'), + $controller->url_for( + 'course/timesrooms', + ['fromDialog' => 1, 'contentbox_open' => $date->metadate_id] + ), + ['data-dialog' => 'size=big']) ?> <? endif ?> <? if (Request::isXhr() && !$locked && Config::get()->RESOURCES_ENABLE && Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS): ?> <? ?> diff --git a/app/views/course/timesrooms/editSemester.php b/app/views/course/timesrooms/editSemester.php index 2ea0963085c..66bda13a44d 100644 --- a/app/views/course/timesrooms/editSemester.php +++ b/app/views/course/timesrooms/editSemester.php @@ -8,11 +8,11 @@ <?= _('Startsemester') ?> <select name="startSemester" id="startSemester"> <? foreach ($semester as $sem) : ?> - <option - value="<?= $sem->semester_id ?>" <?= $sem->semester_id == $course->start_semester->semester_id ? 'selected' : '' ?>> + <option value="<?= $sem->semester_id ?>" + <?= $sem->semester_id === $course->start_semester->semester_id ? 'selected' : '' ?>> <?= htmlReady($sem->name) ?> </option> - <? endforeach; ?> + <? endforeach ?> </select> </label> @@ -28,11 +28,11 @@ <?= (count($course->semesters) > 1) && $course->end_semester->id == $sem->id ? 'selected' : '' ?>> <?= htmlReady($sem->name) ?> </option> - <? endif; ?> - <? endforeach; ?> - <option value="-1" - <?= $course->isOpenEnded() ? 'selected' : '' ?>> - <?= _('Unbegrenzt') ?></option> + <? endif ?> + <? endforeach ?> + <option value="-1"<?= $course->isOpenEnded() ? 'selected' : '' ?>> + <?= _('Unbegrenzt') ?> + </option> </select> </label> </fieldset> diff --git a/app/views/course/timesrooms/editStack.php b/app/views/course/timesrooms/editStack.php index c3ed18cde4e..bd1a5cabcb6 100644 --- a/app/views/course/timesrooms/editStack.php +++ b/app/views/course/timesrooms/editStack.php @@ -98,11 +98,15 @@ </select> </label> - <select name="related_persons[]" id="related_persons" multiple> + <? if (!empty($teachers)) : ?> + <select name="related_persons[]" id="related_persons" multiple> <? foreach ($teachers as $teacher) : ?> - <option value="<?= htmlReady($teacher['user_id']) ?>"><?= htmlReady($teacher['fullname']) ?></option> + <option value="<?= htmlReady($teacher['user_id']) ?>"> + <?= htmlReady($teacher['fullname']) ?> + </option> <? endforeach ?> - </select> + </select> + <? endif ?> </fieldset> <? if (count($gruppen)) : ?> @@ -128,7 +132,11 @@ <footer data-dialog-button> <?= Studip\Button::createAccept(_('Änderungen speichern'), 'save') ?> <? if (Request::int('fromDialog')) : ?> - <?= Studip\LinkButton::create(_('Zurück zur Übersicht'), $controller->url_for('course/timesrooms/index'), ['data-dialog' => 'size=big']) ?> + <?= Studip\LinkButton::create( + _('Zurück zur Übersicht'), + $controller->url_for('course/timesrooms/index'), + ['data-dialog' => 'size=big'] + ) ?> <? endif ?> </footer> </form> diff --git a/app/views/course/timesrooms/index.php b/app/views/course/timesrooms/index.php index 48c8315e981..8636ebbd658 100644 --- a/app/views/course/timesrooms/index.php +++ b/app/views/course/timesrooms/index.php @@ -1,32 +1,34 @@ -<? if ($show['roomRequest']) : ?> +<? if (!empty($show['roomRequest'])) : ?> <!--Raumanfragen--> <?= $this->render_partial('course/timesrooms/_roomRequestInfo.php') ?> -<? endif; ?> +<? endif ?> <? if (Request::isXhr()): ?> <?= $this->render_partial('course/timesrooms/_select_semester_range.php') ?> <? endif ?> -<? if ($show['regular']) : ?> +<? if (!empty($show['regular'])) : ?> <!--Regelmäßige Termine--> <?= $this->render_partial('course/timesrooms/_regularEvents.php') ?> -<? endif; ?> +<? endif ?> -<? if ($show['irregular']) : ?> +<? if (!empty($show['irregular'])) : ?> <!--Unregelmäßige Termine--> <?= $this->render_partial('course/timesrooms/_irregularEvents') ?> -<? endif; ?> +<? endif ?> -<? if ($show['roomRequest']) : ?> +<? if (!empty($show['roomRequest'])) : ?> <!--Raumanfrage--> <?= $this->render_partial('course/timesrooms/_roomRequest.php') ?> -<? endif; ?> +<? endif ?> <? if (Request::isXhr() && !$locked && Config::get()->RESOURCES_ENABLE && Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS): ?> <div data-dialog-button> - <?= Studip\LinkButton::create(_('Raumanfrage erstellen'), - $controller->url_for('course/room_requests/request_start', - ['cid' => $course->id, 'range_str' => 'course', 'origin' => 'admin_courses']), - ['data-dialog' => 'size=big']) ?> + <?= Studip\LinkButton::create( + _('Raumanfrage erstellen'), + $controller->url_for('course/room_requests/request_start', + ['cid' => $course->id, 'range_str' => 'course', 'origin' => 'admin_courses']), + ['data-dialog' => 'size=big'] + ) ?> </div> -<? endif; ?> +<? endif ?> -- GitLab