diff --git a/classes/completion_progress.php b/classes/completion_progress.php index 8577795091..9afb5fd604 100644 --- a/classes/completion_progress.php +++ b/classes/completion_progress.php @@ -49,6 +49,11 @@ class completion_progress implements \renderable { */ const ORDERBY_TIME = 'orderbytime'; + /** + * Sort activities by name. + */ + const ORDERBY_NAME = 'orderbyname'; + /** * The course. * @var object @@ -414,6 +419,16 @@ private function sorter_orderbytime($a, $b): int { } } + /** + * Used to compare two activity entries based on activityname. + * + * @param array $a + * @param array $b + * @return integer + */ + private function sorter_orderbyname($a, $b): int { + return $a->name <=> $b->name; + } /** * Loads activities with completion set in current course. diff --git a/edit_form.php b/edit_form.php index bbe1b9b259..254fc7772a 100644 --- a/edit_form.php +++ b/edit_form.php @@ -62,6 +62,10 @@ protected function specific_definition($mform) { 'block_completion_progress', $expectedbystring), completion_progress::ORDERBY_COURSE => get_string('config_orderby_course_order', 'block_completion_progress'), + completion_progress::ORDERBY_NAME => get_string('config_orderby_name', + 'block_completion_progress'), + completion_progress::ORDERBY_IDNUMBER => get_string('config_orderby_idnumber', + 'block_completion_progress'), ); $label = get_string('config_orderby', 'block_completion_progress'); $mform->addElement('select', 'config_orderby', $label, $options); diff --git a/lang/en/block_completion_progress.php b/lang/en/block_completion_progress.php index d20fdfedef..66158a109f 100644 --- a/lang/en/block_completion_progress.php +++ b/lang/en/block_completion_progress.php @@ -41,6 +41,8 @@ $string['config_orderby'] = 'Order bar by'; $string['config_orderby_course_order'] = 'Ordering in course'; $string['config_orderby_due_time'] = 'Time using "{$a}" date'; +$string['config_orderby_name'] = 'Name of activity'; +$string['config_orderby_idnumber'] = 'IDNumber of activity'; $string['config_percentage'] = 'Show percentage to students'; $string['config_scroll'] = 'Scroll'; $string['config_selectactivities'] = 'Select activities';