From 2933487cef692c238a50863ed8933ffd57972234 Mon Sep 17 00:00:00 2001
From: Moritz Strohm <strohm@data-quest.de>
Date: Fri, 17 Feb 2023 11:39:20 +0000
Subject: [PATCH] added weekday selector in resources/export/resource_bookings,
 closes #2181

Closes #2181

Merge request studip/studip!1408
---
 app/controllers/resources/export.php          |  1 +
 .../resources/export/resource_bookings.php    |  4 ++
 .../export/select_booking_sources.php         | 44 ++-----------------
 .../export/weekday-selector.partial.php       | 27 ++++++++++++
 4 files changed, 36 insertions(+), 40 deletions(-)
 create mode 100644 app/views/resources/export/weekday-selector.partial.php

diff --git a/app/controllers/resources/export.php b/app/controllers/resources/export.php
index 561bdf90627..8366cf8003f 100644
--- a/app/controllers/resources/export.php
+++ b/app/controllers/resources/export.php
@@ -229,6 +229,7 @@ class Resources_ExportController extends AuthenticatedController
             $this->end->setTime(23, 59, 59);
         }
 
+        $this->weekdays = ['1', '2', '3', '4', '5'];
 
         // All available booking types.
         $this->booking_types = [
diff --git a/app/views/resources/export/resource_bookings.php b/app/views/resources/export/resource_bookings.php
index 67840da18fd..bcd4030a6c9 100644
--- a/app/views/resources/export/resource_bookings.php
+++ b/app/views/resources/export/resource_bookings.php
@@ -28,6 +28,10 @@
                 </label>
             </section>
         </fieldset>
+        <?= $this->render_partial(
+            'resources/export/weekday-selector.partial.php',
+            compact('weekdays')
+        ) ?>
         <fieldset>
             <legend><?= _('Belegungstypen auswählen') ?></legend>
             <section>
diff --git a/app/views/resources/export/select_booking_sources.php b/app/views/resources/export/select_booking_sources.php
index b814f1f3330..f82817560df 100644
--- a/app/views/resources/export/select_booking_sources.php
+++ b/app/views/resources/export/select_booking_sources.php
@@ -20,46 +20,10 @@
                        value="<?= $end->format('H:i')?>">
             </label>
         </fieldset>
-        <fieldset>
-            <legend><?= _('Wochentage auswählen') ?></legend>
-            <div class="hgroup">
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="1"
-                        <?= in_array('1', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Montag') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="2"
-                        <?= in_array('2', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Dienstag') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="3"
-                        <?= in_array('3', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Mittwoch') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="4"
-                        <?= in_array('4', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Donnerstag') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="5"
-                        <?= in_array('5', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Freitag') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="6"
-                        <?= in_array('6', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Samstag') ?>
-                </label>
-                <label>
-                    <input type="checkbox" name="weekdays[]" value="7"
-                        <?= in_array('7', $weekdays) ? 'checked' : '' ?>>
-                    <?= _('Sonntag') ?>
-                </label>
-            </div>
-        </fieldset>
+        <?= $this->render_partial(
+            'resources/export/weekday-selector.partial.php',
+            compact('weekdays')
+        ) ?>
         <? if ($available_rooms): ?>
             <table class="default">
                 <caption>
diff --git a/app/views/resources/export/weekday-selector.partial.php b/app/views/resources/export/weekday-selector.partial.php
new file mode 100644
index 00000000000..8c9fecb2fa0
--- /dev/null
+++ b/app/views/resources/export/weekday-selector.partial.php
@@ -0,0 +1,27 @@
+<?php
+/**
+ * @var string[] $weekdays
+ */
+
+$days_of_the_week = [
+    '1' => _('Montag'),
+    '2' => _('Dienstag'),
+    '3' => _('Mittwoch'),
+    '4' => _('Donnerstag'),
+    '5' => _('Freitag'),
+    '6' => _('Samstag'),
+    '7' => _('Sonntag'),
+]
+?>
+<fieldset>
+    <legend><?= _('Wochentage auswählen') ?></legend>
+    <div class="hgroup">
+    <? foreach ($days_of_the_week as $index => $label): ?>
+        <label>
+            <input type="checkbox" name="weekdays[]" value="<?= $index ?>"
+                <?= in_array($index, $weekdays) ? 'checked' : '' ?>>
+            <?= $label ?>
+        </label>
+    <? endforeach; ?>
+    </div>
+</fieldset>
-- 
GitLab