From 799e09084dc676940bd03aa93f379adf1ed9555e Mon Sep 17 00:00:00 2001 From: Jan-Hendrik Willms <tleilax+studip@gmail.com> Date: Tue, 14 Feb 2023 09:16:41 +0000 Subject: [PATCH] disallow NULL values for columns Vorname, Nachname and Email in table auth_user_md5, fixes #1998 Closes #1998 Merge request studip/studip!1393 --- app/controllers/course/members.php | 14 +++---- app/views/course/members/index.php | 15 +++++++- ....2.16_alter_auth_user_md5_null_columns.php | 38 +++++++++++++++++++ 3 files changed, 59 insertions(+), 8 deletions(-) create mode 100644 db/migrations/5.2.16_alter_auth_user_md5_null_columns.php diff --git a/app/controllers/course/members.php b/app/controllers/course/members.php index 4e31df1ebb6..e631bb75a89 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 2eef8b69fbc..fc77d2e7f81 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 00000000000..6cf1f2d49bb --- /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); + } +} -- GitLab