MDL-49314 webservices: Add the new function to the mobile service
The commit also include some clean-up
This commit is contained in:
@@ -137,6 +137,7 @@ class core_completion_external extends external_api {
|
||||
* @return array of activities progress and warnings
|
||||
* @throws moodle_exception
|
||||
* @since Moodle 2.9
|
||||
* @throws moodle_exception
|
||||
*/
|
||||
public static function get_activities_completion_status($courseid, $userid) {
|
||||
global $CFG, $USER;
|
||||
@@ -158,10 +159,9 @@ class core_completion_external extends external_api {
|
||||
// Check that current user have permissions to see this user's activities.
|
||||
if ($user->id != $USER->id) {
|
||||
require_capability('report/progress:view', $context);
|
||||
$group = groups_get_course_group($course, true);
|
||||
$groupmode = groups_get_course_groupmode($course);
|
||||
if ($group === 0 && $groupmode == SEPARATEGROUPS &&
|
||||
!has_capability('moodle/site:accessallgroups', $context)) {
|
||||
|
||||
if ($groupmode == SEPARATEGROUPS && !has_capability('moodle/site:accessallgroups', $context)) {
|
||||
|
||||
$usergroups = groups_get_all_groups($course->id, $user->id);
|
||||
$currentusergroups = groups_get_all_groups($course->id, $USER->id);
|
||||
@@ -182,7 +182,7 @@ class core_completion_external extends external_api {
|
||||
foreach ($activities as $activity) {
|
||||
|
||||
// Check if current user has visibility on this activity.
|
||||
if (!$activity->uservisible) {
|
||||
if (!$activity->visible or !$activity->uservisible) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
+10
-8
@@ -99,15 +99,16 @@ $functions = array(
|
||||
'type' => 'read',
|
||||
'capabilities'=> 'moodle/cohort:view',
|
||||
),
|
||||
|
||||
|
||||
// Completion related functions.
|
||||
'core_completion_get_activities_completion_status' => array(
|
||||
'classname' => 'core_completion_external',
|
||||
'methodname' => 'get_activities_completion_status',
|
||||
'description' => 'Return the activities completion status for a user in a course.',
|
||||
'type' => 'read',
|
||||
'capabilities'=> 'moodle/progress:view',
|
||||
'classname' => 'core_completion_external',
|
||||
'methodname' => 'get_activities_completion_status',
|
||||
'description' => 'Return the activities completion status for a user in a course.',
|
||||
'type' => 'read',
|
||||
'capabilities' => '',
|
||||
),
|
||||
|
||||
|
||||
// Grade related functions.
|
||||
|
||||
'core_grades_get_grades' => array(
|
||||
@@ -1032,7 +1033,8 @@ $services = array(
|
||||
'core_user_remove_user_device',
|
||||
'core_course_get_courses',
|
||||
'core_completion_update_activity_completion_status_manually',
|
||||
'mod_data_get_databases_by_courses'
|
||||
'mod_data_get_databases_by_courses',
|
||||
'core_completion_get_activities_completion_status',
|
||||
),
|
||||
'enabled' => 0,
|
||||
'restrictedusers' => 0,
|
||||
|
||||
Reference in New Issue
Block a user