Fixed #19945 -- Fixed default User model Meta inheritance.

Updated default User model Meta class to extend AbstractUser Meta
where translated verbose_name and verbose_name_plural are
defined.
This commit is contained in:
matiasb 2013-03-01 19:32:20 -03:00
parent 0c82b1dfc4
commit f39fead1c3
2 changed files with 12 additions and 1 deletions

View File

@ -461,7 +461,7 @@ class User(AbstractUser):
Username, password and email are required. Other fields are optional.
"""
class Meta:
class Meta(AbstractUser.Meta):
swappable = 'AUTH_USER_MODEL'

View File

@ -12,6 +12,7 @@ from django.core.exceptions import ImproperlyConfigured
from django.core.management import call_command
from django.test import TestCase
from django.test.utils import override_settings
from django.utils import translation
from django.utils.encoding import force_str
from django.utils.six import binary_type, PY3, StringIO
@ -232,3 +233,13 @@ class BasicTestCase(TestCase):
"The current user model must point to an installed model"
with self.assertRaises(ImproperlyConfigured):
get_user_model()
@skipIfCustomUser
def test_user_verbose_names_translatable(self):
"Default User model verbose names are translatable (#19945)"
with translation.override('en'):
self.assertEqual(User._meta.verbose_name, 'user')
self.assertEqual(User._meta.verbose_name_plural, 'users')
with translation.override('es'):
self.assertEqual(User._meta.verbose_name, 'usuario')
self.assertEqual(User._meta.verbose_name_plural, 'usuarios')