diff options
| author | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2022-11-24 10:29:24 +0000 |
|---|---|---|
| committer | Jan-Hendrik Willms <tleilax+studip@gmail.com> | 2022-11-24 10:29:24 +0000 |
| commit | 7dddea8ccca601bf2da28960f2e27a223fe60ea6 (patch) | |
| tree | b34ee92f9a4e0e4c1f7e4dcf5f15b396f9097d6f /app/controllers/course/overview.php | |
| parent | 1231022837beceedef376e4bb8084ff38fbc7d93 (diff) | |
rework aux lock rules, use sorm model, deprecate old class and let name and description be translatable, fixes #1791
Closes #1791
Merge request studip/studip!1177
Diffstat (limited to 'app/controllers/course/overview.php')
| -rw-r--r-- | app/controllers/course/overview.php | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/app/controllers/course/overview.php b/app/controllers/course/overview.php index 0994d54..96e7f5a 100644 --- a/app/controllers/course/overview.php +++ b/app/controllers/course/overview.php @@ -87,24 +87,14 @@ class Course_OverviewController extends AuthenticatedController $this->show_dozenten = $show_dozenten; // Check lock rules - if (!$GLOBALS["perm"]->have_studip_perm('dozent', $this->course_id)) { - $rule = AuxLockRules::getLockRuleBySemId($this->course_id); - if (isset($rule)) { - $show = false; - foreach ((array) $rule['attributes'] as $val) { - if ($val == 1) { - // Es gibt also Zusatzangaben. Nun noch überprüfen ob der Nutzer diese Angaben schon gemacht hat... - $count = DataField::countBySql("LEFT JOIN datafields_entries USING (datafield_id) WHERE object_type = ? AND sec_range_id = ? AND range_id = ?", - ['usersemdata', $this->course_id, $GLOBALS['user']->id] - ); - if (!$count) { - $show = true; - } - break; - } - } - - if ($show) { + if (!$GLOBALS['perm']->have_studip_perm('dozent', $this->course_id)) { + $rule = AuxLockRule::findOneByCourse($this->course); + if ($rule && count($rule->attributes) > 0) { + $count = DataField::countBySql("LEFT JOIN datafields_entries USING (datafield_id) WHERE object_type = ? AND sec_range_id = ? AND range_id = ?", + ['usersemdata', $this->course_id, $GLOBALS['user']->id] + ); + + if ($count === 0) { PageLayout::postInfo( _("Sie haben noch nicht die für diese Veranstaltung benötigten Zusatzinformationen eingetragen."), [ |
