From 11e2dc0956ca81b4f599b3f10d5268a2af535626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Tue, 4 Mar 2025 16:35:04 +0100 Subject: [PATCH 1/5] fix: query quiqqer user int id for membership users --- src/QUI/Memberships/Users/Handler.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QUI/Memberships/Users/Handler.php b/src/QUI/Memberships/Users/Handler.php index 8217bf6..11adb1f 100644 --- a/src/QUI/Memberships/Users/Handler.php +++ b/src/QUI/Memberships/Users/Handler.php @@ -224,7 +224,7 @@ public function getMembershipUsersByUserId(int | string $userId, bool $includeAr { if (is_int($userId)) { try { - $userId = QUI::getUsers()->get($userId)->getUUID(); + $userId = QUI::getUsers()->get($userId)->getId(); } catch (QUI\Exception) { } } -- GitLab From 98bbd033f14c32e16f5915eb4e1e9032613f42f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Tue, 4 Mar 2025 16:35:08 +0100 Subject: [PATCH 2/5] style: code style --- src/QUI/Memberships/Users/MembershipUser.php | 1 - 1 file changed, 1 deletion(-) diff --git a/src/QUI/Memberships/Users/MembershipUser.php b/src/QUI/Memberships/Users/MembershipUser.php index ec77f02..f7eff41 100644 --- a/src/QUI/Memberships/Users/MembershipUser.php +++ b/src/QUI/Memberships/Users/MembershipUser.php @@ -19,7 +19,6 @@ use QUI\Permissions\Permission; use QUI\Verification\Interface\VerificationFactoryInterface; use QUI\Verification\VerificationFactory; -use QUI\Verification\Verifier; use QUI\Verification\Entity\LinkVerification; use QUI\Verification\Interface\VerificationRepositoryInterface; use QUI\Verification\VerificationRepository; -- GitLab From 232c7be0e4e51f330a66b3917cabc98ab084f248 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Tue, 4 Mar 2025 16:42:52 +0100 Subject: [PATCH 3/5] fix: correctly check if variable is string instead of int --- src/QUI/Memberships/Users/Handler.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/QUI/Memberships/Users/Handler.php b/src/QUI/Memberships/Users/Handler.php index 11adb1f..8a64b81 100644 --- a/src/QUI/Memberships/Users/Handler.php +++ b/src/QUI/Memberships/Users/Handler.php @@ -13,6 +13,8 @@ use QUI\Memberships\Utils; use QUI\Permissions\Permission; +use function is_string; + class Handler extends Factory { /** @@ -222,7 +224,7 @@ public function getIdsByMembershipId(int $membershipId, bool $includeArchived = */ public function getMembershipUsersByUserId(int | string $userId, bool $includeArchived = false): array { - if (is_int($userId)) { + if (is_string($userId)) { try { $userId = QUI::getUsers()->get($userId)->getId(); } catch (QUI\Exception) { -- GitLab From 9a4d6317ee7fa0753b7436c72d47ab04ec7c60a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Tue, 4 Mar 2025 16:45:13 +0100 Subject: [PATCH 4/5] fix: allow NULL in formatDate --- src/QUI/Memberships/Users/MembershipUser.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/QUI/Memberships/Users/MembershipUser.php b/src/QUI/Memberships/Users/MembershipUser.php index f7eff41..60fa689 100644 --- a/src/QUI/Memberships/Users/MembershipUser.php +++ b/src/QUI/Memberships/Users/MembershipUser.php @@ -951,11 +951,11 @@ public function getHistory(): array /** * Format date based on User Locale and duration mode * - * @param DateTime|string $date - Formatted date YYYY-MM-DD HH:MM:SS or \DateTime object + * @param DateTime|string|null $date - Formatted date YYYY-MM-DD HH:MM:SS or \DateTime object * @return string|false - formatted date or false on error * @throws Exception */ - protected function formatDate(DateTime | string $date): bool | string + protected function formatDate(DateTime | string | null $date): bool | string { if (empty($date) || $date === '0000-00-00 00:00:00') { return false; -- GitLab From b7cce748cfc75a0a6e81336e92fa147ee6332297 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20M=C3=BCller?= <p.mueller@pcsg.de> Date: Wed, 5 Mar 2025 08:25:19 +0100 Subject: [PATCH 5/5] fix: only show cancel btn in correct circumstances; use correct verification class for cancel abort --- bin/controls/profile/UserProfile.js | 2 +- src/QUI/Memberships/Users/MembershipUser.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/controls/profile/UserProfile.js b/bin/controls/profile/UserProfile.js index 26a253a..d8cc11b 100644 --- a/bin/controls/profile/UserProfile.js +++ b/bin/controls/profile/UserProfile.js @@ -228,7 +228,7 @@ define('package/quiqqer/memberships/bin/controls/profile/UserProfile', [ } // if autoextend and not cancelled -> hide endDate - if (Membership.cancelStatus == 0) { + if (!Membership.cancelled && Membership.cancelStatus == 0) { var CancelContainer = MembershipElm.getElement('.quiqqer-memberships-profile-userprofile-btn'); // cancel btn diff --git a/src/QUI/Memberships/Users/MembershipUser.php b/src/QUI/Memberships/Users/MembershipUser.php index 60fa689..2999622 100644 --- a/src/QUI/Memberships/Users/MembershipUser.php +++ b/src/QUI/Memberships/Users/MembershipUser.php @@ -1223,7 +1223,7 @@ protected function createAbortCancelVerification(): LinkVerification { return $this->verificationFactory->createLinkVerification( 'quiqqer-memberships-users-cancel-abort-' . $this->id, - new CancelVerification(), + new AbortCancelVerification(), [ 'membershipUserId' => $this->id ], -- GitLab