Эх сурвалжийг харах

HUE-8530 [organization] Refactoring to move out inter module dependencies

Romain 5 жил өмнө
parent
commit
5716e79079

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

@@ -62,8 +62,8 @@ from useradmin.conf import DEFAULT_USER_GROUP
 
 
 if ENABLE_ORGANIZATIONS.get():
-  from useradmin.models2 import OrganizationUser as User, OrganizationGroup as Group, Organization, default_organization, get_organization, \
-      _fitered_queryset, get_user_request_organization
+  from useradmin.models2 import OrganizationUser as User, OrganizationGroup as Group, Organization, get_organization
+  from useradmin.organization import _fitered_queryset, get_user_request_organization, default_organization
 else:
   from django.contrib.auth.models import User, Group
   class Organization(): pass

+ 3 - 28
apps/useradmin/src/useradmin/models2.py

@@ -18,23 +18,18 @@
 import logging
 import uuid
 
-from crequest.middleware import CrequestMiddleware
 from django.contrib.auth.models import models, AbstractUser, BaseUserManager
 from django.utils.functional import SimpleLazyObject
 from django.utils.translation import ugettext_lazy as _t
 
+from useradmin.organization import _fitered_queryset, get_user_request_organization, default_organization
 
 LOG = logging.getLogger(__name__)
 
 
-'''
+"""
 Organizations handle contained sets of setups (user, group, connectors...).
-'''
-
-def default_organization():
-  default_organization, created = Organization.objects.get_or_create(name='default', domain='default')
-  return default_organization
-
+"""
 
 def get_organization(email, is_multi_user=False):
   domain = email.split('@')[1] if is_multi_user else email
@@ -195,23 +190,3 @@ class OrganizationUser(AbstractUser):
   @username.setter
   def username(self, value):
     pass
-
-
-def get_user_request_organization():
-  request = CrequestMiddleware.get_request()
-  return request.user.organization if request and hasattr(request, 'user') and request.user.is_authenticated() else default_organization()
-
-
-def _fitered_queryset(queryset, by_owner=False):
-  request = CrequestMiddleware.get_request()
-
-  # Avoid infinite recursion on very first retrieval of the user
-  if request and hasattr(request, 'user') and hasattr(request.user, '_wrapped') and type(request.user._wrapped) is not object and request.user.is_authenticated():
-    if by_owner:
-      filters = {'owner__organization': request.user.organization}
-    else:
-      filters = {'organization': request.user.organization}
-
-    queryset = queryset.filter(**filters)
-
-  return queryset

+ 44 - 0
apps/useradmin/src/useradmin/organization.py

@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+# Licensed to Cloudera, Inc. under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  Cloudera, Inc. licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+from crequest.middleware import CrequestMiddleware
+
+
+def default_organization():
+  from useradmin.models import Organization
+  default_organization, created = Organization.objects.get_or_create(name='default', domain='default')
+  return default_organization
+
+
+def get_user_request_organization():
+  request = CrequestMiddleware.get_request()
+  return request.user.organization if request and hasattr(request, 'user') and request.user.is_authenticated() else default_organization()
+
+
+def _fitered_queryset(queryset, by_owner=False):
+  request = CrequestMiddleware.get_request()
+
+  # Avoid infinite recursion on very first retrieval of the user
+  if request and hasattr(request, 'user') and hasattr(request.user, '_wrapped') and type(request.user._wrapped) is not object and request.user.is_authenticated():
+    if by_owner:
+      filters = {'owner__organization': request.user.organization}
+    else:
+      filters = {'organization': request.user.organization}
+
+    queryset = queryset.filter(**filters)
+
+  return queryset

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

@@ -15,6 +15,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+import json
 import logging
 
 from django.db import connection, models, transaction
@@ -22,7 +23,7 @@ from django.db.models import Q
 from django.db.models.query import QuerySet
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 
-from useradmin.models import _fitered_queryset, get_user_request_organization
+from useradmin.organization import _fitered_queryset, get_user_request_organization
 
 from desktop.conf import CONNECTORS
 from desktop.lib.connectors.types import get_connectors_types
@@ -78,7 +79,7 @@ def _get_installed_connectors(category=None, categories=None, dialect=None, inte
         'description': connector.description,
         'dialect': connector.dialect,
         'interface': None,
-        'setting': json.loads(connector.settings),
+        'settings': json.loads(connector.settings),
         'is_demo': False,
       }
       for connector in Connector.objects.all()