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

HUE-8530 [organization] Update references to User and Group classes

Romain 6 жил өмнө
parent
commit
198b78da72

+ 7 - 2
apps/beeswax/src/beeswax/models.py

@@ -23,7 +23,6 @@ import json
 import logging
 import logging
 
 
 from django.db import models
 from django.db import models
-from django.contrib.auth.models import User
 from django.contrib.contenttypes.fields import GenericRelation
 from django.contrib.contenttypes.fields import GenericRelation
 from django.urls import reverse
 from django.urls import reverse
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
@@ -31,13 +30,19 @@ from django.utils.translation import ugettext as _, ugettext_lazy as _t
 from enum import Enum
 from enum import Enum
 from TCLIService.ttypes import TSessionHandle, THandleIdentifier, TOperationState, TOperationHandle, TOperationType
 from TCLIService.ttypes import TSessionHandle, THandleIdentifier, TOperationState, TOperationHandle, TOperationType
 
 
-from desktop.redaction import global_redaction_engine
+from desktop.conf import ENABLE_ORGANIZATIONS
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.models import Document
 from desktop.models import Document
+from desktop.redaction import global_redaction_engine
 from librdbms.server import dbms as librdbms_dbms
 from librdbms.server import dbms as librdbms_dbms
 
 
 from beeswax.design import HQLdesign
 from beeswax.design import HQLdesign
 
 
+if ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as User
+else:
+  from django.contrib.auth.models import User
+
 
 
 LOG = logging.getLogger(__name__)
 LOG = logging.getLogger(__name__)
 
 

+ 8 - 2
apps/jobsub/src/jobsub/models.py

@@ -21,13 +21,19 @@ import logging
 from django.db import models
 from django.db import models
 from django.core import urlresolvers
 from django.core import urlresolvers
 from django.contrib.auth.models import User
 from django.contrib.auth.models import User
-from desktop.lib.parameterization import find_parameters, bind_parameters
-
 from django.utils.translation import ugettext_lazy as _
 from django.utils.translation import ugettext_lazy as _
 
 
+from desktop.conf import ENABLE_ORGANIZATIONS
+from desktop.lib.parameterization import find_parameters, bind_parameters
+
 
 
 LOG = logging.getLogger(__name__)
 LOG = logging.getLogger(__name__)
 
 
+if ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as User
+else:
+  from django.contrib.auth.models import User
+
 
 
 class JobDesign(models.Model):
 class JobDesign(models.Model):
   """
   """

+ 7 - 5
apps/oozie/src/oozie/models.py

@@ -36,7 +36,6 @@ from django.db import models, transaction
 from django.db.models import Q
 from django.db.models import Q
 from django.urls import reverse
 from django.urls import reverse
 from django.core.validators import RegexValidator
 from django.core.validators import RegexValidator
-from django.contrib.auth.models import User
 from django.contrib.contenttypes.fields import GenericRelation
 from django.contrib.contenttypes.fields import GenericRelation
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes.models import ContentType
 from django.forms.models import inlineformset_factory
 from django.forms.models import inlineformset_factory
@@ -44,13 +43,14 @@ from django.utils.encoding import force_unicode, smart_str
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 import django.utils.timezone as dtz
 import django.utils.timezone as dtz
 
 
+from desktop.auth.backend import is_admin
+from desktop.conf import ENABLE_ORGANIZATIONS
 from desktop.log.access import access_warn
 from desktop.log.access import access_warn
 from desktop.lib import django_mako
 from desktop.lib import django_mako
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.json_utils import JSONEncoderForHTML
 from desktop.lib.json_utils import JSONEncoderForHTML
 from desktop.models import Document
 from desktop.models import Document
 from hadoop.fs.exceptions import WebHdfsException
 from hadoop.fs.exceptions import WebHdfsException
-
 from hadoop.fs.hadoopfs import Hdfs
 from hadoop.fs.hadoopfs import Hdfs
 from liboozie.submittion import Submission
 from liboozie.submittion import Submission
 from liboozie.submittion import create_directories
 from liboozie.submittion import create_directories
@@ -59,16 +59,18 @@ from oozie.conf import REMOTE_SAMPLE_DIR
 from oozie.utils import utc_datetime_format
 from oozie.utils import utc_datetime_format
 from oozie.timezones import TIMEZONES
 from oozie.timezones import TIMEZONES
 
 
-from desktop.auth.backend import is_admin
-
 if sys.version_info[0] > 2:
 if sys.version_info[0] > 2:
   from io import StringIO as string_io
   from io import StringIO as string_io
 else:
 else:
   from cStringIO import StringIO as string_io
   from cStringIO import StringIO as string_io
 
 
+if ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as User
+else:
+  from django.contrib.auth.models import User
 
 
-LOG = logging.getLogger(__name__)
 
 
+LOG = logging.getLogger(__name__)
 
 
 PATH_MAX = 512
 PATH_MAX = 512
 name_validator = RegexValidator(regex='^[a-zA-Z_][\-_a-zA-Z0-9]{1,39}$',
 name_validator = RegexValidator(regex='^[a-zA-Z_][\-_a-zA-Z0-9]{1,39}$',

+ 8 - 2
apps/pig/src/pig/models.py

@@ -21,15 +21,21 @@ import json
 import posixpath
 import posixpath
 
 
 from django.db import models
 from django.db import models
-from django.contrib.auth.models import User
 from django.contrib.contenttypes.fields import GenericRelation
 from django.contrib.contenttypes.fields import GenericRelation
 from django.urls import reverse
 from django.urls import reverse
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 from django.utils.translation import ugettext as _, ugettext_lazy as _t
 
 
+from desktop.auth.backend import is_admin
+from desktop.conf import ENABLE_ORGANIZATIONS
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.models import Document as Doc, SAMPLE_USER_ID
 from desktop.models import Document as Doc, SAMPLE_USER_ID
 from hadoop.fs.hadoopfs import Hdfs
 from hadoop.fs.hadoopfs import Hdfs
-from desktop.auth.backend import is_admin
+
+
+if ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as User
+else:
+  from django.contrib.auth.models import User
 
 
 
 
 class Document(models.Model):
 class Document(models.Model):

+ 7 - 1
apps/search/src/search/models.py

@@ -20,17 +20,23 @@ import json
 import logging
 import logging
 import re
 import re
 
 
-from django.contrib.auth.models import User
 from django.urls import reverse
 from django.urls import reverse
 from django.db import models
 from django.db import models
 from django.utils.html import escape
 from django.utils.html import escape
 from django.utils.translation import ugettext_lazy as _t
 from django.utils.translation import ugettext_lazy as _t
 
 
+from desktop.conf import ENABLE_ORGANIZATIONS
 from libsolr.api import SolrApi
 from libsolr.api import SolrApi
 
 
 from search.conf import SOLR_URL
 from search.conf import SOLR_URL
 
 
 
 
+if ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as User
+else:
+  from django.contrib.auth.models import User
+
+
 LOG = logging.getLogger(__name__)
 LOG = logging.getLogger(__name__)
 
 
 
 

+ 4 - 3
apps/useradmin/src/useradmin/forms.py

@@ -28,13 +28,16 @@ from django.utils.translation import get_language, ugettext as _, ugettext_lazy
 
 
 from desktop import conf as desktop_conf
 from desktop import conf as desktop_conf
 from desktop.lib.django_util import get_username_re_rule, get_groupname_re_rule
 from desktop.lib.django_util import get_username_re_rule, get_groupname_re_rule
-from desktop.models import HueUser
 from desktop.settings import LANGUAGES
 from desktop.settings import LANGUAGES
 
 
 from useradmin.models import GroupPermission, HuePermission
 from useradmin.models import GroupPermission, HuePermission
 from useradmin.models import get_default_user_group
 from useradmin.models import get_default_user_group
 from useradmin.hue_password_policy import hue_get_password_validators
 from useradmin.hue_password_policy import hue_get_password_validators
 
 
+if desktop_conf.ENABLE_ORGANIZATIONS.get():
+  from useradmin.models import OrganizationUser as HueUser
+else:
+  from desktop.models import HueUser
 
 
 
 
 LOG = logging.getLogger(__name__)
 LOG = logging.getLogger(__name__)
@@ -121,8 +124,6 @@ class UserChangeForm(django.contrib.auth.forms.UserChangeForm):
     fields = ["username", "first_name", "last_name", "email", "ensure_home_directory"]
     fields = ["username", "first_name", "last_name", "email", "ensure_home_directory"]
 
 
   def __init__(self, *args, **kwargs):
   def __init__(self, *args, **kwargs):
-
-
     super(UserChangeForm, self).__init__(*args, **kwargs)
     super(UserChangeForm, self).__init__(*args, **kwargs)
 
 
     if self.instance.id:
     if self.instance.id:

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

@@ -149,7 +149,7 @@ class OrganizationUser(AbstractUser):
     email = models.EmailField(_t('email address'), unique=True)
     email = models.EmailField(_t('email address'), unique=True)
     token = models.CharField(_t('token'), max_length=128, default=None, null=True)
     token = models.CharField(_t('token'), max_length=128, default=None, null=True)
     customer_id = models.CharField(_t('Customer id'), max_length=128, default=None, null=True)
     customer_id = models.CharField(_t('Customer id'), max_length=128, default=None, null=True)
-    organization = models.ForeignKey(Organization, on_delete=models.CASCADE, default=default_organization)
+    organization = models.ForeignKey(Organization, on_delete=models.CASCADE, default=None)
 
 
     USERNAME_FIELD = 'email'
     USERNAME_FIELD = 'email'
     REQUIRED_FIELDS = []
     REQUIRED_FIELDS = []
@@ -296,7 +296,6 @@ class HuePermission(models.Model):
   description = models.CharField(max_length=255)
   description = models.CharField(max_length=255)
 
 
   groups = models.ManyToManyField(Group, through=GroupPermission)
   groups = models.ManyToManyField(Group, through=GroupPermission)
-  organization_groups = models.ManyToManyField(OrganizationGroup)
 
 
   def __str__(self):
   def __str__(self):
     return "%s.%s:%s(%d)" % (self.app, self.action, self.description, self.pk)
     return "%s.%s:%s(%d)" % (self.app, self.action, self.description, self.pk)

+ 10 - 11
desktop/core/src/desktop/models.py

@@ -47,7 +47,7 @@ from notebook.conf import SHOW_NOTEBOOKS, get_ordered_interpreters
 from settings import HUE_DESKTOP_VERSION
 from settings import HUE_DESKTOP_VERSION
 
 
 from desktop import appmanager
 from desktop import appmanager
-from desktop.conf import get_clusters, CLUSTER_ID, IS_MULTICLUSTER_ONLY, IS_K8S_ONLY, ENABLE_ORGANIZATIONS
+from desktop.auth.backend import is_admin
 from desktop.lib import fsmanager
 from desktop.lib import fsmanager
 from desktop.lib.i18n import force_unicode
 from desktop.lib.i18n import force_unicode
 from desktop.lib.exceptions_renderable import PopupException
 from desktop.lib.exceptions_renderable import PopupException
@@ -105,15 +105,16 @@ def _version_from_properties(f):
 PREFERENCE_IS_WELCOME_TOUR_SEEN = 'is_welcome_tour_seen'
 PREFERENCE_IS_WELCOME_TOUR_SEEN = 'is_welcome_tour_seen'
 
 
 
 
-class HueUser(User):
-  class Meta(object):
-    proxy = True
+if not ENABLE_ORGANIZATIONS.get():
+  class HueUser(User):
+    class Meta(object):
+      proxy = True
 
 
-  def __init__(self, *args, **kwargs):
-    self._meta.get_field(
-      'username'
-    ).validators[0] = UnicodeUsernameValidator()
-    super(User, self).__init__(*args, **kwargs)
+    def __init__(self, *args, **kwargs):
+      self._meta.get_field(
+        'username'
+      ).validators[0] = UnicodeUsernameValidator()
+      super(User, self).__init__(*args, **kwargs)
 
 
 
 
 class UserPreferences(models.Model):
 class UserPreferences(models.Model):
@@ -123,8 +124,6 @@ class UserPreferences(models.Model):
   value = models.TextField(max_length=4096)
   value = models.TextField(max_length=4096)
 
 
 
 
-
-
 class Settings(models.Model):
 class Settings(models.Model):
   collect_usage = models.BooleanField(db_index=True, default=True)
   collect_usage = models.BooleanField(db_index=True, default=True)
   tours_and_tutorials = models.BooleanField(db_index=True, default=True)
   tours_and_tutorials = models.BooleanField(db_index=True, default=True)