diff --git a/controllers/admin.php b/controllers/admin.php index fceba49af13e5c5b0f8851f35931c332383855cc..3d5b8ff5cc91043c1139f48c18c6e7841f38fce9 100644 --- a/controllers/admin.php +++ b/controllers/admin.php @@ -54,6 +54,7 @@ class AdminController extends StudipController CSRFProtection::verifyUnsafeRequest(); $block_id = Request::int('block_id'); + $group_id = Request::option('group_id'); if ($block_id) { $block = VipsBlock::find($block_id); @@ -65,8 +66,8 @@ class AdminController extends StudipController vips_require_status('tutor', $block->course_id); $block->name = Request::get('block_name'); - $block->group_id = Request::option('group_id') ?: null; - $block->visible = Request::int('block_visible', 0); + $block->group_id = $group_id ?: null; + $block->visible = $group_id !== ''; if (!Request::int('block_grouped')) { $block->weight = null; diff --git a/views/admin/edit_block.php b/views/admin/edit_block.php index 218d66781961eeb4183288ece0eb1a1471e55662..980934587cce79357aef516ff068f19480861b88 100644 --- a/views/admin/edit_block.php +++ b/views/admin/edit_block.php @@ -11,33 +11,29 @@ </label> <label> - <input type="checkbox" name="block_grouped" value="1" <?= $block->weight !== null ? 'checked' : '' ?>> - <?= _vips('Aufgabenblätter in der Bewertung gruppieren') ?> - <?= tooltipIcon(_vips('In der Ergebnisübersicht wird nur der Block anstelle der enthaltenen Aufgabenblätter aufgeführt.')) ?> + <?= _vips('Sichtbarkeit') ?> + <?= tooltipIcon(_vips('Blöcke und zugeordnete Aufgabenblätter können nur für bestimmte Gruppen sichtbar oder auch komplett unsichtbar gemacht werden.')) ?> + <select name="group_id"> + <option value="0"> + <?= _vips('Alle Teilnehmer (keine Beschränkung)') ?> + </option> + <option value="" <?= !$block->visible ? 'selected' : '' ?>> + <?= _vips('Für Teilnehmer unsichtbar') ?> + </option> + <? foreach ($groups as $group): ?> + <option value="<?= $group->id ?>" <?= $block->group_id === $group->id ? 'selected' : '' ?>> + <?= sprintf(_vips('Gruppe "%s"'), htmlReady($group->name)) ?> + </option> + <? endforeach ?> + </select> </label> <label> - <input type="checkbox" name="block_visible" value="1" <?= $block->visible ? 'checked' : '' ?> data-activates="#group_id"> - <?= _vips('Aufgabenblätter für Teilnehmer sichtbar') ?> - <?= tooltipIcon(_vips('Wenn Aufgabenblätter nur in anderen Tools (z.B. Courseware) verwendet werden, können sie in Vips unsichtbar gemacht werden.')) ?> + <input type="checkbox" name="block_grouped" value="1" <?= $block->weight !== null ? 'checked' : '' ?>> + <?= _vips('Aufgabenblätter in der Bewertung gruppieren') ?> + <?= tooltipIcon(_vips('In der Ergebnisübersicht wird nur der Block anstelle der enthaltenen Aufgabenblätter aufgeführt.')) ?> </label> - <? if ($groups): ?> - <label> - <?= _vips('Sichtbar nur für Teilnehmer der Gruppe') ?> - <select name="group_id" id="group_id" <?= !$block->visible ? 'disabled' : '' ?>> - <option value="0"> - <?= _vips('Alle Teilnehmer (keine Beschränkung)') ?> - </option> - <? foreach ($groups as $group): ?> - <option value="<?= $group->id ?>" <?= $block->group_id === $group->id ? 'selected' : '' ?>> - <?= htmlReady($group->name) ?> - </option> - <? endforeach ?> - </select> - </label> - <? endif ?> - <footer data-dialog-button> <?= Studip\Button::createAccept(_vips('Speichern'), 'store_block') ?> </footer>