Skip to content
Snippets Groups Projects
Commit bcf449c0 authored by Rasmus Fuhse's avatar Rasmus Fuhse
Browse files

Resolve "Ankündigungen können über den Arbeitsplatz nicht gespeichert werden"

Closes #2365

Merge request studip/studip!1995
parent 4d752619
No related branches found
No related tags found
No related merge requests found
...@@ -375,7 +375,7 @@ class NewsController extends StudipController ...@@ -375,7 +375,7 @@ class NewsController extends StudipController
'legend' => _('In weiteren Bereichen anzeigen'), 'legend' => _('In weiteren Bereichen anzeigen'),
'fields' => [ 'fields' => [
'news_ranges' => [ 'news_ranges' => [
'label' => _('Bereich auswählen'), 'label' => _('In weiteren Bereichen anzeigen'),
'type' => 'NewsRanges', 'type' => 'NewsRanges',
'required' => true 'required' => true
] ]
......
...@@ -56,6 +56,7 @@ class NewsRangesInput extends Input ...@@ -56,6 +56,7 @@ class NewsRangesInput extends Input
$template = $GLOBALS['template_factory']->open('forms/news_ranges_input'); $template = $GLOBALS['template_factory']->open('forms/news_ranges_input');
$template->name = $this->name; $template->name = $this->name;
$template->title = $this->title;
$template->items = $items; $template->items = $items;
$template->searchtype = new \NewsRangesSearch(); $template->searchtype = new \NewsRangesSearch();
$template->selectable = $selectable; $template->selectable = $selectable;
......
<template> <template>
<div> <div>
<div hidden>
<label class="hiddeninput" v-if="required && sortedItems.length === 0">
<span class="textlabel">{{ label }}</span>
<input type="text" required value="">
</label>
</div>
<div class="formpart"> <div class="formpart">
<ul class="clean editablelist"> <ul class="clean editablelist">
<li v-for="item in sortedItems" :key="item.id" :data-type="item.type"> <li v-for="item in sortedItems" :key="item.id" :data-type="item.type">
<studip-icon v-if="item.icon" :shape="item.icon" role="info" size="20" class="text-bottom" alt=""></studip-icon> <studip-icon v-if="item.icon" :shape="item.icon" role="info" :size="20" class="text-bottom" alt=""></studip-icon>
<input v-if="name" type="hidden" :name="name + '[]'" :value="item.value"> <input v-if="name" type="hidden" :name="name + '[]'" :value="item.value">
<span>{{item.name}}</span> <span>{{item.name}}</span>
<button v-if="item.deletable" @click.prevent="deleteItem(item)" :title="$gettextInterpolate($gettext('%{ name } löschen'), {name: item.name})" class="undecorated"> <button v-if="item.deletable" @click.prevent="deleteItem(item)" :title="$gettextInterpolate($gettext('%{ name } löschen'), {name: item.name})" class="undecorated">
<studip-icon shape="trash" role="clickable" size="20" class="text-bottom"></studip-icon> <studip-icon shape="trash" role="clickable" :size="20" class="text-bottom"></studip-icon>
</button> </button>
</li> </li>
</ul> </ul>
...@@ -57,6 +63,15 @@ export default { ...@@ -57,6 +63,15 @@ export default {
type: Array, type: Array,
required: false, required: false,
default: () => [], default: () => [],
},
required: {
required: false,
type: Boolean,
default: false
},
label: {
type: String,
required: false
} }
}, },
data () { data () {
......
...@@ -3,5 +3,7 @@ ...@@ -3,5 +3,7 @@
:items="<?= htmlReady(json_encode($items)) ?>" :items="<?= htmlReady(json_encode($items)) ?>"
:selectable="<?= htmlReady(json_encode($selectable)) ?>" :selectable="<?= htmlReady(json_encode($selectable)) ?>"
:category_order="<?= htmlReady(json_encode($category_order)) ?>" :category_order="<?= htmlReady(json_encode($category_order)) ?>"
:required="STUDIPFORM_REQUIRED.indexOf('<?= htmlReady($this->name) ?>') !== -1"
label="<?= htmlReady($this->title) ?>"
@input="output => <?= htmlReady($this->name) ?> = output"> @input="output => <?= htmlReady($this->name) ?> = output">
</editable-list> </editable-list>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment