Skip to content

Commit

Permalink
MDL-70821 course: Activity information fixes
Browse files Browse the repository at this point in the history
* Make sure the activity is visible to the user (cm_info::uservisible)
before showing the activity completion information.
* Add to-do status for overridden automatic completion
  • Loading branch information
junpataleta committed Apr 12, 2021
1 parent 28a1a56 commit 24b48fd
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 13 deletions.
6 changes: 5 additions & 1 deletion course/classes/output/activity_information.php
Expand Up @@ -138,6 +138,9 @@ protected function build_completion_data(): stdClass {
$data->withavailability = !empty($CFG->enableavailability) && info::completion_value_used($course, $this->cminfo->id);
}

// Whether this activity is visible to the user. If not, completion information will not be shown.
$data->uservisible = $this->cminfo->uservisible;

// Build automatic completion details.
$details = [];
foreach ($this->cmcompletion->get_details() as $key => $detail) {
Expand All @@ -153,7 +156,8 @@ protected function build_completion_data(): stdClass {
'condition' => $detail->description,
'setby' => $data->overrideby,
];
$detail->accessibledescription = get_string('completion_setby:auto', 'course', $setbydata);
$overridestatus = $detail->statuscomplete ? 'done' : 'todo';
$detail->accessibledescription = get_string('completion_setby:auto:' . $overridestatus, 'course', $setbydata);
}

// We don't need the status in the template.
Expand Down
25 changes: 14 additions & 11 deletions course/templates/activity_info.mustache
Expand Up @@ -26,6 +26,7 @@
{
"activityname": "Course announcements",
"hascompletion": true,
"uservisible": true,
"hasdates": true,
"isautomatic": true,
"istrackeduser": true,
Expand Down Expand Up @@ -56,17 +57,19 @@
</div>
{{/hasdates}}
{{#hascompletion}}
<div data-region="completion-info">
{{#isautomatic}}
<div class="automatic-completion-conditions" data-region ="completionrequirements" role="list" aria-label="{{#str}}completionrequirements, core_course, {{activityname}}{{/str}}">
{{#completiondetails}}
{{> core_course/completion_automatic }}
{{/completiondetails}}
{{#uservisible}}
<div data-region="completion-info">
{{#isautomatic}}
<div class="automatic-completion-conditions" data-region ="completionrequirements" role="list" aria-label="{{#str}}completionrequirements, core_course, {{activityname}}{{/str}}">
{{#completiondetails}}
{{> core_course/completion_automatic }}
{{/completiondetails}}
</div>
{{/isautomatic}}
{{^isautomatic}}
{{> core_course/completion_manual }}
{{/isautomatic}}
</div>
{{/isautomatic}}
{{^isautomatic}}
{{> core_course/completion_manual }}
{{/isautomatic}}
</div>
{{/uservisible}}
{{/hascompletion}}
</div>
3 changes: 2 additions & 1 deletion lang/en/course.php
Expand Up @@ -53,7 +53,8 @@
$string['completion_manual:aria:markdone'] = 'Mark {$a} as done';
$string['completion_manual:done'] = 'Done';
$string['completion_manual:markdone'] = 'Mark as done';
$string['completion_setby:auto'] = 'Done: {$a->condition} (set by {$a->setby})';
$string['completion_setby:auto:done'] = 'Done: {$a->condition} (set by {$a->setby})';
$string['completion_setby:auto:todo'] = 'To do: {$a->condition} (set by {$a->setby})';
$string['completion_setby:manual:done'] = '{$a->activityname} is marked by {$a->setby} as done. Press to undo.';
$string['completion_setby:manual:markdone'] = '{$a->activityname} is marked by {$a->setby} as not done. Press to mark as done.';
$string['completionrequirements'] = 'Completion requirements for {$a}';
Expand Down

0 comments on commit 24b48fd

Please sign in to comment.