Skip to content

Commit

Permalink
Merge pull request #6036 from christianbeeznest/GH-1655
Browse files Browse the repository at this point in the history
User: Add ordering logic for courses and sessions list - refs #1655
  • Loading branch information
christianbeeznest authored Feb 4, 2025
2 parents 59c97b1 + ef12be8 commit d1f1a40
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion assets/vue/components/social/SocialWallPostList.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<div>
<div class="relative min-h-[300px]">
<SocialWallPost
v-for="socialPost in postList"
:key="socialPost.id"
Expand Down
26 changes: 15 additions & 11 deletions src/CoreBundle/DataProvider/Extension/CourseRelUserExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,20 +60,24 @@ public function applyToCollection(
}
}

if ($this->security->isGranted('ROLE_ADMIN')) {
return;
}

if (CourseRelUser::class === $resourceClass) {
if ('collection_query' === $operation?->getName()) {
/** @var User|null $user */
if (null === $user = $this->security->getUser()) {
throw new AccessDeniedException('Access Denied.');
}

$rootAlias = $queryBuilder->getRootAliases()[0];
$queryBuilder->andWhere(\sprintf('%s.user = :current_user', $rootAlias));
$queryBuilder->setParameter('current_user', $user->getId());
$queryBuilder->leftJoin("$rootAlias.course", 'c');
$queryBuilder
->orderBy('c.title', 'ASC')
->addOrderBy("$rootAlias.sort", 'ASC')
->addOrderBy("$rootAlias.userCourseCat", 'ASC');

if (!$this->security->isGranted('ROLE_ADMIN')) {
/** @var User|null $user */
if (null === $user = $this->security->getUser()) {
throw new AccessDeniedException('Access Denied.');
}

$queryBuilder->andWhere(\sprintf('%s.user = :current_user', $rootAlias));
$queryBuilder->setParameter('current_user', $user->getId());
}
}
}

Expand Down
4 changes: 3 additions & 1 deletion src/CoreBundle/Repository/SessionRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ public function getSessionsByUser(User $user, AccessUrl $url): QueryBuilder
'user' => $user,
'url' => $url,
])
;
->orderBy('s.displayStartDate', 'ASC')
->addOrderBy('s.title', 'ASC')
->addOrderBy('s.position', 'ASC');

return $qb;
}
Expand Down

0 comments on commit d1f1a40

Please sign in to comment.