瀏覽代碼

HUE-8530 [organization] Adding test for ORM compatibility

Romain 5 年之前
父節點
當前提交
f2257d6547

+ 11 - 5
apps/useradmin/src/useradmin/forms.py

@@ -216,7 +216,9 @@ if ENABLE_ORGANIZATIONS.get():
       if self.instance.id:
         self.fields['email'].widget.attrs['readonly'] = True
 
-      self.fields['organization'] = forms.ChoiceField(choices=((default_organization().id, default_organization()),), initial=default_organization())
+      self.fields['organization'] = forms.ChoiceField(
+        choices=((default_organization().id, default_organization()),), initial=default_organization()
+      )
 
     def clean_organization(self):
       try:
@@ -264,7 +266,9 @@ if ENABLE_ORGANIZATIONS.get():
       if self.instance.id:
         self.fields['email'].widget.attrs['readonly'] = True
 
-      self.fields['organization'] = forms.ChoiceField(choices=((default_organization().id, default_organization()),), initial=default_organization())
+      self.fields['organization'] = forms.ChoiceField(
+        choices=((default_organization().id, default_organization()),), initial=default_organization()
+      )
 
     def clean_organization(self):
       try:
@@ -436,7 +440,7 @@ class GroupEditForm(forms.ModelForm):
 
     if self.instance.id:
       self.fields['name'].widget.attrs['readonly'] = True
-      initial_members = User.objects.filter(groups=self.instance).order_by('username')
+      initial_members = User.objects.filter(groups=self.instance).order_by('email' if ENABLE_ORGANIZATIONS.get() else 'username')
       initial_perms = HuePermission.objects.filter(grouppermission__group=self.instance).order_by('app', 'description')
     else:
       initial_members = []
@@ -445,7 +449,9 @@ class GroupEditForm(forms.ModelForm):
     self.fields["members"] = _make_model_field(_("members"), initial_members, User.objects.order_by('username'))
     self.fields["permissions"] = _make_model_field(_("permissions"), initial_perms, HuePermission.objects.order_by('app', 'description'))
     if 'organization' in self.fields:
-      self.fields['organization'] = forms.ChoiceField(choices=((default_organization().id, default_organization()),), initial=default_organization())
+      self.fields['organization'] = forms.ChoiceField(
+        choices=((default_organization().id, default_organization()),), initial=default_organization()
+      )
 
   def _compute_diff(self, field_name):
     current = set(self.fields[field_name].initial_objs)
@@ -532,7 +538,7 @@ def _make_model_field(label, initial, choices, multi=True):
   if multi:
     field = forms.models.ModelMultipleChoiceField(choices, required=False)
     field.initial_objs = initial
-    field.initial = [ obj.pk for obj in initial ]
+    field.initial = [obj.pk for obj in initial]
     field.label = label
   else:
     field = forms.models.ModelChoiceField(choices, required=False)

+ 9 - 0
apps/useradmin/src/useradmin/models2_tests.py

@@ -121,3 +121,12 @@ class TestOrganizationSingleUser(unittest.TestCase):
       assert_equal([], data['documents'])
     finally:
       document.delete()
+
+  def test_orm_compatiblity(self):
+    User.objects.get(username=self.user1.email)
+
+    User.objects.order_by('username')
+
+    User.objects.filter(groups__in=Group.objects.all()).order_by('username')
+
+    self.client2.get('/useradmin/groups/edit/default')

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

@@ -69,6 +69,9 @@ class Connector(models.Model):
 
     super(Connector, self).__init__(*args, **kwargs)
 
+  def __str__(self):
+    return '%s (%s) @ %s' % (self.name, self.dialect, self.organization)
+
 
 def _get_installed_connectors(category=None, categories=None, dialect=None, interface=None, user=None):
   connectors = []