MDL-45895 user: Re-organise orphans nodes on the preferences page
Part of MDL-45774
This commit is contained in:
committed by
Adrian Greeve
parent
0e8418a8de
commit
36ffc1511c
@@ -4221,18 +4221,20 @@ class settings_navigation extends navigation_node {
|
||||
$userauthplugin = get_auth_plugin($user->auth);
|
||||
}
|
||||
|
||||
$useraccount = $usersetting->add(get_string('useraccount'), null, self::TYPE_CONTAINER, null, 'useraccount');
|
||||
|
||||
// Add the profile edit link
|
||||
if (isloggedin() && !isguestuser($user) && !is_mnet_remote_user($user)) {
|
||||
if (($currentuser || is_siteadmin($USER) || !is_siteadmin($user)) && has_capability('moodle/user:update', $systemcontext)) {
|
||||
$url = new moodle_url('/user/editadvanced.php', array('id'=>$user->id, 'course'=>$course->id));
|
||||
$usersetting->add(get_string('editmyprofile'), $url, self::TYPE_SETTING);
|
||||
$useraccount->add(get_string('editmyprofile'), $url, self::TYPE_SETTING);
|
||||
} else if ((has_capability('moodle/user:editprofile', $usercontext) && !is_siteadmin($user)) || ($currentuser && has_capability('moodle/user:editownprofile', $systemcontext))) {
|
||||
if ($userauthplugin && $userauthplugin->can_edit_profile()) {
|
||||
$url = $userauthplugin->edit_profile_url();
|
||||
if (empty($url)) {
|
||||
$url = new moodle_url('/user/edit.php', array('id'=>$user->id, 'course'=>$course->id));
|
||||
}
|
||||
$usersetting->add(get_string('editmyprofile'), $url, self::TYPE_SETTING);
|
||||
$useraccount->add(get_string('editmyprofile'), $url, self::TYPE_SETTING);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4243,7 +4245,7 @@ class settings_navigation extends navigation_node {
|
||||
if (empty($passwordchangeurl)) {
|
||||
$passwordchangeurl = new moodle_url('/login/change_password.php', array('id'=>$course->id));
|
||||
}
|
||||
$usersetting->add(get_string("changepassword"), $passwordchangeurl, self::TYPE_SETTING, null, 'changepassword');
|
||||
$useraccount->add(get_string("changepassword"), $passwordchangeurl, self::TYPE_SETTING, null, 'changepassword');
|
||||
}
|
||||
|
||||
// View the roles settings
|
||||
@@ -4294,13 +4296,13 @@ class settings_navigation extends navigation_node {
|
||||
// Security keys
|
||||
if ($currentuser && $enablemanagetokens) {
|
||||
$url = new moodle_url('/user/managetoken.php', array('sesskey'=>sesskey()));
|
||||
$usersetting->add(get_string('securitykeys', 'webservice'), $url, self::TYPE_SETTING);
|
||||
$useraccount->add(get_string('securitykeys', 'webservice'), $url, self::TYPE_SETTING);
|
||||
}
|
||||
|
||||
// Messaging
|
||||
if (($currentuser && has_capability('moodle/user:editownmessageprofile', $systemcontext)) || (!isguestuser($user) && has_capability('moodle/user:editmessageprofile', $usercontext) && !is_primary_admin($user->id))) {
|
||||
$url = new moodle_url('/message/edit.php', array('id'=>$user->id));
|
||||
$usersetting->add(get_string('messaging', 'message'), $url, self::TYPE_SETTING);
|
||||
$useraccount->add(get_string('messaging', 'message'), $url, self::TYPE_SETTING);
|
||||
}
|
||||
|
||||
// Blogs
|
||||
@@ -4335,7 +4337,7 @@ class settings_navigation extends navigation_node {
|
||||
// Login as ...
|
||||
if (!$user->deleted and !$currentuser && !\core\session\manager::is_loggedinas() && has_capability('moodle/user:loginas', $coursecontext) && !is_siteadmin($user->id)) {
|
||||
$url = new moodle_url('/course/loginas.php', array('id'=>$course->id, 'user'=>$user->id, 'sesskey'=>sesskey()));
|
||||
$usersetting->add(get_string('loginas'), $url, self::TYPE_SETTING);
|
||||
$useraccount->add(get_string('loginas'), $url, self::TYPE_SETTING);
|
||||
}
|
||||
|
||||
// Let admin tools hook into user settings navigation.
|
||||
|
||||
Reference in New Issue
Block a user