mirror of
https://github.com/jazzband/django-admin2.git
synced 2026-05-03 21:14:46 +00:00
Added new template filter: model_field_verbose_name
This commit is contained in:
parent
3796d312e3
commit
56b26fb190
4 changed files with 51 additions and 4 deletions
|
|
@ -37,6 +37,14 @@ def model_verbose_name_plural(obj):
|
|||
return utils.model_verbose_name_plural(obj)
|
||||
|
||||
|
||||
@register.filter
|
||||
def model_field_verbose_name(obj, field_name):
|
||||
"""
|
||||
Returns the verbose name of a model field.
|
||||
"""
|
||||
return utils.model_field_verbose_name(obj, field_name)
|
||||
|
||||
|
||||
@register.filter
|
||||
def formset_visible_fieldlist(formset):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ from ..views import IndexView
|
|||
|
||||
class TagsTestsModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Tags Test Model"
|
||||
verbose_name_plural = "Tags Test Models"
|
||||
|
|
@ -58,6 +61,18 @@ class TagsTests(TestCase):
|
|||
admin2_tags.model_verbose_name_plural(self.instance)
|
||||
)
|
||||
|
||||
def test_model_field_verbose_name_autogenerated(self):
|
||||
self.assertEquals(
|
||||
'field1',
|
||||
admin2_tags.model_field_verbose_name(self.instance, 'field1')
|
||||
)
|
||||
|
||||
def test_model_field_verbose_name_overridden(self):
|
||||
self.assertEquals(
|
||||
'second field',
|
||||
admin2_tags.model_field_verbose_name(self.instance, 'field2')
|
||||
)
|
||||
|
||||
def test_formset_visible_fieldlist(self):
|
||||
formset = TagsTestFormSet()
|
||||
self.assertEquals(
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@ from ..views import IndexView
|
|||
|
||||
class UtilsTestModel(models.Model):
|
||||
|
||||
field1 = models.CharField(max_length=23)
|
||||
field2 = models.CharField('second field', max_length=42)
|
||||
|
||||
class Meta:
|
||||
verbose_name = "Utils Test Model"
|
||||
verbose_name_plural = "Utils Test Models"
|
||||
|
|
@ -71,6 +74,18 @@ class UtilsTest(TestCase):
|
|||
utils.model_verbose_name_plural(self.instance)
|
||||
)
|
||||
|
||||
def test_model_field_verbose_name_autogenerated(self):
|
||||
self.assertEquals(
|
||||
'field1',
|
||||
utils.model_field_verbose_name(self.instance, 'field1')
|
||||
)
|
||||
|
||||
def test_model_field_verbose_name_overridden(self):
|
||||
self.assertEquals(
|
||||
'second field',
|
||||
utils.model_field_verbose_name(self.instance, 'field2')
|
||||
)
|
||||
|
||||
def test_app_label_as_model_class(self):
|
||||
self.assertEquals(
|
||||
UtilsTestModel._meta.app_label,
|
||||
|
|
|
|||
|
|
@ -41,18 +41,27 @@ def admin2_urlname(view, action):
|
|||
return 'admin2:%s_%s_%s' % (view.app_label, view.model_name, action)
|
||||
|
||||
|
||||
def model_verbose_name(obj):
|
||||
def model_verbose_name(model):
|
||||
"""
|
||||
Returns the verbose name of a model instance or class.
|
||||
"""
|
||||
return model_options(obj).verbose_name
|
||||
return model_options(model).verbose_name
|
||||
|
||||
|
||||
def model_verbose_name_plural(obj):
|
||||
def model_verbose_name_plural(model):
|
||||
"""
|
||||
Returns the pluralized verbose name of a model instance or class.
|
||||
"""
|
||||
return model_options(obj).verbose_name_plural
|
||||
return model_options(model).verbose_name_plural
|
||||
|
||||
|
||||
def model_field_verbose_name(model, field_name):
|
||||
"""
|
||||
Returns the verbose name of a model field.
|
||||
"""
|
||||
meta = model_options(model)
|
||||
field = meta.get_field_by_name(field_name)[0]
|
||||
return field.verbose_name
|
||||
|
||||
|
||||
def model_app_label(obj):
|
||||
|
|
|
|||
Loading…
Reference in a new issue