Skip to content

Commit

Permalink
Merge branch 'wip-mdl-32787' of git://github.com/rajeshtaneja/moodle
Browse files Browse the repository at this point in the history
  • Loading branch information
Sam Hemelryk committed Jul 3, 2012
2 parents 20ef104 + fc3aa0f commit 941d1fb
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 26 deletions.
3 changes: 2 additions & 1 deletion user/edit.php
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,8 @@
//create form
$userform = new user_edit_form(null, array(
'editoroptions' => $editoroptions,
'filemanageroptions' => $filemanageroptions));
'filemanageroptions' => $filemanageroptions,
'userid' => $user->id));
if (empty($user->country)) {
// MDL-16308 - we must unset the value here so $CFG->country can be used as default one
unset($user->country);
Expand Down
27 changes: 16 additions & 11 deletions user/edit_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,23 @@ class user_edit_form extends moodleform {

// Define the form
function definition () {
global $CFG, $COURSE;
global $CFG, $COURSE, $USER;

$mform =& $this->_form;
if (is_array($this->_customdata) && array_key_exists('editoroptions', $this->_customdata)) {
$editoroptions = $this->_customdata['editoroptions'];
} else {
$editoroptions = null;
}
if (is_array($this->_customdata) && array_key_exists('filemanageroptions', $this->_customdata)) {
$filemanageroptions = $this->_customdata['filemanageroptions'];
} else {
$filemanageroptions = null;
$editoroptions = null;
$filemanageroptions = null;
$userid = $USER->id;

if (is_array($this->_customdata)) {
if (array_key_exists('editoroptions', $this->_customdata)) {
$editoroptions = $this->_customdata['editoroptions'];
}
if (array_key_exists('filemanageroptions', $this->_customdata)) {
$filemanageroptions = $this->_customdata['filemanageroptions'];
}
if (array_key_exists('userid', $this->_customdata)) {
$userid = $this->_customdata['userid'];
}
}
//Accessibility: "Required" is bad legend text.
$strgeneral = get_string('general');
Expand All @@ -47,7 +52,7 @@ function definition () {
}

/// Next the customisable profile fields
profile_definition($mform);
profile_definition($mform, $userid);

$this->add_action_buttons(false, get_string('updatemyprofile'));
}
Expand Down
3 changes: 2 additions & 1 deletion user/editadvanced.php
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,8 @@
//create form
$userform = new user_editadvanced_form(null, array(
'editoroptions' => $editoroptions,
'filemanageroptions' => $filemanageroptions));
'filemanageroptions' => $filemanageroptions,
'userid' => $user->id));
$userform->set_data($user);

if ($usernew = $userform->get_data()) {
Expand Down
24 changes: 14 additions & 10 deletions user/editadvanced_form.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,20 @@ function definition() {
global $USER, $CFG, $COURSE;

$mform =& $this->_form;
$editoroptions = null;
$filemanageroptions = null;
$userid = $USER->id;

if (is_array($this->_customdata) && array_key_exists('editoroptions', $this->_customdata)) {
$editoroptions = $this->_customdata['editoroptions'];
} else {
$editoroptions = null;
}
if (is_array($this->_customdata) && array_key_exists('filemanageroptions', $this->_customdata)) {
$filemanageroptions = $this->_customdata['filemanageroptions'];
} else {
$filemanageroptions = null;
if (is_array($this->_customdata)) {
if (array_key_exists('editoroptions', $this->_customdata)) {
$editoroptions = $this->_customdata['editoroptions'];
}
if (array_key_exists('filemanageroptions', $this->_customdata)) {
$filemanageroptions = $this->_customdata['filemanageroptions'];
}
if (array_key_exists('userid', $this->_customdata)) {
$userid = $this->_customdata['userid'];
}
}

//Accessibility: "Required" is bad legend text.
Expand Down Expand Up @@ -66,7 +70,7 @@ function definition() {
useredit_shared_definition($mform, $editoroptions, $filemanageroptions);

/// Next the customisable profile fields
profile_definition($mform);
profile_definition($mform, $userid);

$this->add_action_buttons(false, get_string('updatemyprofile'));
}
Expand Down
8 changes: 5 additions & 3 deletions user/profile/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,8 @@ function edit_field_set_default($mform) {
* @param object instance of the moodleform class
*/
function edit_field_set_required($mform) {
if ($this->is_required() and !has_capability('moodle/user:update', get_context_instance(CONTEXT_SYSTEM))) {
global $USER;
if ($this->is_required() && ($this->userid == $USER->id)) {
$mform->addRule($this->inputname, get_string('required'), 'required', null, 'client');
}
}
Expand Down Expand Up @@ -352,8 +353,9 @@ function profile_load_data($user) {
/**
* Print out the customisable categories and fields for a users profile
* @param object instance of the moodleform class
* @param int $userid id of user whose profile is being edited.
*/
function profile_definition($mform) {
function profile_definition($mform, $userid = 0) {
global $CFG, $DB;

// if user is "admin" fields are displayed regardless
Expand All @@ -377,7 +379,7 @@ function profile_definition($mform) {
foreach ($fields as $field) {
require_once($CFG->dirroot.'/user/profile/field/'.$field->datatype.'/field.class.php');
$newfield = 'profile_field_'.$field->datatype;
$formfield = new $newfield($field->id);
$formfield = new $newfield($field->id, $userid);
$formfield->edit_field($mform);
}
}
Expand Down

0 comments on commit 941d1fb

Please sign in to comment.