Skip to content
Code-Schnipsel Gruppen Projekte
Commit 5f300a10 erstellt von Patrick Müller's avatar Patrick Müller
Dateien durchsuchen

feat: handle deleted users #18

Übergeordneter f2ed7cf6
No related branches found
No related tags found
Keine zugehörigen Merge Requests gefunden
<?xml version="1.0" encoding="UTF-8"?>
<events>
<event on="onPackageSetup" fire="\QUI\Memberships\Events::onPackageSetup"/>
<event on="onUserSave" fire="\QUI\Memberships\Events::onUserSave"/>
<event on="onUserDelete" fire="\QUI\Memberships\Events::onUserDelete"/>
<event on="onQuiqqerOrderSuccessful" fire="\QUI\Memberships\Events::onQuiqqerOrderSuccessful" priority="5"/>
<event on="onQuiqqerProductsFieldDeleteBefore" fire="\QUI\Memberships\Events::onQuiqqerProductsFieldDeleteBefore"/>
......
......@@ -123,6 +123,23 @@ public static function onUserSave(QUI\Users\User $User)
}
}
/**
* quiqqer/quiqqer: onUserDelete
*
* Delete user from alle memberships
*
* @param QUI\Users\User $User
* @return void
*/
public static function onUserDelete(QUI\Users\User $User): void
{
$membershipUsers = QUI\Memberships\Users\Handler::getInstance()->getMembershipUsersByUserId($User->getId());
foreach ($membershipUsers as $MembershipUser) {
$MembershipUser->delete();
}
}
/**
* quiqqer/products
*
......
......@@ -375,9 +375,10 @@ public function searchUsers($searchParams, $archivedOnly = false, $countOnly = f
$sql = "SELECT `musers`.id";
}
$sql .= " FROM `".$tbl."` musers, `".$usersTbl."` users";
$sql .= " FROM `".$tbl."` musers LEFT JOIN `".$usersTbl."` users";
$sql .= ' ON `musers`.userId = `users`.id';
$where[] = '`musers`.userId = `users`.id';
// $where[] = '`musers`.userId = `users`.id';
$where[] = '`musers`.membershipId = '.$this->id;
if ($archivedOnly === false) {
......@@ -420,8 +421,7 @@ public function searchUsers($searchParams, $archivedOnly = false, $countOnly = f
}
// ORDER
if (!empty($searchParams['sortOn'])
) {
if (!empty($searchParams['sortOn'])) {
$sortOn = Orthos::clear($searchParams['sortOn']);
switch ($sortOn) {
......
......@@ -762,9 +762,14 @@ public function getUserId()
* @return QUI\Users\User
* @throws \QUI\Exception
*/
public function getUser()
public function getUser(): ?QUI\Users\User
{
return QUI::getUsers()->get($this->getUserId());
try {
return QUI::getUsers()->get($this->getUserId());
} catch (\Exception $Exception) {
QUI\System\Log::writeException($Exception);
return null;
}
}
/**
......@@ -1073,13 +1078,13 @@ public function getBackendViewData()
return [
'id' => $this->getId(),
'userId' => $QuiqqerUser->getId(),
'userId' => $this->getUserId(),
'membershipId' => $Membership->getId(),
'membershipTitle' => $Membership->getTitle(),
'username' => $QuiqqerUser->getUsername(),
'firstname' => $QuiqqerUser->getAttribute('firstname'),
'lastname' => $QuiqqerUser->getAttribute('lastname'),
'fullName' => $QuiqqerUser->getName(),
'username' => $QuiqqerUser ? $QuiqqerUser->getUsername() : '-',
'firstname' => $QuiqqerUser ? $QuiqqerUser->getAttribute('firstname') : '-',
'lastname' => $QuiqqerUser ? $QuiqqerUser->getAttribute('lastname') : '-',
'fullName' => $QuiqqerUser ? $QuiqqerUser->getName() : '-',
'addedDate' => $this->getAttribute('addedDate'),
'beginDate' => $this->getAttribute('beginDate'),
'endDate' => $this->getAttribute('endDate'),
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren