Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fields set as locked are now disabled using the forms class rather than

javascript.
  • Loading branch information...
commit 68e9d3680216ebc2bd68200ef418b043ff9abbba 1 parent 84d04c3
ikawhero authored
Showing with 19 additions and 27 deletions.
  1. +1 −22 user/edit.php
  2. +18 −5 user/edit_form.php
View
23 user/edit.php
@@ -76,7 +76,7 @@
}
- $userform = new user_edit_form('edit.php', compact('user','course'));
+ $userform = new user_edit_form('edit.php', compact('user','course','authplugin'));
$userform->set_upload_manager(new upload_manager('imagefile',false,false,null,false,0,true,true));
/// If data submitted, then process and store.
@@ -339,27 +339,6 @@
$userform->display();
- if (!has_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM, SITEID))) { /// Lock all the locked fields using Javascript
- $fields = get_user_fieldnames();
-
- echo '<script type="text/javascript">'."\n";
- echo '<!--'."\n";
-
- foreach ($fields as $field) {
- $configvariable = 'field_lock_' . $field;
- if (isset($authplugin->config->{$configvariable})) {
- if ( $authplugin->config->{$configvariable} === 'locked'
- or ($authplugin->config->{$configvariable} === 'unlockedifempty' and !empty($user->$field))) {
- echo "eval('getElementById('editform').$field.disabled=true');\n";
- }
- }
- }
-
- echo '-->'."\n";
- echo '</script>'."\n";
- }
-
-
if (!isset($USER->newadminuser)) {
print_footer($course);
} else {
View
23 user/edit_form.php
@@ -9,10 +9,11 @@ class user_edit_form extends moodleform {
function definition () {
global $USER, $CFG;
- $mform =& $this->_form;
- $renderer =& $mform->defaultRenderer();
- $user = $this->_customdata['user'];
- $course = $this->_customdata['course'];
+ $mform =& $this->_form;
+ $renderer =& $mform->defaultRenderer();
+ $user = $this->_customdata['user'];
+ $course = $this->_customdata['course'];
+ $authplugin = $this->_customdata['authplugin'];
$systemcontext = get_context_instance(CONTEXT_SYSTEM, SITEID);
$userupdate = has_capability('moodle/user:update', $systemcontext);
@@ -290,6 +291,19 @@ function definition () {
/// override the defaults with the user settings
$this->set_defaults($user);
+
+ /// disable fields that are locked by auth plugins
+ if ($userupdate) {
+ $fields = get_user_fieldnames();
+
+ foreach ($fields as $field) {
+ $configvariable = 'field_lock_' . $field;
+ if (isset($authplugin->config->{$configvariable})) {
+ $mform->disabledIf($field, ( $authplugin->config->{$configvariable} === 'locked' or ($authplugin->config->{$configvariable} === 'unlockedifempty' and !empty($user->$field))), true);
+ }
+ }
+ }
+
/// Next the customisable categories
if ($categories = get_records_select('user_info_category', '1', 'sortorder ASC')) {
@@ -310,7 +324,6 @@ function definition () {
} /// End of $categories foreach
} /// End of $categories if
-
$this->add_action_buttons(false, get_string('updatemyprofile'));
} /// End of function
Please sign in to comment.
Something went wrong with that request. Please try again.