Compare commits

...

6 Commits

Author SHA1 Message Date
christianbeeznest 2798fee0e2
Merge pull request #6069 from christianbeeznest/fixes-updates66 9 months ago
Christian Beeznest d478c848e6 Internal: Fix language terms and translations 9 months ago
christianbeeznest d1f1a407e6
Merge pull request #6036 from christianbeeznest/GH-1655 9 months ago
Christian Beeznest ef12be8311 Internal: Minor: Add relative container for loading wallpost 9 months ago
Christian Beeznest d82e08c0bd Merge remote-tracking branch 'upstream/master' into GH-1655 9 months ago
Christian Beeznest 8689575e2f User: Add ordering logic for courses and sessions list - refs #1655 10 months ago
  1. 2
      assets/vue/components/social/SocialWallPostList.vue
  2. 10
      public/main/inc/ajax/statistics.ajax.php
  3. 2
      public/main/my_space/myStudents.php
  4. 4
      public/main/template/default/tracking/tracking_course_log.html.twig
  5. 4
      public/main/tracking/exams.php
  6. 26
      src/CoreBundle/DataProvider/Extension/CourseRelUserExtension.php
  7. 4
      src/CoreBundle/Repository/SessionRepository.php

@ -1,5 +1,5 @@
<template>
<div>
<div class="relative min-h-[300px]">
<SocialWallPost
v-for="socialPost in postList"
:key="socialPost.id"

@ -205,7 +205,7 @@ switch ($action) {
} elseif ('courses' == $action) {
$courseCategoryRepo = Container::getCourseCategoryRepository();
$categories = $courseCategoryRepo->findAll();
$statsName = 'CountCours';
$statsName = 'Total number of courses';
// total amount of courses
$all = [];
foreach ($categories as $category) {
@ -213,7 +213,7 @@ switch ($action) {
$all[$category->getTitle()] = $category->getCourses()->count();
}
} elseif ('courses_by_language' == $action) {
$statsName = 'CountCourseByLanguage';
$statsName = 'Count course by language';
$all = Statistics::printCourseByLanguageStats();
// use slightly different colors than previous chart
for ($k = 0; $k < 3; $k++) {
@ -221,7 +221,7 @@ switch ($action) {
array_push($palette, $item);
}
} elseif ('users' == $action) {
$statsName = 'NumberOfUsers';
$statsName = 'Number of users';
$countInvisible = isset($_GET['count_invisible']) ? (int) $_GET['count_invisible'] : null;
$all = [
get_lang('Trainers') => Statistics::countUsers(COURSEMANAGER, null, $countInvisible),
@ -286,7 +286,7 @@ switch ($action) {
$list = [];
$palette = ChamiloApi::getColorPalette(true, true);
$statsName = 'NumberOfUsers';
$statsName = 'Number of users';
$filter = $_REQUEST['filter'];
$startDate = $_REQUEST['date_start'];
@ -617,7 +617,7 @@ switch ($action) {
$list = [];
$palette = ChamiloApi::getColorPalette(true, true);
$statsName = 'NumberOfUsers';
$statsName = 'Number of users';
$filter = $_REQUEST['filter'];
$startDate = Database::escape_string($_REQUEST['date_start']);

@ -2032,7 +2032,7 @@ if (empty($details)) {
$i++;
}
} else {
echo '<tr><td colspan="6">'.get_lang('NoTest').'</td></tr>';
echo '<tr><td colspan="6">'.get_lang('There is no test for the moment').'</td></tr>';
}
echo '</tbody></table></div>';
}

@ -58,7 +58,7 @@ $(() => {
data: {
labels: ["0-9%", "10-19%", "20-29%", "30-39%", "40-49%", "50-59%", "60-69%", "70-79%", "80-89%", "90-100%"],
datasets: [{
label: '{{ "NumberOfUsers"|get_lang|e('js') }}',
label: '{{ "Number of users"|get_lang|e('js') }}',
data: {{ score_distribution|raw }},
backgroundColor: {{ chart_colors|raw }},
borderColor: {{ chart_colors|raw }},
@ -74,7 +74,7 @@ $(() => {
y: {
position: "left",
title: {
text: '{{ "NumberOfUsers"|get_lang|e('js') }}',
text: '{{ "Number of users"|get_lang|e('js') }}',
display: true
},
ticks: {

@ -376,7 +376,7 @@ if (!empty($courseList)) {
} else {
$html .= "<tr>
<td colspan='6'>
".get_lang('NoTest')."
".get_lang('There is no test for the moment')."
</td>
</tr>
";
@ -384,7 +384,7 @@ if (!empty($courseList)) {
} else {
$html .= "<tr>
<td colspan='6'>
".get_lang('NoTest')."
".get_lang('There is no test for the moment')."
</td>
</tr>
";

@ -60,20 +60,24 @@ final class CourseRelUserExtension implements QueryCollectionExtensionInterface
}
}
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());
}
}
}

@ -78,7 +78,9 @@ class SessionRepository extends ServiceEntityRepository
'user' => $user,
'url' => $url,
])
;
->orderBy('s.displayStartDate', 'ASC')
->addOrderBy('s.title', 'ASC')
->addOrderBy('s.position', 'ASC');
return $qb;
}

Loading…
Cancel
Save