mirror of
https://github.com/moodle/moodle.git
synced 2025-04-27 11:23:06 +02:00
Merged MDL-13676: last-minute field change to fix an Oracle problem
This commit is contained in:
parent
62193086a9
commit
87486420a5
@ -170,7 +170,7 @@
|
||||
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
|
||||
foreach ($aliasnames as $alias) {
|
||||
if (isset($assignableroles[$alias->roleid])) {
|
||||
$assignableroles[$alias->roleid] = $alias->text.' ('.$assignableroles[$alias->roleid].')';
|
||||
$assignableroles[$alias->roleid] = $alias->name.' ('.$assignableroles[$alias->roleid].')';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -160,7 +160,7 @@
|
||||
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
|
||||
foreach ($aliasnames as $alias) {
|
||||
if (isset($overridableroles[$alias->roleid])) {
|
||||
$overridableroles[$alias->roleid] = $alias->text.' ('.$overridableroles[$alias->roleid].')';
|
||||
$overridableroles[$alias->roleid] = $alias->name.' ('.$overridableroles[$alias->roleid].')';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -377,7 +377,7 @@ class course_edit_form extends moodleform {
|
||||
$mform->addElement('text', 'role_'.$role->id, $role->name);
|
||||
if ($coursecontext) {
|
||||
if ($rolename = get_record('role_names', 'roleid', $role->id, 'contextid', $coursecontext->id)) {
|
||||
$mform->setDefault('role_'.$role->id, $rolename->text);
|
||||
$mform->setDefault('role_'.$role->id, $rolename->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1861,7 +1861,7 @@ function print_course($course) {
|
||||
|
||||
/// Rename some of the role names if needed
|
||||
if (isset($context)) {
|
||||
$aliasnames = get_records('role_names', 'contextid', $context->id,'','roleid,contextid,text');
|
||||
$aliasnames = get_records('role_names', 'contextid', $context->id,'','roleid,contextid,name');
|
||||
}
|
||||
|
||||
foreach ($rusers as $ra) {
|
||||
@ -1869,7 +1869,7 @@ function print_course($course) {
|
||||
$fullname = fullname($ra->user, $canviewfullnames);
|
||||
|
||||
if (isset($aliasnames[$ra->roleid])) {
|
||||
$ra->rolename = $aliasnames[$ra->roleid]->text;
|
||||
$ra->rolename = $aliasnames[$ra->roleid]->name;
|
||||
}
|
||||
|
||||
$namesarray[] = format_string($ra->rolename)
|
||||
@ -2925,14 +2925,14 @@ function update_course($data) {
|
||||
|
||||
} else if ($t = get_record('role_names', 'contextid', $context->id, 'roleid', $roleid)) {
|
||||
|
||||
$t->text = $dvalue;
|
||||
$t->name = $dvalue;
|
||||
update_record('role_names', $t);
|
||||
|
||||
} else {
|
||||
|
||||
$t->contextid = $context->id;
|
||||
$t->roleid = $roleid;
|
||||
$t->text = $dvalue;
|
||||
$t->name = $dvalue;
|
||||
insert_record('role_names', $t);
|
||||
}
|
||||
|
||||
|
@ -559,7 +559,7 @@ function groups_calculate_role_people($rs,$contextid) {
|
||||
}
|
||||
|
||||
// Get role aliases for course in array of roleid => obj->text
|
||||
if(!($aliasnames=get_records('role_names','contextid',$contextid,'','roleid,text'))) {
|
||||
if(!($aliasnames=get_records('role_names','contextid',$contextid,'','roleid,name'))) {
|
||||
$aliasnames=array();
|
||||
}
|
||||
|
||||
@ -592,7 +592,7 @@ function groups_calculate_role_people($rs,$contextid) {
|
||||
$roledata->id=$rec->roleid;
|
||||
$roledata->shortname=$rec->roleshortname;
|
||||
if(array_key_exists($rec->roleid,$aliasnames)) {
|
||||
$roledata->name=$aliasnames[$rec->roleid]->text;
|
||||
$roledata->name=$aliasnames[$rec->roleid]->name;
|
||||
} else {
|
||||
$roledata->name=$rec->rolename;
|
||||
}
|
||||
|
@ -4027,16 +4027,25 @@ function get_user_roles_in_context($userid, $context, $view=true){
|
||||
|
||||
$rolestring = '';
|
||||
$SQL = 'select * from '.$CFG->prefix.'role_assignments ra, '.$CFG->prefix.'role r where ra.userid='.$userid.' and ra.contextid='.$context->id.' and ra.roleid = r.id';
|
||||
$rolenames = array();
|
||||
if ($roles = get_records_sql($SQL)) {
|
||||
foreach ($roles as $userrole) {
|
||||
// MDL-12544, if we are in view mode and current user has no capability to view hidden assignment, skip it
|
||||
if ($userrole->hidden && $view && !has_capability('moodle/role:viewhiddenassigns', $context)) {
|
||||
continue;
|
||||
}
|
||||
$rolenames[$userrole->roleid] = $userrole->name;
|
||||
$rolestring .= '<a href="'.$CFG->wwwroot.'/user/index.php?contextid='.$userrole->contextid.'&roleid='.$userrole->roleid.'">'.$userrole->name.'</a>, ';
|
||||
}
|
||||
|
||||
$rolenames = role_fix_names($rolenames, $context); // Substitute aliases
|
||||
|
||||
foreach ($rolenames as $roleid => $rolename) {
|
||||
$rolenames[$roleid] = '<a href="'.$CFG->wwwroot.'/user/index.php?contextid='.$context->id.'&roleid='.$roleid.'">'.$rolename.'</a>';
|
||||
}
|
||||
$rolestring = implode(',', $rolenames);
|
||||
}
|
||||
return rtrim($rolestring, ', ');
|
||||
return $rolestring;
|
||||
}
|
||||
|
||||
|
||||
@ -4199,7 +4208,7 @@ function get_assignable_roles ($context, $field="name") {
|
||||
|
||||
// apply context role aliases if name requested
|
||||
if ($field == 'name') {
|
||||
$f = "COALESCE(rn.text, r.name) AS name";
|
||||
$f = "COALESCE(rn.name, r.name) AS name";
|
||||
} else {
|
||||
$f = "r.$field";
|
||||
}
|
||||
@ -4257,7 +4266,7 @@ function get_assignable_roles_for_switchrole ($context, $field="name") {
|
||||
|
||||
// apply context role aliases if name requested
|
||||
if ($field == 'name') {
|
||||
$f = "COALESCE(rn.text, r.name) AS name";
|
||||
$f = "COALESCE(rn.name, r.name) AS name";
|
||||
} else {
|
||||
$f = "r.$field";
|
||||
}
|
||||
@ -5284,7 +5293,7 @@ function user_has_role_assignment($userid, $roleid, $contextid=0) {
|
||||
*/
|
||||
function role_get_name($role, $coursecontext) {
|
||||
if ($r = get_record('role_names','roleid', $role->id,'contextid', $coursecontext->id)) {
|
||||
return strip_tags(format_string($r->text));
|
||||
return strip_tags(format_string($r->name));
|
||||
} else {
|
||||
return strip_tags(format_string($role->name));
|
||||
}
|
||||
@ -5300,7 +5309,7 @@ function role_fix_names($roleoptions, $coursecontext) {
|
||||
if ($aliasnames = get_records('role_names', 'contextid', $coursecontext->id)) {
|
||||
foreach ($aliasnames as $alias) {
|
||||
if (isset($roleoptions[$alias->roleid])) {
|
||||
$roleoptions[$alias->roleid] = $alias->text;
|
||||
$roleoptions[$alias->roleid] = $alias->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<XMLDB PATH="lib/db" VERSION="20080227" COMMENT="XMLDB file for core Moodle tables"
|
||||
<XMLDB PATH="lib/db" VERSION="20080229" COMMENT="XMLDB file for core Moodle tables"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../../lib/xmldb/xmldb.xsd"
|
||||
>
|
||||
@ -859,7 +859,8 @@
|
||||
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" SEQUENCE="true" ENUM="false" NEXT="roleid"/>
|
||||
<FIELD NAME="roleid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="id" NEXT="contextid"/>
|
||||
<FIELD NAME="contextid" TYPE="int" LENGTH="10" NOTNULL="true" UNSIGNED="true" DEFAULT="0" SEQUENCE="false" ENUM="false" PREVIOUS="roleid" NEXT="text"/>
|
||||
<FIELD NAME="text" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="contextid"/>
|
||||
<FIELD NAME="text" TYPE="text" LENGTH="small" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="contextid" NEXT="name"/>
|
||||
<FIELD NAME="name" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" ENUM="false" PREVIOUS="text"/>
|
||||
</FIELDS>
|
||||
<KEYS>
|
||||
<KEY NAME="primary" TYPE="primary" FIELDS="id" NEXT="roleid"/>
|
||||
|
@ -2921,6 +2921,29 @@ function xmldb_main_upgrade($oldversion=0) {
|
||||
upgrade_main_savepoint($result, 2007101508.07);
|
||||
}
|
||||
|
||||
if ($result && $oldversion < 2007101508.08) { // MDL-13676
|
||||
|
||||
/// Define field name to be added to role_names
|
||||
$table = new XMLDBTable('role_names');
|
||||
$field = new XMLDBField('name');
|
||||
$field->setAttributes(XMLDB_TYPE_CHAR, '255', null, XMLDB_NOTNULL, null, null, null, null, 'text');
|
||||
|
||||
/// Launch add field name
|
||||
$result = $result && add_field($table, $field);
|
||||
|
||||
/// Copy data from old field to new field
|
||||
$result = $result && execute_sql('UPDATE '.$CFG->prefix.'role_names SET name = text');
|
||||
|
||||
/// Define field text to be dropped from role_names
|
||||
$table = new XMLDBTable('role_names');
|
||||
$field = new XMLDBField('text');
|
||||
|
||||
/// Launch drop field text
|
||||
$result = $result && drop_field($table, $field);
|
||||
|
||||
/// Main savepoint reached
|
||||
upgrade_main_savepoint($result, 2007101508.08);
|
||||
}
|
||||
|
||||
|
||||
return $result;
|
||||
|
@ -6,7 +6,7 @@
|
||||
// This is compared against the values stored in the database to determine
|
||||
// whether upgrades should be performed (see lib/db/*.php)
|
||||
|
||||
$version = 2007101508.07; // YYYYMMDD = date of the 1.9 branch (don't change)
|
||||
$version = 2007101508.08; // YYYYMMDD = date of the 1.9 branch (don't change)
|
||||
// X = release number 1.9.[0,1,2,3...]
|
||||
// Y.YY = micro-increments between releases
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user