Skip to content
Snippets Groups Projects
Commit 08f9e74a authored by Peter Thienel's avatar Peter Thienel Committed by Jan-Hendrik Willms
Browse files

Resolve unselect last study area if at least one lv group is assigned, re #1681

Closes #1681

Merge request studip/studip!1085
parent 15f53c1d
No related branches found
No related tags found
No related merge requests found
......@@ -71,7 +71,8 @@ class Course_StudyAreasController extends AuthenticatedController
if (Request::get('open_node')) {
$this->values[get_class($this->step)]['open_node'] = Request::get('open_node');
}
$this->must_have_studyareas = $this->is_required();
$this->is_activated = $this->is_activated();
$this->is_required = $this->is_required();
$this->values[get_class($this->step)]['locked'] = $this->locked;
$this->tree = $this->step->getStepTemplate($this->values, 0, 0);
......@@ -122,7 +123,6 @@ class Course_StudyAreasController extends AuthenticatedController
$msg = $this->unassign();
}
} else {
$studyareas = Request::getArray('studyareas');
......@@ -131,13 +131,12 @@ class Course_StudyAreasController extends AuthenticatedController
$this->redirect($url);
return;
}
if (!empty($studyareas) && !$this->is_required()) {
if (!empty($studyareas) && !$this->is_activated()) {
PageLayout::postError(_('Sie dürfen keine Studienbereiche zuweisen.'));
$this->redirect($url);
return;
}
try {
$this->course->setStudyAreas($studyareas);
} catch (UnexpectedValueException $e) {
......@@ -200,6 +199,21 @@ class Course_StudyAreasController extends AuthenticatedController
* @return boolean True if required.
*/
private function is_required()
{
$sem_class = $this->course->getSemClass();
if (get_class($this->step) === 'StudyAreasLVGroupsCombinedWizardStep') {
if ($sem_class['module']) {
$lv_gruppen = Lvgruppe::findBySeminar($this->course->id);
if (count($lv_gruppen)) {
return false;
}
}
}
return (bool) $sem_class['bereiche'];
}
private function is_activated()
{
$sem_class = $this->course->getSemClass();
return (bool) $sem_class['bereiche'];
......
......@@ -3,8 +3,10 @@
<? endif?>
<?= $tree ?>
<div style="text-align: center;">
<? if ($must_have_studyareas) : ?>
<?= _("Die Veranstaltung muss <b>mindestens einen</b> Studienbereich haben.") ?>
<? if ($is_activated) : ?>
<? if ($is_required) : ?>
<?= _("Die Veranstaltung muss <b>mindestens einen</b> Studienbereich haben.") ?>
<? endif ?>
<? else : ?>
<?= _("Die Veranstaltung darf <b>keine</b> Studienbereiche haben.") ?>
<? endif ?>
......
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