Newer
Older
<input type="hidden" name="search_sem_qs_choose" value="title_lecturer_number">
<? foreach ($courses as $course) : ?>
<input type="hidden" name="mandatory_course_id_old[]" value="<?= htmlReady($course->id) ?>">
<label class="caption">
<?= _('Mitgliedschaft in folgender Veranstaltung überprüfen') ?>:
</label>
<p>
<?=htmlReady($course->getFullName('number-name-semester'));?>
<a href="<?=URLHelper::getLink('dispatch.php/course/details/index/' . $course->id) ?>" data-dialog>
<?= Icon::create('info-circle')->asImg([
'title' =>_('Veranstaltungsdetails aufrufen')
]) ?>
<label class="caption">
<?= _('Modus') ?>:
</label>
<div>
<label>
<input type="radio" name="modus" value="0" <? if ($rule->modus == CourseMemberAdmission::MODE_MUST_BE_IN_COURSES) echo 'checked'; ?>>
<?=_("Mitgliedschaft ist in mindestens einer dieser Veranstaltungen notwendig")?>
<input type="radio" name="modus" value="1" <? if ($rule->modus == CourseMemberAdmission::MODE_MAY_NOT_BE_IN_COURSES) echo 'checked'; ?>>
<?=_("Mitgliedschaft ist in keiner dieser Veranstaltungen erlaubt")?>
</label>
</div>
<label class="caption">
<?= _('Veranstaltung suchen') ?>:
</label>
<div style="display:flex; align-items: flex-start; column-gap: 1em; flex-wrap: wrap">
<?=
QuickSearch::get("mandatory_course_id", new SeminarSearch('number-name-lecturer'))
->fireJSFunctionOnSelect('addcourse')
->setInputStyle('flex: 0 0 40%')
<div style="flex: 0 0 40%">
<?= Semester::getSemesterSelector(
['name' => 'search_sem_sem'],
Semester::getIndexById($_SESSION['_default_sem'], false, !$GLOBALS['perm']->have_perm('admin')),
'key',
false
)?>
</div>
<br/><br/>
<? foreach ($courses as $course) : ?>
<li>
<input type="hidden" id="<?= htmlReady($course->id) ?>"
name="courses_to_add[<?= htmlReady($course->id) ?>]"
value="<?= htmlReady($course->name) ?>">
<span><?= htmlReady($course->name) ?></span>
<a href="#" onclick="return removecourse('<?= htmlReady($course->id) ?>')">
<?= Icon::create('trash') ?>
</a>
</li>
<? endforeach ?>
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
$('#ruleform input[name="modus"]').on('change', function () {
const message = <?= json_encode([
_('Sie sind nicht in der Veranstaltung "%s" eingetragen.'),
_('Sie dürfen nicht in der Veranstaltung "%s" eingetragen sein.'),
]) ?>;
console.log(this, this.value);
$('#ruleform textarea').text(message[this.value]);
}).filter(':checked').change();
function addcourse(id, title) {
if ($('input[name="courses_to_add[' + id + ']"]').length === 0) {
var wrapper = $('<li>');
var input = $('<input>')
.attr('id', id)
.attr('type', 'hidden')
.attr('name', 'courses_to_add['+ id + ']')
.attr('value', title);
wrapper.append(input);
var trash = $('<input>')
.attr('type', 'image')
.attr('src', STUDIP.ASSETS_URL + 'images/icons/blue/trash.svg')
.attr('name', 'remove_[' + id + ']')
.attr('value', '1')
.attr('onclick', "return removecourse('" + id + "')");
var icon = $('<a>')
.attr('onclick', "return removecourse('" + id + "')")
.attr('href', '#');
var img = $('<img>')
.attr('src', STUDIP.ASSETS_URL + 'images/icons/blue/trash.svg')
.attr('width', '16px')
.attr('height', '16px');
icon.append(img);
var nametext = $('<span>')
.html(title)
.text();
wrapper.append(nametext);
wrapper.append(icon);
$('input[name=mandatory_course_id_parameter]').parent().find('ul').append(wrapper);
}
}
function removecourse(id) {
$('input#' + id).parent().remove();
return false;
}