From ad2256c7d00a28c5b5022c21a887c8eb83469a61 Mon Sep 17 00:00:00 2001
From: Rasmus Fuhse <fuhse@data-quest.de>
Date: Thu, 4 Nov 2021 10:07:18 +0100
Subject: [PATCH] re #391

---
 app/controllers/course/statusgroups.php | 5 +++--
 lib/models/Statusgruppen.php            | 8 +++++++-
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/app/controllers/course/statusgroups.php b/app/controllers/course/statusgroups.php
index 79c595bc2f0..273ac11774f 100644
--- a/app/controllers/course/statusgroups.php
+++ b/app/controllers/course/statusgroups.php
@@ -518,7 +518,8 @@ class Course_StatusgroupsController extends AuthenticatedController
                 $endtime = 0;
             }
         }
-        $position = Statusgruppen::find($group_id)->position;
+        $statusgruppe = Statusgruppen::find($group_id);
+        $position = $statusgruppe->position;
         $group = Statusgruppen::createOrUpdate(
             $group_id,
             Request::get('name'),
@@ -527,7 +528,7 @@ class Course_StatusgroupsController extends AuthenticatedController
             Request::int('selfassign', 0) + Request::int('exclusive', 0),
             strtotime(Request::get('selfassign_start', 'now')),
             Request::get('selfassign_end') ? strtotime(Request::get('selfassign_end')) : 0,
-            Request::int('makefolder', 0),
+            Request::int('makefolder', 0) || $statusgruppe->hasFolder(),
             Request::getArray('dates')
         );
 
diff --git a/lib/models/Statusgruppen.php b/lib/models/Statusgruppen.php
index 68b902f62ac..1c0927e7064 100644
--- a/lib/models/Statusgruppen.php
+++ b/lib/models/Statusgruppen.php
@@ -153,7 +153,7 @@ class Statusgruppen extends SimpleORMap implements PrivacyObject
          * Create document folder if requested (ID is needed here,
          * so we do that after store()).
          */
-        if (!$group->hasFolder() && $makefolder) {
+        if ($makefolder) {
             $group->updateFolder(true);
         }
 
@@ -360,6 +360,12 @@ class Statusgruppen extends SimpleORMap implements PrivacyObject
             return $folder->store();
         }
 
+        if ($this->hasFolder() && $set) {
+            $folder = $this->getFolder();
+            $folder->name = _('Dateiordner der Gruppe:') . ' ' . $this->name;
+            return $folder->store();
+        }
+
         // Create new CourseGroupFolder under top folder.
         if (!$this->hasFolder() && $set) {
             $topFolder = Folder::findTopFolder($this->range_id);
-- 
GitLab