diff --git a/user_relationships.install b/user_relationships.install index 1df32ec..c083643 100644 --- a/user_relationships.install +++ b/user_relationships.install @@ -216,8 +216,31 @@ function user_relationships_update_7006() { db_add_field('user_relationship_types', 'machine_name', $field); + // Set the machine name. db_update('user_relationship_types') - ->expression('machine_name', 'name') + ->expression('machine_name', 'rtid') ->execute(); + + // Update any old permissions. + drupal_static_reset('user_relationships_types_load'); + $types = user_relationships_types_load(); + foreach ($types as $type) { + $permissions = array( + // Old => new. + 'can have ' . $type->name . ' relationships' => 'can have ' . $type->machine_name . ' relationships', + 'maintain ' . $type->name . ' relationships' => 'maintain ' . $type->machine_name . ' relationships', + 'can request ' . $type->name . ' relationships' => 'can request ' . $type->machine_name . ' relationships', + 'delete ' . $type->name . ' relationships' => 'delete ' . $type->machine_name . ' relationships', + ); + + foreach ($permissions as $old => $new) { + db_update('role_permission') + ->fields(array( + 'permission' => $new + )) + ->condition('permission', $old) + ->execute(); + } + } } }