diff --git a/lib/classes/UserManagement.class.php b/lib/classes/UserManagement.class.php index 3a98719c4894425a40b1ee5428ef8a1c1a111c2b..2dc1f59e63371f9b809d4d5f559213d06fe7d3a7 100644 --- a/lib/classes/UserManagement.class.php +++ b/lib/classes/UserManagement.class.php @@ -1005,6 +1005,17 @@ class UserManagement } if ($delete_personal_documents && $delete_personal_content && $delete_names && $delete_memberships) { + // Delete the user from resource property entries of type "user": + ResourceProperty::deleteBySQL( + "`property_id` IN ( + SELECT `property_id` + FROM `resource_property_definitions` + WHERE `type` = 'user' + ) + AND `state` = :user_id", + ['user_id' => $this->user_data['auth_user_md5.user_id']] + ); + // delete Stud.IP account $query = "DELETE FROM user_info WHERE user_id = ?"; $statement = DBManager::get()->prepare($query); diff --git a/lib/models/resources/ResourceProperty.class.php b/lib/models/resources/ResourceProperty.class.php index 1e6cdf85eee11671bb00cf796e2138d7e0433bf4..78101aac786a55291ce4e2ef73a6f76608aa3e5e 100644 --- a/lib/models/resources/ResourceProperty.class.php +++ b/lib/models/resources/ResourceProperty.class.php @@ -51,7 +51,7 @@ class ResourceProperty extends SimpleORMap parent::configure($config); } - + /** * Determines whether this resource property is requestable * by checking the requestable flag of the corresponding @@ -99,7 +99,11 @@ class ResourceProperty extends SimpleORMap $string .= $this->state; } elseif ($this->type == 'user') { $user = User::find($this->state); - $string .= $user->getFullName(); + if ($user) { + $string .= $user->getFullName(); + } else { + $string .= _('unbekannt'); + } } else { $string .= $this->state; }