Browse Source

HUE-5551 [metadata] Perform Sentry based filtering on searched objects

Romain Rigaux 9 years ago
parent
commit
47566ac
1 changed files with 6 additions and 4 deletions
  1. 6 4
      desktop/libs/metadata/src/metadata/navigator_client.py

+ 6 - 4
desktop/libs/metadata/src/metadata/navigator_client.py

@@ -205,12 +205,14 @@ class NavigatorApi(object):
     if NAVIGATOR.APPLY_SENTRY_PERMISSIONS.get():
       checker = PrivilegeChecker(user=self.user)
       action = 'SELECT'
-      for result in response['results']:
+
+      def getkey(result):
         if result['type'] == 'TABLE':
-          result.update({u'column': None, u'table': result['originalName'], u'db': result['parentPath'].strip('/'), u'server': u'server1'})
+          return {u'column': None, u'table': result['originalName'], u'db': result['parentPath'].strip('/')} #, 'server': 'server1'}
         else:
-          result.update({u'column': None, u'table': None, u'db': None, u'server': None})
-      response['results'] = checker.filter_objects(response['results'], action)
+          return {u'column': None, u'table': None, u'db': None, u'server': None}
+
+      response['results'] = checker.filter_objects(response['results'], action, key=getkey)
 
 
   def suggest(self, prefix=None):