aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/course/overview.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2022-11-24 10:29:24 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2022-11-24 10:29:24 +0000
commit7dddea8ccca601bf2da28960f2e27a223fe60ea6 (patch)
treeb34ee92f9a4e0e4c1f7e4dcf5f15b396f9097d6f /app/controllers/course/overview.php
parent1231022837beceedef376e4bb8084ff38fbc7d93 (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.php26
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."),
[