diff --git a/registration.install b/registration.install index 6cfe37e..64973a1 100644 --- a/registration.install +++ b/registration.install @@ -626,6 +626,15 @@ function registration_update_7108(&$sandbox) { } $new_permission = "create {$type_info->name} registration self"; foreach ($existing as $record) { + // Make sure the user has not fixed the permissions themselves. + $perm_given = db_select('role_permission', 'r') + ->condition('permission', $new_permission) + ->fields('r', array('rid')) + ->execute(); + if (!empty($perm_given)) { + continue; + } + db_insert('role_permission') ->fields(array( 'rid' => $record->rid,