aboutsummaryrefslogtreecommitdiff
path: root/app/views/course/timesrooms/editStack.php
blob: 9d072bd49ba5637239dfdb5886c8702ba45bf858 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
/**
 * @var Course_TimesroomsController $controller
 * @var string $cycle_id
 * @var array $linkAttributes
 * @var array $checked_dates
 * @var QuickSearch $room_search
 * @var array $teachers
 * @var array $gruppen
 * @var array $time_ranges
 * @var bool $allow_multiple_room_bookings
 * @var int $preparation_time
 * @var int $subsequent_time
 * @var int $max_preparation_time
 * @var string[] $selected_lecturer_ids
 * @var string[] $selected_room_ids
 */
?>
<form method="post" action="<?= $controller->link_for('course/timesrooms/saveStack/' . $cycle_id, $linkAttributes ?? []) ?>"
      class="default collapsable" data-dialog="size=big">
    <?= CSRFProtection::tokenTag()?>
    <input type="hidden" name="method" value="edit">
    <input type="hidden" name="checked_dates" value="<?= implode(',', $checked_dates) ?>">

    <section id="room-fieldset">
        <course-date-room-fieldset
            :time_ranges="<?= htmlReady(json_encode($time_ranges)) ?>"
            :course_date_ids="<?= htmlReady(json_encode($checked_dates)) ?>"
            :room_management_enabled="<?= Config::get()->RESOURCES_ENABLE ? 'true' : 'false' ?>"
            :allow_multiple_room_bookings="<?= $allow_multiple_room_bookings ? 'true' : 'false' ?>"
            :initial_preparation_time="<?= $preparation_time ?>"
            :initial_subsequent_time="<?= $subsequent_time ?>"
            :max_preparation_time="<?= $max_preparation_time ?>"
            :selected_rooms="<?= htmlReady(json_encode($selected_room_ids ?? [])) ?>"
            :show_nochange_option="true"
        ></course-date-room-fieldset>
    </section>

    <fieldset class="collapsed">
        <legend><?= _('Terminangaben') ?></legend>
        <label>
            <?= _('Art') ?>
            <select name="course_type" id="course_type">
                <option value=""><?= _('-- Keine Änderung --') ?></option>
                <? foreach ($GLOBALS['TERMIN_TYP'] as $id => $value) : ?>
                    <option value="<?= $id ?>"><?= htmlReady($value['name']) ?></option>
                <? endforeach ?>
            </select>
        </label>
    </fieldset>

    <fieldset class="collapsed">
        <legend><?= _('Durchführende Lehrende') ?></legend>
        <? if ($selected_lecturer_ids) : ?>
            <ul>
                <? foreach ($teachers as $teacher) : ?>
                    <? if (in_array($teacher['user_id'], $selected_lecturer_ids)) : ?>
                        <li><?= htmlReady($teacher['fullname']) ?></li>
                    <? endif ?>
                <? endforeach ?>
            </ul>
        <? endif ?>
        <label>
            <?= _('Aktion auswählen') ?>
            <select name="related_persons_action" id="related_persons_action">
                <option value=""><?= _('-- Keine Änderung --') ?></option>
                <option value="add"><?= _('Lehrende hinzufügen') ?></option>
                <option value="delete"><?= _('Lehrende entfernen') ?></option>
            </select>
        </label>

        <? if (!empty($teachers)) : ?>
            <label>
                <?= _('Lehrende') ?>
                <select name="related_persons[]" id="related_persons" multiple>
                <? foreach ($teachers as $teacher) : ?>
                    <option value="<?= htmlReady($teacher->user_id) ?>">
                        <?= htmlReady($teacher->user->getFullName()) ?>
                    </option>
                <? endforeach ?>
                </select>
            </label>
        <? endif ?>
    </fieldset>

    <? if (count($gruppen)) : ?>
        <fieldset class="collapsed">
            <legend><?= _('Beteiligte Gruppen') ?></legend>
            <label>
                <?= _('Aktion auswählen') ?>
                <select name="related_groups_action" id="related_groups_action">
                    <option value=""><?= _('-- Keine Änderung --') ?></option>
                    <option value="add"><?= _('Gruppen hinzufügen') ?></option>
                    <option value="delete"><?= _('Gruppen entfernen') ?></option>
                </select>
            </label>

            <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 ?>


    <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']
            ) ?>
        <? endif ?>
    </footer>
</form>
<script>
    STUDIP.Vue.load().then(({createApp}) => {
        STUDIP.editStackRoomFieldset = createApp({
            el: "#room-fieldset"
        });
    });
</script>