diff --git a/app/views/course/timesrooms/_bookable_rooms_icon.php b/app/views/course/timesrooms/_bookable_rooms_icon.php new file mode 100644 index 0000000000000000000000000000000000000000..49667303f13fe18da0a2295cc438e6ac4775e619 --- /dev/null +++ b/app/views/course/timesrooms/_bookable_rooms_icon.php @@ -0,0 +1,13 @@ +<? +$input_attr = [ + 'class' => 'text-bottom', + 'name' => 'only_bookable_rooms', + 'style' => 'margin-left: 0.2em; margin-top: 0.6em;', + 'value' => '1', + 'title' => _('Nur buchbare Räume anzeigen') +]; +if (Request::isDialog()) { + $input_attr['data-dialog'] = 'size=big'; +} +?> +<?= Icon::create('room-request')->asInput(20, $input_attr) ?> diff --git a/app/views/course/timesrooms/editStack.php b/app/views/course/timesrooms/editStack.php index f6a12f136104e04b75d534097893f972a9e308b1..17ee3d4a9422ea8a84f1000933de9968c46d0ca5 100644 --- a/app/views/course/timesrooms/editStack.php +++ b/app/views/course/timesrooms/editStack.php @@ -1,3 +1,19 @@ +<?php +/** + * @var Course_TimesroomsController $controller + * @var string $cycle_id + * @var array $linkAttributes + * @var array $checked_dates + * @var array $selectable_rooms + * @var array $tpl + * @var QuickSearch $room_search + * @var array $only_bookable_rooms + * @var array $teachers + * @var array $gruppen + * @var int $preparation_time + * @var int $max_preparation_time + */ +?> <form method="post" action="<?= $controller->url_for('course/timesrooms/saveStack/' . $cycle_id, $linkAttributes) ?>" class="default collapsable" data-dialog="size=big"> <?= CSRFProtection::tokenTag()?> @@ -8,69 +24,71 @@ <legend><?= _('Raumangaben') ?></legend> <? if (Config::get()->RESOURCES_ENABLE && (!empty($room_search) || !empty($selectable_rooms))): ?> <section> - <input type="radio" name="action" value="room" - id="room"> - <label style="display: inline-block; width: 50%; vertical-align: middle"> - <? if (!empty($room_search)) : ?> + <label> + <input type="radio" name="action" value="room" id="room" data-activates="input.preparation-time[name='preparation_time']"> + <?= _('Raum direkt buchen') ?> + </label> + <? if (!empty($room_search)) : ?> + <label> + <?= _('Raumsuche') ?> + <span class="flex-row"></span> <?= $room_search - ->setAttributes(['onFocus' => "jQuery('input[type=radio][name=action][value=room]').prop('checked', 'checked')"]) + ->setAttributes(['onFocus' => "jQuery('input[type=radio][name=action][value=room]').prop('checked', true)"]) ->render() ?> - <? else : ?> - <select name="room_id" style="display: inline-block; width: 50%;" onFocus="jQuery('input[type=radio][name=action][value=room]').prop('checked', 'checked')"> - <option value="0">-- <?= _('Raum auswählen') ?> --</option> - <? foreach ($selectable_rooms as $room): ?> - <option value="<?= htmlReady($room->id)?>"> - <?= htmlReady($room->name) ?> - </option> - <? endforeach ?> - </select> - <? endif ?> - <? if (!$only_bookable_rooms) : ?> - <? - $input_attr = [ - 'class' => 'text-bottom', - 'style' => 'margin-left: 0.2em; margin-top: 0.6em;', - 'name' => 'only_bookable_rooms', - 'value' => '1', - 'title' => _('Nur buchbare Räume anzeigen') - ]; - if (Request::isDialog()) { - $input_attr['data-dialog'] = 'size=big'; - } - ?> - <?= Icon::create('room-request')->asInput(20, $input_attr) ?> - <? endif ?> - <div> - <?= _('Rüstzeit (in Minuten)') ?> - <input type="number" name="preparation_time" - class="preparation-time" - value="<?= htmlReady($preparation_time) ?>" - min="0" max="<?= htmlReady($max_preparation_time) ?>"> - </div> + <? if (!$only_bookable_rooms) : ?> + <?= $this->render_partial('course/timesrooms/_bookable_rooms_icon.php') ?> + <? endif ?> + </label> + <? else : ?> + <label> + <?= _('Raum auswählen') ?> + <span class="flex-row"> + <select name="room_id" onFocus="jQuery('input[type=radio][name=action][value=room]').prop('checked', 'checked')"> + <option value="0"><?= _('Auswählen') ?></option> + <? foreach ($selectable_rooms as $room): ?> + <option value="<?= htmlReady($room->id)?>"> + <?= htmlReady($room->name) ?> + </option> + <? endforeach ?> + </select> + <? if (!$only_bookable_rooms) : ?> + <?= $this->render_partial('course/timesrooms/_bookable_rooms_icon.php') ?> + <? endif ?> + </span> + </label> + <? endif ?> + <label> + <?= _('Rüstzeit (in Minuten)') ?> + <input type="number" name="preparation_time" + class="preparation-time" + value="<?= htmlReady($preparation_time) ?>" + min="0" max="<?= htmlReady($max_preparation_time) ?>"> </label> </section> - - <? $placerholder = _('Freie Ortsangabe (keine Raumbuchung):') ?> + <? $placerholder = _('Freie Ortsangabe (keine Raumbuchung)') ?> <? else : ?> - <? $placerholder = _('Freie Ortsangabe:') ?> + <? $placerholder = _('Freie Ortsangabe') ?> <? endif ?> <section> - <input type="radio" name="action" value="freetext"> - <label style="display: inline;"> - <input type="text" name="freeRoomText" style="display: inline-block; width: 50%;" value="<?= htmlReady($tpl['freeRoomText'] ?? '') ?>" - placeholder="<?= $placerholder ?>" - onFocus="jQuery('input[type=radio][name=action][value=freetext]').prop('checked', 'checked')"> - </label> + <label> + <input type="radio" name="action" value="freetext" data-deactivates="input.preparation-time[name='preparation_time']"> + <?= $placerholder ?> + </label> + <label> + <input type="text" name="freeRoomText" value="<?= htmlReady($tpl['freeRoomText']) ?>" + placeholder="<?= $placerholder ?>" + onFocus="jQuery('input[type=radio][name=action][value=freetext]').prop('checked', 'checked')"> + </label> </section> <? if (Config::get()->RESOURCES_ENABLE) : ?> <label> - <input type="radio" name="action" value="noroom" style="display:inline"> + <input type="radio" name="action" value="noroom" data-deactivates="input.preparation-time[name='preparation_time']"> <?= _('Kein Raum') ?> </label> <? endif ?> <label> - <input type="radio" name="action" value="nochange" checked="checked"> + <input type="radio" name="action" value="nochange" checked="checked" data-deactivates="input.preparation-time[name='preparation_time']"> <?= _('Keine Änderungen an den Raumangaben vornehmen') ?> </label> </fieldset> @@ -91,21 +109,25 @@ <fieldset class="collapsed"> <legend><?= _('Durchführende Lehrende') ?></legend> <label> + <?= _('Aktion auswählen') ?> <select name="related_persons_action" id="related_persons_action"> - <option value="">-- <?= _('Aktion auswählen') ?> --</option> - <option value="add">...<?= _('hinzufügen') ?></option> - <option value="delete">...<?= _('entfernen') ?></option> + <option value=""><?= _('Bitte wählen') ?></option> + <option value="add"><?= _('Lehrende hinzufügen') ?></option> + <option value="delete"><?= _('Lehrende entfernen') ?></option> </select> </label> <? 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> - <? endforeach ?> - </select> + <label> + <?= _('Lehrende') ?> + <select name="related_persons[]" id="related_persons" multiple> + <? foreach ($teachers as $teacher) : ?> + <option value="<?= htmlReady($teacher['user_id']) ?>"> + <?= htmlReady($teacher['fullname']) ?> + </option> + <? endforeach ?> + </select> + </label> <? endif ?> </fieldset> @@ -113,18 +135,22 @@ <fieldset class="collapsed"> <legend><?= _('Beteiligte Gruppen') ?></legend> <label> + <?= _('Aktion auswählen') ?> <select name="related_groups_action" id="related_groups_action"> - <option value="">-- <?= _('Aktion auswählen') ?> --</option> - <option value="add">...<?= _('hinzufügen') ?></option> - <option value="delete">...<?= _('entfernen') ?></option> + <option value=""><?= _('Bitte wählen') ?></option> + <option value="add"><?= _('Gruppen hinzufügen') ?></option> + <option value="delete"><?= _('Gruppen entfernen') ?></option> </select> </label> - <select id="related_groups" name="related_groups[]" multiple> - <? foreach ($gruppen as $gruppe) : ?> - <option value="<?= htmlReady($gruppe->statusgruppe_id) ?>"><?= htmlReady($gruppe->name) ?></option> - <? endforeach ?> - </select> + <label> + <?= _('Statusgruppen')?> + <select id="related_groups" name="related_groups[]" multiple> + <? foreach ($gruppen as $gruppe) : ?> + <option value="<?= htmlReady($gruppe->statusgruppe_id) ?>"><?= htmlReady($gruppe->name) ?></option> + <? endforeach ?> + </select> + </label> </fieldset> <? endif ?>