Merge branch 'MDL-64855-37_block_myoverview_course_category_display' of https://github.com/tomdickman/moodle

This commit is contained in:
David Monllaó
2019-04-15 07:50:45 +02:00
10 changed files with 90 additions and 7 deletions
File diff suppressed because one or more lines are too long
+11 -2
View File
@@ -90,7 +90,8 @@ function(
return {
display: courseRegion.attr('data-display'),
grouping: courseRegion.attr('data-grouping'),
sort: courseRegion.attr('data-sort')
sort: courseRegion.attr('data-sort'),
displaycategories: courseRegion.attr('data-displaycategories'),
};
};
@@ -370,9 +371,17 @@ function(
currentTemplate = TEMPLATES.COURSES_SUMMARY;
}
// Delete the course category if it is not to be displayed
if (filters.displaycategories != 'on') {
coursesData.courses = coursesData.courses.map(function(course) {
delete course.coursecategory;
return course;
});
}
if (coursesData.courses.length) {
return Templates.render(currentTemplate, {
courses: coursesData.courses
courses: coursesData.courses,
});
} else {
var nocoursesimg = root.find(Selectors.courseView.region).attr('data-nocoursesimg');
+10
View File
@@ -72,4 +72,14 @@ class block_myoverview extends block_base {
public function applicable_formats() {
return array('my' => true);
}
/**
* Allow the block to have a configuration page
*
* @return boolean
*/
public function has_config() {
return true;
}
}
+15 -1
View File
@@ -66,6 +66,13 @@ class main implements renderable, templatable {
*/
private $paging;
/**
* Store the display categories config setting
*
* @var boolean
*/
private $displaycategories;
/**
* main constructor.
* Initialize the user preferences
@@ -79,6 +86,12 @@ class main implements renderable, templatable {
$this->sort = $sort ? $sort : BLOCK_MYOVERVIEW_SORTING_TITLE;
$this->view = $view ? $view : BLOCK_MYOVERVIEW_VIEW_CARD;
$this->paging = $paging ? $paging : BLOCK_MYOVERVIEW_PAGING_12;
$config = get_config('block_myoverview');
if (!$config->displaycategories) {
$this->displaycategories = BLOCK_MYOVERVIEW_DISPLAY_CATEGORIES_OFF;
} else {
$this->displaycategories = BLOCK_MYOVERVIEW_DISPLAY_CATEGORIES_ON;
}
}
/**
@@ -110,7 +123,8 @@ class main implements renderable, templatable {
'grouping' => $this->grouping,
'sort' => $this->sort == BLOCK_MYOVERVIEW_SORTING_TITLE ? 'fullname' : 'ul.timeaccess desc',
'view' => $this->view,
'paging' => $this->paging
'paging' => $this->paging,
'displaycategories' => $this->displaycategories,
];
$preferences = $this->get_preferences_as_booleans();
@@ -49,6 +49,8 @@ $string['card'] = 'Card';
$string['cards'] = 'Cards';
$string['courseprogress'] = 'Course progress:';
$string['completepercent'] = '{$a}% complete';
$string['displaycategories'] = 'Display Categories';
$string['displaycategories_help'] = 'Display the Course Category on dashboard course items including cards, list items and summary items';
$string['favourites'] = 'Starred';
$string['future'] = 'Future';
$string['inprogress'] = 'In progress';
+6
View File
@@ -55,6 +55,12 @@ define('BLOCK_MYOVERVIEW_PAGING_12', 12);
define('BLOCK_MYOVERVIEW_PAGING_24', 24);
define('BLOCK_MYOVERVIEW_PAGING_48', 48);
/**
* Constants for the admin category display setting
*/
define('BLOCK_MYOVERVIEW_DISPLAY_CATEGORIES_ON', 'on');
define('BLOCK_MYOVERVIEW_DISPLAY_CATEGORIES_OFF', 'off');
/**
* Get the current user preferences that are available
*
+37
View File
@@ -0,0 +1,37 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Settings for the myoverview block
*
* @package block_myoverview
* @copyright 2019 Tom Dickman <[email protected]>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
if ($ADMIN->fulltree) {
require_once($CFG->dirroot . '/blocks/myoverview/lib.php');
// Display Course Categories on Dashboard course items (cards, lists, summary items).
$settings->add(new admin_setting_configcheckbox(
'block_myoverview/displaycategories',
get_string('displaycategories', 'block_myoverview'),
get_string('displaycategories_help', 'block_myoverview'),
1));
}
@@ -34,7 +34,8 @@
data-sort="{{sort}}"
data-prev-display="{{view}}"
data-paging="{{paging}}"
data-nocoursesimg="{{nocoursesimg}}">
data-nocoursesimg="{{nocoursesimg}}"
data-displaycategories="{{displaycategories}}">
<div data-region="course-view-content">
{{> block_myoverview/placeholders }}
</div>
@@ -47,7 +47,9 @@
<span class="sr-only">
{{#str}}aria:coursecategory, core_course{{/str}}
</span>
<div>{{{coursecategory}}}</div>
{{#displaycategories}}
<div>{{{coursecategory}}}</div>
{{/displaycategories}}
{{#showshortname}}
<div class="pl-1 pr-1">|</div>
<span class="sr-only">
@@ -54,7 +54,9 @@
<span class="sr-only">
{{#str}}aria:coursecategory, core_course{{/str}}
</span>
<div>{{{coursecategory}}}</div>
{{#displaycategories}}
<div>{{{coursecategory}}}</div>
{{/displaycategories}}
{{#showshortname}}
<div class="pl-1 pr-1">|</div>
<span class="sr-only">