فهرست منبع

HUE-8758 [connector] Make numeric ids compatible with string matching

Romain 5 سال پیش
والد
کامیت
f19b398d07
2فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 2 2
      apps/useradmin/src/useradmin/models.py
  2. 3 3
      desktop/core/src/desktop/lib/connectors/models.py

+ 2 - 2
apps/useradmin/src/useradmin/models.py

@@ -209,7 +209,7 @@ if ENABLE_ORGANIZATIONS.get():
 
   # TODO: move to external abstract module?
   class OrganizationHuePermission(models.Model):
-    app = models.CharField(max_length=30)
+    app = models.CharField(max_length=30)   # FK to Connector?
     action = models.CharField(max_length=100)
     description = models.CharField(max_length=255)
 
@@ -244,7 +244,7 @@ else:
     Set of non-object specific permissions that an app supports.
 
     Currently only assign permissions to groups (not users or roles).
-    Could be move to support Apache Ranger permissions, AWS IAM... for Hue and connector access.
+    Could someday support external permissions of Apache Ranger permissions, AWS IAM...
     """
     app = models.CharField(max_length=30)
     action = models.CharField(max_length=100)

+ 3 - 3
desktop/core/src/desktop/lib/connectors/models.py

@@ -117,11 +117,11 @@ def _get_installed_connectors(category=None, categories=None, dialect=None, inte
       connector_type = connector_types[0]
       connectors.append({
         'nice_name': connector['nice_name'],
-        'name': connector['id'],
+        'name': str(connector['id']),
         'dialect': connector['dialect'],
         'interface': connector['interface'] or connector_type['interface'],
         'settings': connector['settings'],
-        'id': connector['id'],
+        'id': str(connector['id']),
         'category': connector_type['category'],
         'description': connector_type['description'],
         'dialect_properties': connector_type.get('properties', {})
@@ -137,6 +137,6 @@ def _get_installed_connectors(category=None, categories=None, dialect=None, inte
     connectors = [connector for connector in connectors if connector['interface'] == interface]
   if user is not None:
     allowed_connectors = user.get_permissions().values_list('app', flat=True)
-    connectors = [connector for connector in connectors if connector['name'] in allowed_connectors]
+    connectors = [connector for connector in connectors if connector['id'] in allowed_connectors]
 
   return connectors