MDL-58071 user: Return usernotfullysetup exception in WS
authorJuan Leyva <juanleyvadelgado@gmail.com>
Fri, 24 Feb 2017 11:42:42 +0000 (12:42 +0100)
committerJuan Leyva <juanleyvadelgado@gmail.com>
Fri, 24 Feb 2017 19:11:27 +0000 (20:11 +0100)
If there is an empty required custom user profile field, Web Services
should return the usernotfullysetup exception instead ignoring it.
The mobile app already handles this exception for core fields
redirecting the user to web in order to fill the missing field.

lib/moodlelib.php

index 966112f..4d83a6f 100644 (file)
@@ -2663,10 +2663,10 @@ function require_login($courseorid = null, $autologinguest = true, $cm = null, $
     }
 
     // Check that the user account is properly set up. If we can't redirect to
-    // edit their profile, perform just the lax check. It will allow them to
-    // use filepicker on the profile edit page.
+    // edit their profile and this is not a WS request, perform just the lax check.
+    // It will allow them to use filepicker on the profile edit page.
 
-    if ($preventredirect) {
+    if ($preventredirect && !WS_SERVER) {
         $usernotfullysetup = user_not_fully_set_up($USER, false);
     } else {
         $usernotfullysetup = user_not_fully_set_up($USER, true);