Explorar el Código

HUE-8530 [organization] Light style reformatting

Romain hace 5 años
padre
commit
fa7854cb45

+ 1 - 2
apps/about/src/about/templates/admin_wizard.mako

@@ -44,7 +44,7 @@ ${ layout.menubar(section='quick_start') }
         <a href="https://gethue.com" target="_blank" style="color:#777" title="${ _('Open Hue\'s website in a new tab') }">
           Hue&trade;
         </a>
-        ${ version} -
+        ${ version } -
         Query. Explore. Repeat.
       </h1>
 
@@ -73,7 +73,6 @@ ${ layout.menubar(section='quick_start') }
                 <div class="info hide"></div>
               </div>
             </div>
-
           </div>
 
           <div id="step2" class="stepDetails hide">

+ 76 - 73
apps/useradmin/src/useradmin/models2.py

@@ -27,19 +27,29 @@ from desktop.models import uuid_default
 LOG = logging.getLogger(__name__)
 
 
-# -----------------------------------------------------------------------
-#  Organizations
-# -----------------------------------------------------------------------
+'''
+Organizations
+'''
+
+def default_organization():
+  default_organization, created = Organization.objects.get_or_create(name='default')
+  return default_organization
+
+def get_organization(user):
+  # TODO: depends on the logged-in user and its organization
+  return default_organization()
+
 
 def uuid_default():
   return str(uuid.uuid4())
 
 
 class OrganizationManager(models.Manager):
-    use_in_migrations = True
+  use_in_migrations = True
+
+  def get_by_natural_key(self, name):
+    return self.get(name=name)
 
-    def get_by_natural_key(self, name):
-      return self.get(name=name)
 
 class Organization(models.Model):
   name = models.CharField(max_length=200, help_text=_t("The name of the organization"))
@@ -58,6 +68,7 @@ class OrganizationGroupManager(models.Manager):
   def natural_key(self):
     return (self.organization, self.name,)
 
+
 class OrganizationGroup(models.Model):
   name = models.CharField(_t('name'), max_length=80, unique=False)
   organization = models.ForeignKey(Organization)
@@ -85,80 +96,72 @@ class UserManager(BaseUserManager):
   use_in_migrations = True
 
   def _create_user(self, email, password, **extra_fields):
-      """Create and save a User with the given email and password."""
-      if not email:
-          raise ValueError('The given email must be set')
-      email = self.normalize_email(email)
-      user = self.model(email=email, **extra_fields)
-      user.set_password(password)
-      user.save(using=self._db)
-      return user
+    """Create and save a User with the given email and password."""
+    if not email:
+      raise ValueError('The given email must be set')
+    email = self.normalize_email(email)
+    user = self.model(email=email, **extra_fields)
+    user.set_password(password)
+    user.save(using=self._db)
+    return user
 
   def create_user(self, email, password=None, **extra_fields):
-      """Create and save a regular User with the given email and password."""
-      extra_fields.setdefault('is_staff', False)
-      extra_fields.setdefault('is_superuser', False)
-      extra_fields.setdefault('is_admin', False)
-      return self._create_user(email, password, **extra_fields)
+    """Create and save a regular User with the given email and password."""
+    extra_fields.setdefault('is_staff', False)
+    extra_fields.setdefault('is_superuser', False)
+    extra_fields.setdefault('is_admin', False)
+    return self._create_user(email, password, **extra_fields)
 
   def create_superuser(self, email, password, **extra_fields):
-      """Create and save a SuperUser with the given email and password."""
-      extra_fields.setdefault('is_staff', False)
-      extra_fields.setdefault('is_superuser', False)
-      extra_fields.setdefault('is_admin', True)
+    """Create and save a SuperUser with the given email and password."""
+    extra_fields.setdefault('is_staff', False)
+    extra_fields.setdefault('is_superuser', False)
+    extra_fields.setdefault('is_admin', True)
 
-      if extra_fields.get('is_staff') is not False:
-          raise ValueError('Organization superuser must have is_staff=False.')
-      if extra_fields.get('is_superuser') is not False:
-          raise ValueError('Organization superuser must have is_superuser=False.')
-      if extra_fields.get('is_admin') is not True:
-          raise ValueError('Organization superuser must have is_admin=False.')
+    if extra_fields.get('is_staff') is not False:
+      raise ValueError('Organization superuser must have is_staff=False.')
+    if extra_fields.get('is_superuser') is not False:
+      raise ValueError('Organization superuser must have is_superuser=False.')
+    if extra_fields.get('is_admin') is not True:
+      raise ValueError('Organization superuser must have is_admin=True.')
 
-      return self._create_user(email, password, **extra_fields)
+    return self._create_user(email, password, **extra_fields)
 
-def default_organization():
-  default_organization, created = Organization.objects.get_or_create(name='default')
-  return default_organization
 
-def get_organization(user):
-  # TODO: depends on the logged-in user and its organization
-  return default_organization()
+class OrganizationUser(AbstractUser):
+  """User model in a multi tenant setup."""
 
+  username = None
+  email = models.EmailField(_t('Email address'), unique=True)
+  token = models.CharField(_t('Token'), max_length=128, default=None, null=True)
+  organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
+  is_admin = models.BooleanField(default=False)
 
-class OrganizationUser(AbstractUser):
-    """User model in a multi tenant setup."""
-
-    username = None
-    email = models.EmailField(_t('Email address'), unique=True)
-    token = models.CharField(_t('Token'), max_length=128, default=None, null=True)
-    organization = models.ForeignKey(Organization, on_delete=models.CASCADE)
-    is_admin = models.BooleanField(default=False)
-
-    groups = models.ManyToManyField(
-        OrganizationGroup,
-        verbose_name=_t('groups'),
-        blank=True,
-        help_text=_t(
-            'The groups this user belongs to. A user will get all permissions '
-            'granted to each of their groups.'
-        ),
-        related_name="user_set",
-        related_query_name="user",
-    )
-
-    USERNAME_FIELD = 'email'
-    REQUIRED_FIELDS = []
-
-    objects = UserManager()
-
-    @property
-    def username(self):
-      return self.email
-
-    @property
-    def username_short(self):
-      return self.email.split('@')[0]
-
-    @username.setter
-    def username(self, value):
-      pass
+  groups = models.ManyToManyField(
+      OrganizationGroup,
+      verbose_name=_t('groups'),
+      blank=True,
+      help_text=_t(
+          'The groups this user belongs to. A user will get all permissions '
+          'granted to each of their groups.'
+      ),
+      related_name="user_set",
+      related_query_name="user",
+  )
+
+  USERNAME_FIELD = 'email'
+  REQUIRED_FIELDS = []
+
+  objects = UserManager()
+
+  @property
+  def username(self):
+    return self.email
+
+  @property
+  def username_short(self):
+    return self.email.split('@')[0]
+
+  @username.setter
+  def username(self, value):
+    pass

+ 5 - 5
desktop/core/src/desktop/auth/backend.py

@@ -29,12 +29,13 @@ User to remain a django.contrib.auth.models.User object.
 """
 
 from builtins import object
+from importlib import import_module
+
 import ldap
 import logging
 import pam
 import requests
 
-from importlib import import_module
 import django.contrib.auth.backends
 from django.contrib import auth
 from django.core.urlresolvers import reverse
@@ -106,7 +107,7 @@ def is_admin(user):
   is_admin = False
   if hasattr(user, 'is_superuser'):
     is_admin = user.is_superuser
-  if not is_admin and user.is_authenticated() and not ENABLE_ORGANIZATIONS.get():  # Admin group only within an organization if later is enabled
+  if not is_admin and user.is_authenticated() and not ENABLE_ORGANIZATIONS.get():  # Admin group not activated in organization mode.
     try:
       user = rewrite_user(user)
       is_admin = user.has_hue_permission(action="superuser", app="useradmin")
@@ -115,7 +116,7 @@ def is_admin(user):
   return is_admin
 
 
-def is_organization_admin(user):
+def is_org_admin(user):
   return hasattr(user, 'is_admin') and user.is_admin
 
 
@@ -730,8 +731,7 @@ class OIDCBackend(OIDCAuthenticationBackend):
     if not code or not state:
       return None
 
-    reverse_url = import_from_settings('OIDC_AUTHENTICATION_CALLBACK_URL',
-                                       'oidc_authentication_callback')
+    reverse_url = import_from_settings('OIDC_AUTHENTICATION_CALLBACK_URL', 'oidc_authentication_callback')
 
     token_payload = {
       'client_id': self.OIDC_RP_CLIENT_ID,

+ 3 - 3
desktop/core/src/desktop/templates/about_layout.mako

@@ -17,7 +17,7 @@
 <%!
 from django.utils.translation import ugettext as _
 
-from desktop.auth.backend import is_admin, is_organization_admin
+from desktop.auth.backend import is_admin, is_org_admin
 from desktop.conf import METRICS, has_connectors, ANALYTICS
 
 def is_selected(section, matcher):
@@ -39,7 +39,7 @@ def is_selected(section, matcher):
                   ${ _('About Hue') }
                 </a>
               </li>
-              % if is_admin(user) or is_organization_admin(user):
+              % if is_admin(user) or is_org_admin(user):
                 <li class="${is_selected(section, 'quick_start')}">
                   <a href="${ url('about:admin_wizard') }">${_('Quick start')}</a>
                 </li>
@@ -49,7 +49,7 @@ def is_selected(section, matcher):
                   <a href="${ url('desktop.views.dump_config') }">${_('Configuration')}</a>
                 </li>
               % endif
-              % if has_connectors() and (is_admin(user) or is_organization_admin(user)):
+              % if has_connectors() and (is_admin(user) or is_org_admin(user)):
                 <li class="${is_selected(section, 'connectors')}">
                   <a href="${ url('desktop.lib.connectors.views.index') }">${_('Connectors')}</a>
                 </li>

+ 2 - 2
desktop/core/src/desktop/templates/global_js_constants.mako

@@ -18,7 +18,7 @@
   from django.utils.translation import ugettext as _
 
   from desktop import conf
-  from desktop.auth.backend import is_admin, is_organization_admin
+  from desktop.auth.backend import is_admin, is_org_admin
   from desktop.conf import APP_SWITCHER_ALTUS_BASE_URL, APP_SWITCHER_MOW_BASE_URL, DISPLAY_APP_SWITCHER, IS_K8S_ONLY, IS_MULTICLUSTER_ONLY, \
       USE_DEFAULT_CONFIGURATION, USE_NEW_SIDE_PANELS, VCS, ENABLE_GIST, ENABLE_LINK_SHARING
   from desktop.models import hue_version, _get_apps, get_cluster_config
@@ -640,7 +640,7 @@
 
   window.USER_VIEW_EDIT_USER_ENABLED = '${ user.has_hue_permission(action="access_view:useradmin:edit_user", app="useradmin") or is_admin(user) }' === 'True';
   window.USER_IS_ADMIN = '${ is_admin(user) }' === 'True';
-  window.USER_IS_ORG_ADMIN = '${ is_organization_admin(user) }' === 'True';
+  window.USER_IS_ORG_ADMIN = '${ is_org_admin(user) }' === 'True';
   window.DJANGO_DEBUG_MODE = '${ conf.DJANGO_DEBUG_MODE.get() }' === 'True';
   window.IS_LDAP_SETUP = '${ 'desktop.auth.backend.LdapBackend' in conf.AUTH.BACKEND.get() }' === 'True';
   window.LOGGED_USERNAME = '${ user.username }';