aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2023-02-14 09:16:41 +0000
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2023-02-14 09:16:41 +0000
commit799e09084dc676940bd03aa93f379adf1ed9555e (patch)
treecb0d7ef3622139f3408d3a781e5b152d279d064b
parente3f61de1f8d1188e233ca5d0e6a6bd3728f8cd4b (diff)
disallow NULL values for columns Vorname, Nachname and Email in table auth_user_md5, fixes #1998
Closes #1998 Merge request studip/studip!1393
-rw-r--r--app/controllers/course/members.php14
-rw-r--r--app/views/course/members/index.php15
-rw-r--r--db/migrations/5.2.16_alter_auth_user_md5_null_columns.php38
3 files changed, 59 insertions, 8 deletions
diff --git a/app/controllers/course/members.php b/app/controllers/course/members.php
index 4e31df1..e631bb7 100644
--- a/app/controllers/course/members.php
+++ b/app/controllers/course/members.php
@@ -121,9 +121,9 @@ class Course_MembersController extends AuthenticatedController
$this->sort_by . ' ' . $this->order
)
);
- $this->awaiting = $filtered_members['awaiting']->toArray('user_id username vorname nachname visible mkdate');
- $this->accepted = $filtered_members['accepted']->toArray('user_id username vorname nachname visible mkdate');
- $this->claiming = $filtered_members['claiming']->toArray('user_id username vorname nachname visible mkdate');
+ $this->awaiting = $filtered_members['awaiting']->toArray();
+ $this->accepted = $filtered_members['accepted']->toArray();
+ $this->claiming = $filtered_members['claiming']->toArray();
}
// Check autor-perms
@@ -144,10 +144,10 @@ class Course_MembersController extends AuthenticatedController
}
// get member informations
- $this->dozenten = $filtered_members['dozent']->toArray('user_id username vorname nachname');
- $this->tutoren = $filtered_members['tutor']->toArray('user_id username vorname nachname mkdate');
- $this->autoren = $filtered_members['autor']->toArray('user_id username vorname nachname visible mkdate');
- $this->users = $filtered_members['user']->toArray('user_id username vorname nachname visible mkdate');
+ $this->dozenten = $filtered_members['dozent']->toArray();
+ $this->tutoren = $filtered_members['tutor']->toArray();
+ $this->autoren = $filtered_members['autor']->toArray();
+ $this->users = $filtered_members['user']->toArray();
$this->studipticket = Seminar_Session::get_ticket();
$this->subject = $this->getSubject();
$this->groups = $this->status_groups;
diff --git a/app/views/course/members/index.php b/app/views/course/members/index.php
index 2eef8b6..fc77d2e 100644
--- a/app/views/course/members/index.php
+++ b/app/views/course/members/index.php
@@ -1,3 +1,16 @@
+<?php
+/**
+ * @var array $dozenten
+ * @var array $tutoren
+ * @var array $autoren
+ * @var array $users
+ * @var array $accepted
+ * @var array $awaiting
+ * @var Course $course
+ * @var bool $is_tutor
+ * @var bool $semAdmissionEnabled
+ */
+?>
<? if (count($dozenten) > 0) : ?>
<?= $this->render_partial('course/members/dozent_list') ?>
<? endif ?>
@@ -17,7 +30,7 @@
<div class="clear"></div>
<? endif ?>
-<? if(count($autoren) >0) : ?>
+<? if (count($autoren) > 0) : ?>
<br />
<?= $this->render_partial('course/members/autor_list') ?>
<? endif ?>
diff --git a/db/migrations/5.2.16_alter_auth_user_md5_null_columns.php b/db/migrations/5.2.16_alter_auth_user_md5_null_columns.php
new file mode 100644
index 0000000..6cf1f2d
--- /dev/null
+++ b/db/migrations/5.2.16_alter_auth_user_md5_null_columns.php
@@ -0,0 +1,38 @@
+<?php
+/**
+ * @see https://gitlab.studip.de/studip/studip/-/issues/1998
+ */
+final class AlterAuthUserMd5NullColumns extends Migration
+{
+ public function description()
+ {
+ return 'Removes NULL values from columns in auth_user_md5';
+ }
+
+ public function up()
+ {
+ $query = "UPDATE `auth_user_md5` SET `Vorname` = '' WHERE `Vorname` IS NULL";
+ DBManager::get()->exec($query);
+
+ $query = "UPDATE `auth_user_md5` SET `Nachname` = '' WHERE `Nachname` IS NULL";
+ DBManager::get()->exec($query);
+
+ $query = "UPDATE `auth_user_md5` SET `Email` = '' WHERE `Email` IS NULL";
+ DBManager::get()->exec($query);
+
+ $query = "ALTER TABLE `auth_user_md5`
+ CHANGE COLUMN `Vorname` `Vorname` VARCHAR(64) NOT NULL DEFAULT '',
+ CHANGE COLUMN `Nachname` `Nachname` VARCHAR(64) NOT NULL DEFAULT '',
+ CHANGE COLUMN `Email` `Email` VARCHAR(256) NOT NULL DEFAULT ''";
+ DBManager::get()->exec($query);
+ }
+
+ public function down()
+ {
+ $query = "ALTER TABLE `auth_user_md5`
+ CHANGE COLUMN `Vorname` `Vorname` VARCHAR(64) DEFAULT NULL,
+ CHANGE COLUMN `Nachname` `Nachname` VARCHAR(64) DEFAULT NULL,
+ CHANGE COLUMN `Email` `Email` VARCHAR(256) DEFAULT NULL";
+ DBManager::get()->exec($query);
+ }
+}