mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
Groups upgrade fails if you have groups defined, but none of them contain any members.
This commit is contained in:
parent
3ea28768af
commit
c2f51fe3be
1 changed files with 8 additions and 19 deletions
|
@ -153,44 +153,33 @@ function groups_transfer_db() {
|
||||||
$status = true;
|
$status = true;
|
||||||
|
|
||||||
if (table_exists($t_groups = new XMLDBTable('groups_temp'))) {
|
if (table_exists($t_groups = new XMLDBTable('groups_temp'))) {
|
||||||
$status = $status &&(bool)$groups_r = get_records('groups_temp');
|
$groups_r = get_records('groups_temp');
|
||||||
$status = $status &&(bool)$members_r= get_records('groups_members_temp');
|
$members_r = get_records('groups_members_temp');
|
||||||
|
|
||||||
if (!$groups_r) {
|
if (!$groups_r) {
|
||||||
if (! $members_r) {
|
// No gropus to upgrade.
|
||||||
/*
|
|
||||||
* I think this might occur when group table is empty -- ohmori.
|
|
||||||
*/
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
|
||||||
return $status;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
foreach ($groups_r as $group) {
|
foreach ($groups_r as $group) {
|
||||||
if (debugging()) {
|
if (debugging()) {
|
||||||
print_object($group);
|
print_object($group);
|
||||||
}
|
}
|
||||||
$group->enrolmentkey = $group->password;
|
$group->enrolmentkey = $group->password;
|
||||||
///unset($group->password);
|
$status = $status && ($newgroupid = groups_db_upgrade_group($group->courseid, $group));
|
||||||
///unset($group->courseid);
|
|
||||||
$status = $status &&(bool)$newgroupid = groups_db_upgrade_group($group->courseid, $group);
|
|
||||||
if ($members_r) {
|
if ($members_r) {
|
||||||
foreach ($members_r as $member) {
|
foreach ($members_r as $member) {
|
||||||
if ($member->groupid == $group->id) {
|
if ($member->groupid == $group->id) {
|
||||||
$status = $status &&(bool)$memberid = groups_add_member($newgroupid, $member->userid);
|
$status = $status && groups_add_member($newgroupid, $member->userid);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
///$status = $status && drop_table($t_groups);
|
|
||||||
///$status = $status && drop_table(new XMLDBTable('groups_members_temp'));
|
|
||||||
} else {
|
} else {
|
||||||
return false;
|
$status = false;
|
||||||
}
|
}
|
||||||
return $status;
|
return $status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function groups_drop_keys_indexes_db() {
|
function groups_drop_keys_indexes_db() {
|
||||||
$result = true;
|
$result = true;
|
||||||
/// Define index groupid-courseid (unique) to be added to groups_members
|
/// Define index groupid-courseid (unique) to be added to groups_members
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue