diff --git a/app/controllers/course/statusgroups.php b/app/controllers/course/statusgroups.php index 79c595bc2f056d5b82f57ce060634f6c9f927eba..273ac11774f9c2337c5e991df8878da534ab3476 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 68b902f62acd7cca523449bcbc42670d485d0dea..1c0927e7064073b8a92199109ccaf0196737205d 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);