diff --git a/tcms_tenants/admin.py b/tcms_tenants/admin.py index cb392aa..cc360c2 100644 --- a/tcms_tenants/admin.py +++ b/tcms_tenants/admin.py @@ -1,4 +1,4 @@ -# Copyright (c) 2019 Alexander Todorov +# Copyright (c) 2019-2020 Alexander Todorov # Licensed under the GPL 3.0: https://www.gnu.org/licenses/gpl-3.0.txt @@ -7,10 +7,11 @@ from django.urls import reverse from django.contrib import admin from django.forms.utils import ErrorList -from django.contrib.auth import get_user_model from django.utils.translation import gettext_lazy as _ from django.http import HttpResponseForbidden, HttpResponseRedirect +from tcms.core.forms.fields import UserField + from tcms_tenants.models import Tenant from tcms_tenants.utils import owns_tenant @@ -65,8 +66,8 @@ class AuthorizedUsersChangeForm(forms.ModelForm): tenant = forms.models.ModelChoiceField( queryset=Tenant.objects.all(), ) - user = forms.models.ModelChoiceField( - queryset=get_user_model().objects.all(), # it is OK to be able to select between all users + user = UserField( # pylint: disable=form-field-help-text-used + help_text=_('Existing username, email or user ID') ) def __init__(self, # pylint: disable=too-many-arguments diff --git a/tcms_tenants/locale/en/LC_MESSAGES/django.po b/tcms_tenants/locale/en/LC_MESSAGES/django.po index 07b1348..7b2eb29 100644 --- a/tcms_tenants/locale/en/LC_MESSAGES/django.po +++ b/tcms_tenants/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-04-25 18:19+0000\n" +"POT-Creation-Date: 2020-12-09 20:56+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -18,15 +18,19 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: tcms_tenants/admin.py:39 tcms_tenants/middleware.py:32 +#: tcms_tenants/admin.py:41 tcms_tenants/middleware.py:32 msgid "Unauthorized" msgstr "" -#: tcms_tenants/admin.py:103 +#: tcms_tenants/admin.py:71 +msgid "Existing username, email or user ID" +msgstr "" + +#: tcms_tenants/admin.py:105 msgid "Username" msgstr "" -#: tcms_tenants/admin.py:108 +#: tcms_tenants/admin.py:110 msgid "Full name" msgstr "" diff --git a/tcms_tenants/tests/test_admin.py b/tcms_tenants/tests/test_admin.py index 0753219..6fb2a1b 100644 --- a/tcms_tenants/tests/test_admin.py +++ b/tcms_tenants/tests/test_admin.py @@ -121,23 +121,24 @@ def test_on_error_display_only_current_tenant(self): response = self.client.post( reverse('admin:tcms_tenants_tenant_authorized_users_add'), { # NOTE: No tenant field specified - 'user': self.tester2.pk, + 'user': self.tester2.username, '_save': 'Save', }) self.assertContains(response, "
    ", html=True) self.assertContains(response, "This field is required") - self.assertContains(response, "", html=True) + self.assertContains(response, "", html=True) self.assertContains(response, "" % (self.tenant.pk, self.tenant), html=True) self.assertNotContains(response, self.tenant2) - self.assertContains(response, - "" % (self.tester2.pk, - self.tester2.username), - html=True) + self.assertContains( + response, + '' % + self.tester2.username, + html=True) def test_change_displays_only_current_tenant(self): self.assertGreater(utils.get_tenant_model().objects.filter(owner=self.tester).count(), 1)