aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMurtaza Sultani <sultani@data-quest.de>2025-09-05 09:54:01 +0200
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2025-09-05 09:54:01 +0200
commit3e4214d86aa0980458abba716316639987ac8995 (patch)
tree64668511c55ffce94b16f41ec5324a82b976cfa7
parenta70127011f09d2f98a874cdc1468a73d36ff8721 (diff)
Resolve "Forum3: Forumskonfigurationen von Veranstaltungskategorien entfernen"
Closes #5794 Merge request studip/studip!4415
-rw-r--r--app/controllers/admin/sem_classes.php2
-rw-r--r--app/controllers/course/admission.php4
-rw-r--r--app/views/admin/sem_classes/details.php16
-rw-r--r--db/migrations/6.1.16_remove_forum_configurations_from_sem_classes_table.php22
-rw-r--r--lib/classes/JsonApi/Schemas/SemClass.php2
-rw-r--r--lib/classes/SemClass.php8
-rw-r--r--resources/assets/javascripts/lib/admin_sem_class.js2
7 files changed, 23 insertions, 33 deletions
diff --git a/app/controllers/admin/sem_classes.php b/app/controllers/admin/sem_classes.php
index 3dc9f26..3d7a803 100644
--- a/app/controllers/admin/sem_classes.php
+++ b/app/controllers/admin/sem_classes.php
@@ -116,8 +116,6 @@ class Admin_SemClassesController extends AuthenticatedController
$sem_class->set('bereiche', Request::int("bereiche"));
$sem_class->set('module', Request::int("module"));
$sem_class->set('show_browse', Request::int("show_browse"));
- $sem_class->set('write_access_nobody', Request::int("write_access_nobody"));
- $sem_class->set('topic_create_autor', Request::int("topic_create_autor"));
$sem_class->set('visible', Request::int("visible"));
$sem_class->set('course_creation_forbidden', Request::int("course_creation_forbidden"));
$sem_class->set('create_description', Request::get("create_description"));
diff --git a/app/controllers/course/admission.php b/app/controllers/course/admission.php
index c11a5e5..0479cfb 100644
--- a/app/controllers/course/admission.php
+++ b/app/controllers/course/admission.php
@@ -44,9 +44,7 @@ class Course_AdmissionController extends AuthenticatedController
foreach ($lockrules as $rule) {
$this->is_locked[$rule] = LockRules::Check($this->course_id, $rule) ? 'disabled readonly' : '';
}
- if (!SeminarCategories::GetByTypeId($this->course->status)->write_access_nobody) {
- $this->is_locked['write_level'] = 'disabled readonly';
- }
+ $this->is_locked['write_level'] = 'disabled readonly';
AdmissionApplication::addMembers($this->course->id);
URLHelper::addLinkParam('return_to_dialog', Request::get('return_to_dialog'));
}
diff --git a/app/views/admin/sem_classes/details.php b/app/views/admin/sem_classes/details.php
index c5553d6..8080920 100644
--- a/app/views/admin/sem_classes/details.php
+++ b/app/views/admin/sem_classes/details.php
@@ -135,22 +135,6 @@
<fieldset>
<legend>
- <?= _("Forum") ?>
- </legend>
-
- <label>
- <input type="checkbox" id="topic_create_autor" value="1"<?= $sem_class['topic_create_autor'] ? " checked" : "" ?>>
- <?= _("Autoren dürfen Themen anlegen.") ?>
- </label>
-
- <label>
- <input type="checkbox" id="write_access_nobody" value="1"<?= $sem_class['write_access_nobody'] ? " checked" : "" ?>>
- <?= _("Unangemeldete Nutzer (nobody) dürfen posten.") ?>
- </label>
- </fieldset>
-
- <fieldset>
- <legend>
<?= _("Anzeige") ?>
</legend>
diff --git a/db/migrations/6.1.16_remove_forum_configurations_from_sem_classes_table.php b/db/migrations/6.1.16_remove_forum_configurations_from_sem_classes_table.php
new file mode 100644
index 0000000..05fabd2
--- /dev/null
+++ b/db/migrations/6.1.16_remove_forum_configurations_from_sem_classes_table.php
@@ -0,0 +1,22 @@
+<?php
+
+final class RemoveForumConfigurationsFromSemClassesTable extends Migration
+{
+ public function up()
+ {
+ DBManager::get()->exec("
+ ALTER TABLE `sem_classes`
+ DROP COLUMN `write_access_nobody`,
+ DROP COLUMN `topic_create_autor`
+ ");
+ }
+
+ public function down()
+ {
+ DBManager::get()->exec("
+ ALTER TABLE `sem_classes`
+ ADD COLUMN `write_access_nobody` TINYINT(3) UNSIGNED NOT NULL AFTER `show_browse`,
+ ADD COLUMN `topic_create_autor` TINYINT(3) UNSIGNED NOT NULL AFTER `write_access_nobody`
+ ");
+ }
+}
diff --git a/lib/classes/JsonApi/Schemas/SemClass.php b/lib/classes/JsonApi/Schemas/SemClass.php
index ea01a63..eb894aa 100644
--- a/lib/classes/JsonApi/Schemas/SemClass.php
+++ b/lib/classes/JsonApi/Schemas/SemClass.php
@@ -24,8 +24,6 @@ class SemClass extends SchemaProvider
'default-write-level' => (int) $resource['default_write_level'],
'bereiche' => (int) $resource['bereiche'],
'show-browse' => (bool) $resource['show_browse'],
- 'write-access-nobody' => (bool) $resource['write_access_nobody'],
- 'topic-create-autor' => (bool) $resource['topic_create_autor'],
'visible' => (bool) $resource['visible'],
'course-creation-forbidden' => (bool) $resource['course_creation_forbidden'],
];
diff --git a/lib/classes/SemClass.php b/lib/classes/SemClass.php
index e541d8c..5e20af5 100644
--- a/lib/classes/SemClass.php
+++ b/lib/classes/SemClass.php
@@ -370,8 +370,6 @@ class SemClass implements ArrayAccess
"bereiche = :bereiche, " .
"module = :module, " .
"show_browse = :show_browse, " .
- "write_access_nobody = :write_access_nobody, " .
- "topic_create_autor = :topic_create_autor, " .
"visible = :visible, " .
"course_creation_forbidden = :course_creation_forbidden, " .
"modules = :modules, " .
@@ -403,8 +401,6 @@ class SemClass implements ArrayAccess
'bereiche' => (int) $this->data['bereiche'],
'module' => (int) $this->data['module'],
'show_browse' => (int) $this->data['show_browse'],
- 'write_access_nobody' => (int) $this->data['write_access_nobody'],
- 'topic_create_autor' => (int) $this->data['topic_create_autor'],
'visible' => (int) $this->data['visible'],
'course_creation_forbidden' => (int) $this->data['course_creation_forbidden'],
'modules' => json_encode((object) $this->data['modules']),
@@ -503,10 +499,6 @@ class SemClass implements ArrayAccess
return (bool) $this->data['bereiche'];
case "show_browse":
return (bool) $this->data['show_browse'];
- case "write_access_nobody":
- return (bool) $this->data['write_access_nobody'];
- case "topic_create_autor":
- return (bool) $this->data['topic_create_autor'];
case "visible":
return (bool) $this->data['visible'];
case "studygroup_mode":
diff --git a/resources/assets/javascripts/lib/admin_sem_class.js b/resources/assets/javascripts/lib/admin_sem_class.js
index 10f698c..ddf98de 100644
--- a/resources/assets/javascripts/lib/admin_sem_class.js
+++ b/resources/assets/javascripts/lib/admin_sem_class.js
@@ -57,8 +57,6 @@ const admin_sem_class = {
bereiche: jQuery('#bereiche').is(':checked') ? 1 : 0,
module: jQuery('#module').is(':checked') ? 1 : 0,
show_browse: jQuery('#show_browse').is(':checked') ? 1 : 0,
- write_access_nobody: jQuery('#write_access_nobody').is(':checked') ? 1 : 0,
- topic_create_autor: jQuery('#topic_create_autor').is(':checked') ? 1 : 0,
visible: jQuery('#visible').is(':checked') ? 1 : 0,
course_creation_forbidden: jQuery('#course_creation_forbidden').is(':checked') ? 1 : 0,
create_description: jQuery('#create_description').val(),