From 45abc7d8c26f6719344a02f93073b636af63bb9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Wed, 13 Jul 2022 16:07:12 +0000
Subject: [PATCH] fix new semclass entries closes #1290

Closes #1290

Merge request studip/studip!808
---
 app/views/admin/sem_classes/add_sem_type.php |  2 +-
 lib/classes/SemClass.class.php               | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/app/views/admin/sem_classes/add_sem_type.php b/app/views/admin/sem_classes/add_sem_type.php
index c842f99c049..27f18c7b382 100644
--- a/app/views/admin/sem_classes/add_sem_type.php
+++ b/app/views/admin/sem_classes/add_sem_type.php
@@ -1,4 +1,4 @@
-<form action="?" method="post" class="default" id="add_sem_class_window" data-dialog>
+<form action="?" method="post" class="default" id="add_sem_class_window">
     <fieldset>
         <legend>
             <?= _('Veranstaltungskategorie anlegen') ?>
diff --git a/lib/classes/SemClass.class.php b/lib/classes/SemClass.class.php
index 027d29c1939..5ab5a2d5421 100644
--- a/lib/classes/SemClass.class.php
+++ b/lib/classes/SemClass.class.php
@@ -52,7 +52,7 @@ class SemClass implements ArrayAccess
     static public function getDefaultSemClass() {
         $data = [
             'name' => "Fehlerhafte Seminarklasse!",
-            'modules' => '{"CoreOverview":{"activated":1,"sticky":1},"CoreAdmin":{"activated":1,"sticky":1}, "CoreResources":{"activated":1,"sticky":0}}',
+            'modules' => '{"CoreOverview":{"activated":1,"sticky":1},"CoreAdmin":{"activated":1,"sticky":1}}',
             'visible' => 1,
             'is_group' => false
         ];
@@ -115,11 +115,21 @@ class SemClass implements ArrayAccess
         } else {
             $this->data = $data;
         }
-        if ($this->data['modules']) {
+        if (!empty($this->data['modules'])) {
             $this->data['modules'] = self::object2array(json_decode($this->data['modules']));
+
         } else {
             $this->data['modules'] = [];
         }
+        if (!empty($this->data['studygroup_mode'])) {
+            if (!isset($this->data['modules']['CoreStudygroupAdmin'])) {
+                $this->data['modules']['CoreStudygroupAdmin'] = ['activated' => 1, 'sticky' => 1];
+            }
+        } else {
+            if (!isset($this->data['modules']['CoreAdmin'])) {
+                $this->data['modules']['CoreAdmin'] = ['activated' => 1, 'sticky' => 1];
+            }
+        }
         foreach (array_keys($this->data['modules']) as $modulename) {
             if ($this->isModuleForbidden($modulename)) {
                 unset($this->data['modules'][$modulename]);
@@ -592,6 +602,7 @@ class SemClass implements ArrayAccess
      */
     static public function refreshClasses()
     {
+        StudipCacheFactory::getCache()->expire('DB_SEM_CLASSES_ARRAY');
         self::$sem_classes = null;
         return self::getClasses();
     }
-- 
GitLab