Browse Source

Merge pull request #817 from tripal/ws_permissions_no_style

check field permissions explicitly if configured
Bradford Condon 6 years ago
parent
commit
d7a9e04eef
1 changed files with 17 additions and 2 deletions
  1. 17 2
      tripal_ws/includes/TripalWebService/TripalContentService_v0_1.inc

+ 17 - 2
tripal_ws/includes/TripalWebService/TripalContentService_v0_1.inc

@@ -371,8 +371,23 @@ class TripalContentService_v0_1 extends TripalWebService {
       }
     }
 
-    if (isset($field['field_permissions']['type']) && $field['field_permissions']['type'] != 0) {
-      return;
+    if (isset($field['field_permissions']['type'])) {
+
+      global $user;
+
+      if ($field['field_permissions']['type'] === '1') {
+        // Field is private.
+           if (!user_access('view ' . $field_name, $user)) {
+          return;
+        }
+      }
+      if ($field['field_permissions']['type'] === '2') {
+        // Field is custom permissions: Check
+        // if user has access to view this field in any entity.
+        if (!user_access('view ' . $field_name, $user)) {
+          return;
+        }
+      }
     }
 
       if ($hide_fields == TRUE and empty($values[0])) {