Make permission condition more explicit
authorAidan Saunders <aidan.saunders@squiffle.uk>
Fri, 6 Jul 2018 14:51:28 +0000 (15:51 +0100)
committerAidan Saunders <aidan.saunders@squiffle.uk>
Mon, 9 Jul 2018 18:24:15 +0000 (19:24 +0100)
CRM/Contact/BAO/Contact/Permission.php

index c8ddb50a1ff4b2ba0d0ed776d52049af5bb0c29a..4896b03ad8bf3e5896716427bfae1f37cf188c2a 100644 (file)
@@ -358,9 +358,12 @@ AND ac.user_id IS NULL
     $directions = array(array('from' => 'a', 'to' => 'b'), array('from' => 'b', 'to' => 'a'));
 
     // CRM_Core_Permission::VIEW is satisfied by either CRM_Contact_BAO_Relationship::VIEW or CRM_Contact_BAO_Relationship::EDIT
-    $is_perm_condition = $type == CRM_Core_Permission::VIEW ?
-      ' != ' .  CRM_Contact_BAO_Relationship::NONE :
-      ' = ' . CRM_Contact_BAO_Relationship::EDIT;
+    if ($type == CRM_Core_Permission::VIEW) {
+      $is_perm_condition = ' IN ( ' . CRM_Contact_BAO_Relationship::EDIT . ' , ' . CRM_Contact_BAO_Relationship::VIEW . ' ) ';
+    }
+    else {
+      $is_perm_condition = ' = ' . CRM_Contact_BAO_Relationship::EDIT;
+    }
 
     // NORMAL/SINGLE DEGREE RELATIONSHIPS
     foreach ($directions as $direction) {