From c680179bf8f642cbcab7ad8c7b1c264d57c07974 Mon Sep 17 00:00:00 2001 From: Moritz Strohm <strohm@data-quest.de> Date: Fri, 9 Sep 2022 10:40:19 +0000 Subject: [PATCH] do not allow editing the booking style, re #549 Merge request studip/studip!991 --- .../resources/booking/_add_edit_form.php | 52 ++++++++++++------- .../assets/javascripts/bootstrap/resources.js | 8 ++- 2 files changed, 38 insertions(+), 22 deletions(-) diff --git a/app/views/resources/booking/_add_edit_form.php b/app/views/resources/booking/_add_edit_form.php index 0c87272ca2e..a0c9ccbcfe3 100644 --- a/app/views/resources/booking/_add_edit_form.php +++ b/app/views/resources/booking/_add_edit_form.php @@ -208,29 +208,41 @@ <section class="fieldset-row inner-row"> <fieldset id="BookingTypeFieldset"> <legend><?= _('Art des Termins') ?></legend> - <div class="booking-type-item"> - <label> - <input type="radio" name="booking_style" value="single" - <?= empty($block_booking) || $booking_style == 'single' - ? 'checked="checked"' - : '' ?> - class="booking-type-item"> + <? if ($mode == 'add'): ?> + <div class="booking-type-item"> + <label> + <input type="radio" name="booking_style" value="single" + <?= empty($block_booking) || $booking_style == 'single' + ? 'checked="checked"' + : '' ?> + class="booking-type-item"> + <?= _('Einzeltermin') ?> + </label> + <label title="<?= _('Konvolut'); ?>"> + <input type="radio" name="booking_style" value="block" + <?= !empty($block_booking) || $booking_style == 'block' ? 'checked="checked"' : '' ?> + class="booking-type-item"> + <?= _('Terminblock') ?> + </label> + <label> + <input type="radio" name="booking_style" value="repeat" + <?= $booking_style == 'repeat' ? 'checked="checked"' : '' ?> + class="booking-type-item"> + <?= _('Wiederholungstermine') ?> + </label> + </div> + <? else: ?> + <? if ($booking_style == 'single'): ?> + <input type="hidden" name="booking_style" value="single"> <?= _('Einzeltermin') ?> - </label> - <label title="<?= _('Konvolut'); ?>"> - <input type="radio" name="booking_style" value="block" - <?= !empty($block_booking) || $booking_style == 'block' ? 'checked="checked"' : '' ?> - class="booking-type-item"> + <? elseif ($booking_style == 'block'): ?> + <input type="hidden" name="booking_style" value="block"> <?= _('Terminblock') ?> - </label> - <label> - <input type="radio" name="booking_style" value="repeat" - <?= $booking_style == 'repeat' ? 'checked="checked"' : '' ?> - class="booking-type-item"> + <? elseif ($booking_style == 'repeat'): ?> + <input type="hidden" name="booking_style" value="repeat"> <?= _('Wiederholungstermine') ?> - </label> - - </div> + <? endif ?> + <? endif ?> </fieldset> <fieldset id="BlockBookingFieldset" diff --git a/resources/assets/javascripts/bootstrap/resources.js b/resources/assets/javascripts/bootstrap/resources.js index ebbc9c389a4..fcca09605ae 100644 --- a/resources/assets/javascripts/bootstrap/resources.js +++ b/resources/assets/javascripts/bootstrap/resources.js @@ -54,8 +54,12 @@ STUDIP.ready(function () { //Dialog for adding/editing bookings: - if (jQuery('form.create-booking-form').length) { - STUDIP.Resources.moveTimeOptions(jQuery('input[name="booking_style"]:checked').val()); + if (jQuery('form.create-booking-form')) { + let time_option = jQuery('input[name="booking_style"]:checked').val(); + if (!time_option) { + time_option = jQuery('input[name="booking_style"]').val(); + } + STUDIP.Resources.moveTimeOptions(time_option); } //Set the date selector in the sidebar to the date from the session, -- GitLab