Skip to content
Snippets Groups Projects
Commit bed8eba8 authored by André Noack's avatar André Noack
Browse files

hide invisible courses in coursesets fix #84

parent 9f5bc3d6
No related branches found
No related tags found
No related merge requests found
...@@ -124,7 +124,6 @@ class Course_EnrolmentController extends AuthenticatedController ...@@ -124,7 +124,6 @@ class Course_EnrolmentController extends AuthenticatedController
} else { } else {
$msg = _("Die Plätze in dieser Veranstaltung werden automatisch verteilt."); $msg = _("Die Plätze in dieser Veranstaltung werden automatisch verteilt.");
if ($limit = $courseset->getAdmissionRule('LimitedAdmission')) { if ($limit = $courseset->getAdmissionRule('LimitedAdmission')) {
$msg_details[] = sprintf(_("Diese Veranstaltung gehört zu einem Anmeldeset mit %s Veranstaltungen. Sie können maximal %s davon belegen. Bei der Verteilung werden die von Ihnen gewünschten Prioritäten berücksichtigt."), count($courseset->getCourses()), $limit->getMaxNumber());
$this->user_max_limit = $limit->getMaxNumberForUser($user_id); $this->user_max_limit = $limit->getMaxNumberForUser($user_id);
if (Config::get()->IMPORTANT_SEMNUMBER) { if (Config::get()->IMPORTANT_SEMNUMBER) {
$order = "ORDER BY VeranstaltungsNummer, Name"; $order = "ORDER BY VeranstaltungsNummer, Name";
...@@ -132,6 +131,14 @@ class Course_EnrolmentController extends AuthenticatedController ...@@ -132,6 +131,14 @@ class Course_EnrolmentController extends AuthenticatedController
$order = "ORDER BY Name"; $order = "ORDER BY Name";
} }
$this->priocourses = Course::findMany($courseset->getCourses(), $order); $this->priocourses = Course::findMany($courseset->getCourses(), $order);
if (!$GLOBALS['perm']->have_perm(Config::get()->SEM_VISIBILITY_PERM)) {
$this->priocourses = array_filter($this->priocourses,
function ($c) {
return $c->visible;
}
);
}
$msg_details[] = sprintf(_("Diese Veranstaltung gehört zu einem Anmeldeset mit %s Veranstaltungen. Sie können maximal %s davon belegen. Bei der Verteilung werden die von Ihnen gewünschten Prioritäten berücksichtigt."), count($this->priocourses), $limit->getMaxNumber());
$this->user_prio = AdmissionPriority::getPrioritiesByUser($courseset->getId(), $user_id); $this->user_prio = AdmissionPriority::getPrioritiesByUser($courseset->getId(), $user_id);
$this->max_limit = $limit->getMaxNumber(); $this->max_limit = $limit->getMaxNumber();
$this->prio_stats = AdmissionPriority::getPrioritiesStats($courseset->getId()); $this->prio_stats = AdmissionPriority::getPrioritiesStats($courseset->getId());
......
...@@ -1005,11 +1005,21 @@ class CourseSet ...@@ -1005,11 +1005,21 @@ class CourseSet
} }
if (!$short || $this->hasAdmissionRule('LimitedAdmission')) { if (!$short || $this->hasAdmissionRule('LimitedAdmission')) {
$courses = Course::findAndMapMany(function($c) { $courses = Course::findAndMapMany(function($c) {
return ['id' => $c->id, return [
'name' => $c->getFullname('number-name-semester')]; 'id' => $c->id,
'name' => $c->getFullname('number-name-semester'),
'visible' => $c->visible
];
}, },
array_keys($this->courses), array_keys($this->courses),
'ORDER BY start_time,VeranstaltungsNummer,Name'); 'ORDER BY start_time,VeranstaltungsNummer,Name');
if (!$GLOBALS['perm']->have_perm(Config::get()->SEM_VISIBILITY_PERM)) {
$courses = array_filter($courses,
function ($c) {
return $c['visible'];
}
);
}
$tpl->set_attribute('is_limited', $this->hasAdmissionRule('LimitedAdmission')); $tpl->set_attribute('is_limited', $this->hasAdmissionRule('LimitedAdmission'));
$tpl->set_attribute('courses', $courses); $tpl->set_attribute('courses', $courses);
} }
......
...@@ -25,9 +25,10 @@ ...@@ -25,9 +25,10 @@
<?php foreach ($courses as $course) { ?> <?php foreach ($courses as $course) { ?>
<li> <li>
<? if ($is_limited) : ?> <? if ($is_limited) : ?>
<a href="<?= URLHelper::getLink('dispatch.php/course/details/', ['cid' => null, 'sem_id' => $course['id']])?>"><?= htmlReady($course['name']) ?></a> <a href="<?= URLHelper::getLink('dispatch.php/course/details/', ['cid' => null, 'sem_id' => $course['id']])?>"><?= htmlReady($course['name']) . (!$course['visible'] ? ' (' . _("versteckt") . ')' : '') ?></a>
<? else : ?> <? else : ?>
<?= htmlReady($course['name']) ?> <?= htmlReady($course['name']) ?>
<?= (!$course['visible'] ? ' (' . _("versteckt") . ')' : '') ?>
<? endif ?> <? endif ?>
</li> </li>
<?php } ?> <?php } ?>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment