moodle/user
David Mudrák 8df850ad6f MDL-46946 user: Make missing required custom fields trigger profile edit
If there is a required custom field that the user can fill by editing
their profile, and that field is missing, the user should be considered
as not fully set up. Instead, we want to redirect them to edit their
profile first.

There are some exceptions when we want to fall back to the previous
behaviour and check just the name and email fields. These exceptional
cases include checking remote user data in incoming MNet request (no
user id, no custom fields supported) and calls to require_login() with
redirecting disabled (typically ajax filepicker requests on profile
editing page itself).

Additional plugins that call the function user_not_fully_set_up()
themselves, should perform the strict check in most/typical cases. So
the strict mode is enabled by default even if it changes the behaviour
slightly. In improbable case of additional plugins relying on the
previous behaviour of the function, they can use the $strict parameter
and keep performing the lax check. However, I am sure the correct fix in
that case will likely be to stop abusing this function.

Note that custom fields are not currently transferred during the MNet
roaming. So having custom fields configured as required on MNet service
provider site (where users can't edit their profiles) is expected to
display an error (as the site is considered as misconfigured).
2016-09-21 17:46:30 +02:00
..
classes MDL-52798 calendar: Move calendar preferences to a user preferences page 2016-09-06 21:29:34 -04:00
filters MDL-51784 various: use __construct() for PHP7 compatibility 2015-12-11 12:48:24 +08:00
profile MDL-46946 user: Make missing required custom fields trigger profile edit 2016-09-21 17:46:30 +02:00
selector MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
tests MDL-46946 user: Make missing required custom fields trigger profile edit 2016-09-21 17:46:30 +02:00
action_redir.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
addnote.php MDL-50484 core_grade: courseheader id should be unique 2016-02-19 14:00:04 +08:00
calendar.php MDL-52798 calendar: Move calendar preferences to a user preferences page 2016-09-06 21:29:34 -04:00
course.php MDL-53399 core: "activity chooser off/on" in user preference 2016-06-03 00:46:16 -06:00
edit.php MDL-46946 user: Make missing required custom fields trigger profile edit 2016-09-21 17:46:30 +02:00
edit_form.php MDL-53954 user: Prevent locked profile fields from being edited 2016-05-06 09:27:26 +08:00
editadvanced.php MDL-51789 users: Allow picture update from webservices. 2016-06-21 16:36:53 +10:00
editadvanced_form.php MDL-55873 login: change back username fields to use PARAM_RAW 2016-09-12 11:49:14 +08:00
editlib.php MDL-46946 user: Make missing required custom fields trigger profile edit 2016-09-21 17:46:30 +02:00
editor.php MDL-55425 user: allow to update another user editor pref 2016-08-05 09:36:00 +08:00
editor_form.php MDL-55425 user: allow to update another user editor pref 2016-08-05 09:36:00 +08:00
emailupdate.php MDL-30811 core: Replace use of continue_button with redirect 2016-02-29 09:05:58 +08:00
externallib.php MDL-55266 user: New WS core_user_get_user_preferences 2016-07-28 12:08:58 +02:00
files.php MDL-49983 navigation: Remove 'my' from user context navigation 2015-05-04 12:38:50 +08:00
files_form.php MDL-47197 core: Private files handler 2014-10-07 10:01:19 +08:00
forum.php MDL-52938 mod_forum: check global setting to track forum posts 2016-02-02 10:54:22 +08:00
forum_form.php MDL-52781 core_user: replace direct PARAM_ usages. 2016-04-21 15:24:36 +08:00
groupaddnote.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
grouppix.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
index.php MDL-53382 core: Move select all link 2016-04-07 17:31:37 +01:00
language.php MDL-52781 core_user: replace direct PARAM_ usages. 2016-04-21 15:24:36 +08:00
language_form.php MDL-52781 core_user: replace direct PARAM_ usages. 2016-04-21 15:24:36 +08:00
lib.php MDL-51758 libraries: Remove password_compat library from core 2016-07-18 10:06:57 +08:00
managetoken.php MDL-42317 output: reviewed standard/base layouts and converted where a better option was available 2014-04-06 15:57:32 +12:00
message.html MDL-51257 messages: Improve message form. 2015-12-03 10:20:55 +08:00
messageselect.php MDL-54928 notifications: Add username to emailto users 2016-07-05 10:34:52 +02:00
module.js MDL-49963 core: Select all button on participant list works across pages 2016-03-07 11:08:12 +00:00
pix.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
pixgroup.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
policy.php MDL-44255 user: tidied up phpdocs and coding style 2014-02-24 09:23:47 +13:00
portfolio.php MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
portfoliologs.php MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
preferences.php MDL-50917 navigation: Allow users with permission to access preferences. 2015-09-22 10:57:51 +08:00
profile.php MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
profilesys.php MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
renderer.php MDL-50851 user: use new tag API for interests 2016-01-10 15:25:47 +08:00
repository.php MDL-35628 performance: Remove dirname() where possible. 2016-06-10 08:06:49 +10:00
view.php MDL-30811 core: Replace use of continue_button with redirect 2016-02-29 09:05:58 +08:00