From acad4d72d75d679f842fff982b908af5392d6210 Mon Sep 17 00:00:00 2001 From: Trevor Simonton Date: Thu, 24 Jan 2013 10:10:19 -0700 Subject: [PATCH] Issue #1335950 by tmsimont: Permissions are keyed by changeable name not immutable id, fix that --- user_relationships.module | 10 +++--- user_relationships.test | 40 +++++++++++----------- user_relationships_ui/user_relationships_ui.test | 16 ++++---- 3 files changed, 33 insertions(+), 33 deletions(-) diff --git a/user_relationships.module b/user_relationships.module index 292fa85..13ec859 100644 --- a/user_relationships.module +++ b/user_relationships.module @@ -292,19 +292,19 @@ function user_relationships_permission() { )); foreach (user_relationships_types_load() as $type) { - $permissions['can have ' . $type->name . ' relationships'] = array( + $permissions['can have ' . $type->rtid . ' relationships'] = array( 'title' => t('Have %name relationships', array('%name' => $type->name)), 'description' => t('The user may have relationships of this type.'), ); - $permissions['maintain ' . $type->name . ' relationships'] = array( + $permissions['maintain ' . $type->rtid . ' relationships'] = array( 'title' => t('Maintain %name relationships', array('%name' => $type->name)), 'description' => t('The user may approve or decline relationship requests of this type.'), ); - $permissions['can request ' . $type->name . ' relationships'] = array( + $permissions['can request ' . $type->rtid . ' relationships'] = array( 'title' => t('Request %name relationships', array('%name' => $type->name)), 'description' => t('The user may request relationships of this type.'), ); - $permissions['delete ' . $type->name . ' relationships'] = array( + $permissions['delete ' . $type->rtid . ' relationships'] = array( 'title' => t('Delete %name relationships', array('%name' => $type->name)), 'description' => t('The user may delete current relationships of this type.'), ); @@ -907,7 +907,7 @@ function user_relationships_user_access($permission, $relationship = NULL, $acco } foreach ($relationships as $r) { - $relationship_permission = str_replace('@relationship', $r->name, $permission); + $relationship_permission = str_replace('@relationship', $r->rtid, $permission); if (user_access($relationship_permission, $account)) { return TRUE; } diff --git a/user_relationships.test b/user_relationships.test index 496104c..b1e7976 100644 --- a/user_relationships.test +++ b/user_relationships.test @@ -179,16 +179,16 @@ class UserRelationshipsTestCase extends UserRelationshipsBaseTestCase { $this->createDefaultRelationshipTypes(); $permissions = array( - 'can have ' . $this->rtypes['oneway']->name . ' relationships', - 'can request ' . $this->rtypes['oneway']->name . ' relationships', - 'can have ' . $this->rtypes['twoway']->name . ' relationships', - 'can request ' . $this->rtypes['twoway']->name . ' relationships', - 'can have ' . $this->rtypes['approval-oneway']->name . ' relationships', - 'can request ' . $this->rtypes['approval-oneway']->name . ' relationships', - 'can have ' . $this->rtypes['approval']->name . ' relationships', - 'can request ' . $this->rtypes['approval']->name . ' relationships', - 'can have ' . $this->rtypes['approval-reciprocal']->name . ' relationships', - 'can request ' . $this->rtypes['approval-reciprocal']->name . ' relationships', + 'can have ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can request ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can have ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can request ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can have ' . $this->rtypes['approval-oneway']->rtid . ' relationships', + 'can request ' . $this->rtypes['approval-oneway']->rtid . ' relationships', + 'can have ' . $this->rtypes['approval']->rtid . ' relationships', + 'can request ' . $this->rtypes['approval']->rtid . ' relationships', + 'can have ' . $this->rtypes['approval-reciprocal']->rtid . ' relationships', + 'can request ' . $this->rtypes['approval-reciprocal']->rtid . ' relationships', ); $u1 = $this->drupalCreateUser($permissions); $u2 = $this->drupalCreateUser($permissions); @@ -257,8 +257,8 @@ class UserRelationshipsTestCase extends UserRelationshipsBaseTestCase { function testNoOnewayRelationships() { $this->createDefaultRelationshipTypes(array('twoway')); $permissions = array( - 'can have ' . $this->rtypes['twoway']->name . ' relationships', - 'can request ' . $this->rtypes['twoway']->name . ' relationships', + 'can have ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can request ' . $this->rtypes['twoway']->rtid . ' relationships', ); $u1 = $this->drupalCreateUser($permissions); $u2 = $this->drupalCreateUser($permissions); @@ -277,14 +277,14 @@ class UserRelationshipsTestCase extends UserRelationshipsBaseTestCase { function testUserRelationshipsLoadDuplicates() { $this->createDefaultRelationshipTypes(); $permissions = array( - 'can have ' . $this->rtypes['oneway']->name . ' relationships', - 'can request ' . $this->rtypes['oneway']->name . ' relationships', - 'can have ' . $this->rtypes['twoway']->name . ' relationships', - 'can request ' . $this->rtypes['twoway']->name . ' relationships', - 'can have ' . $this->rtypes['approval-oneway']->name . ' relationships', - 'can request ' . $this->rtypes['approval-oneway']->name . ' relationships', - 'can have ' . $this->rtypes['approval']->name . ' relationships', - 'can request ' . $this->rtypes['approval']->name . ' relationships', + 'can have ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can request ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can have ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can request ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can have ' . $this->rtypes['approval-oneway']->rtid . ' relationships', + 'can request ' . $this->rtypes['approval-oneway']->rtid . ' relationships', + 'can have ' . $this->rtypes['approval']->rtid . ' relationships', + 'can request ' . $this->rtypes['approval']->rtid . ' relationships', ); $u1 = $this->drupalCreateUser($permissions); $u2 = $this->drupalCreateUser($permissions); diff --git a/user_relationships_ui/user_relationships_ui.test b/user_relationships_ui/user_relationships_ui.test index 3dd7b27..0e73515 100644 --- a/user_relationships_ui/user_relationships_ui.test +++ b/user_relationships_ui/user_relationships_ui.test @@ -83,10 +83,10 @@ class UserRelationshipUserSettings extends DrupalWebTestCase { */ function testAutoApprovalSettings() { $permissions = array( - 'can have ' . $this->rtypes['oneway']->name . ' relationships', - 'can request ' . $this->rtypes['oneway']->name . ' relationships', - 'can have ' . $this->rtypes['twoway']->name . ' relationships', - 'can request ' . $this->rtypes['twoway']->name . ' relationships', + 'can have ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can request ' . $this->rtypes['oneway']->rtid . ' relationships', + 'can have ' . $this->rtypes['twoway']->rtid . ' relationships', + 'can request ' . $this->rtypes['twoway']->rtid . ' relationships', 'view own twoway relationships', 'view own oneway relationships', ); @@ -99,10 +99,10 @@ class UserRelationshipUserSettings extends DrupalWebTestCase { $u2 = $this->drupalCreateUser($permissions); // Two users with all required permissions. - $permissions[] = 'can have ' . $this->rtypes['approval-oneway']->name . ' relationships'; - $permissions[] = 'can request ' . $this->rtypes['approval-oneway']->name . ' relationships'; - $permissions[] = 'can have ' . $this->rtypes['approval']->name . ' relationships'; - $permissions[] = 'can request ' . $this->rtypes['approval']->name . ' relationships'; + $permissions[] = 'can have ' . $this->rtypes['approval-oneway']->rtid . ' relationships'; + $permissions[] = 'can request ' . $this->rtypes['approval-oneway']->rtid . ' relationships'; + $permissions[] = 'can have ' . $this->rtypes['approval']->rtid . ' relationships'; + $permissions[] = 'can request ' . $this->rtypes['approval']->rtid . ' relationships'; $permissions[] = 'maintain approval relationships'; $permissions[] = 'maintain approval-oneway relationships'; $permissions[] = 'view own approval relationships'; -- 1.7.4.msysgit.0