Skip to content

Commit 8723128

Browse files
committed
Plugin: BuyCourses: Fix course/session/service list #2615
1 parent 77d3751 commit 8723128

File tree

5 files changed

+27
-12
lines changed

5 files changed

+27
-12
lines changed

public/main/inc/lib/CoursesAndSessionsCatalog.class.php

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
use Chamilo\CoreBundle\Event\Events;
1616
use Chamilo\CoreBundle\Event\SessionResubscriptionEvent;
1717
use Chamilo\CoreBundle\Framework\Container;
18+
use Doctrine\ORM\Query;
1819
use Doctrine\ORM\Query\Expr\Join;
1920

2021
/**
@@ -727,11 +728,13 @@ public static function searchAndSortCourses(
727728
* @param array $limit
728729
* @param bool $returnQueryBuilder
729730
* @param bool $getCount
730-
*
731-
* @return array|\Doctrine\ORM\Query The session list
732731
*/
733-
public static function browseSessions($date = null, $limit = [], $returnQueryBuilder = false, $getCount = false)
734-
{
732+
public static function browseSessions(
733+
$date = null,
734+
$limit = [],
735+
$returnQueryBuilder = false,
736+
$getCount = false
737+
): Query|array|int {
735738
$urlId = api_get_current_access_url_id();
736739
$em = Database::getManager();
737740
$qb = $em->createQueryBuilder();
@@ -748,9 +751,9 @@ public static function browseSessions($date = null, $limit = [], $returnQueryBui
748751
->from(AccessUrlRelSession::class, 'url')
749752
->join(Session::class, 's2')
750753
->where(
751-
$qb->expr()->eq('url.sessionId ', 's2.id')
754+
$qb->expr()->eq('url.session ', 's2.id')
752755
)->andWhere(
753-
$qb->expr()->eq('url.accessUrlId ', $urlId))
756+
$qb->expr()->eq('url.url ', $urlId))
754757
->getDQL()
755758
)
756759
)

public/plugin/BuyCourses/src/buy_course_plugin.class.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2868,9 +2868,9 @@ private function getCourses($first, $maxResults): QueryBuilder
28682868
AccessUrlRelSession::class,
28692869
'us',
28702870
Join::WITH,
2871-
'us.sessionId = sc.session'
2871+
'us.session = sc.session'
28722872
)->where(
2873-
$qb->expr()->eq('us.accessUrlId ', $urlId)
2873+
$qb->expr()->eq('us.url ', $urlId)
28742874
)
28752875
->getDQL()
28762876
)
@@ -2887,8 +2887,8 @@ private function getCourses($first, $maxResults): QueryBuilder
28872887
->getDQL()
28882888
)
28892889
)
2890-
->setFirstResult($first)
2891-
->setMaxResults($maxResults);
2890+
->setFirstResult($first)
2891+
->setMaxResults($maxResults);
28922892

28932893
return $qb;
28942894
}

public/plugin/BuyCourses/src/list.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
$qb = $plugin->getCourseList($first, $pageSize);
3232
$query = $qb->getQuery();
33-
$courses = new Paginator($query, $fetchJoinCollection = true);
33+
$courses = new Paginator($query, true);
3434
foreach ($courses as $course) {
3535
$item = $plugin->getItemByProduct($course->getId(), BuyCoursesPlugin::PRODUCT_TYPE_COURSE);
3636
$course->buyCourseData = [];
@@ -63,6 +63,10 @@
6363
$tpl->assign('product_type_course', BuyCoursesPlugin::PRODUCT_TYPE_COURSE);
6464
$tpl->assign('product_type_session', BuyCoursesPlugin::PRODUCT_TYPE_SESSION);
6565
$tpl->assign('courses', $courses);
66+
$tpl->assign('sessions', []);
67+
$tpl->assign('services', []);
68+
$tpl->assign('session_pagination', '');
69+
$tpl->assign('service_pagination', '');
6670
$tpl->assign('course_pagination', $pagination);
6771
$tpl->assign('sessions_are_included', $includeSession);
6872
$tpl->assign('services_are_included', $includeServices);

public/plugin/BuyCourses/src/list_service.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,12 @@
5151
$tpl->assign('sessions_are_included', $includeSession);
5252
$tpl->assign('services_are_included', $includeServices);
5353
$tpl->assign('tax_enable', $taxEnable);
54+
$tpl->assign('courses', []);
55+
$tpl->assign('sessions', []);
5456
$tpl->assign('services', $services);
5557
$tpl->assign('service_pagination', $pagination);
58+
$tpl->assign('course_pagination', '');
59+
$tpl->assign('session_pagination', '');
5660

5761
if ($taxEnable) {
5862
$globalParameters = $plugin->getGlobalParameters();

public/plugin/BuyCourses/src/list_session.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
$tpl->assign('tax_enable', $taxEnable);
4949

5050
$query = CoursesAndSessionsCatalog::browseSessions(null, ['start' => $first, 'length' => $pageSize], true);
51-
$sessions = new Paginator($query, $fetchJoinCollection = true);
51+
$sessions = new Paginator($query, true);
5252
foreach ($sessions as $session) {
5353
$item = $plugin->getItemByProduct($session->getId(), BuyCoursesPlugin::PRODUCT_TYPE_SESSION);
5454
$session->buyCourseData = [];
@@ -63,8 +63,12 @@
6363
$url = api_get_self().'?type='.BuyCoursesPlugin::PRODUCT_TYPE_SESSION;
6464
$pagination = Display::getPagination($url, $currentPage, $pagesCount, $totalItems);
6565

66+
$tpl->assign('courses', []);
67+
$tpl->assign('services', []);
6668
$tpl->assign('sessions', $sessions);
6769
$tpl->assign('session_pagination', $pagination);
70+
$tpl->assign('course_pagination', '');
71+
$tpl->assign('service_pagination', '');
6872

6973
if ($taxEnable) {
7074
$globalParameters = $plugin->getGlobalParameters();

0 commit comments

Comments
 (0)