mirror of
https://github.com/django/django.git
synced 2025-08-03 18:38:50 +00:00
Fixed #12952 -- Adjusted admin log change messages to use form labels instead of field names.
This commit is contained in:
parent
1564e42ad3
commit
87f5d07eed
10 changed files with 128 additions and 17 deletions
|
@ -1,11 +1,30 @@
|
|||
from django import forms
|
||||
from django.contrib import admin
|
||||
|
||||
from .models import Article, ArticleProxy, Site
|
||||
|
||||
|
||||
class ArticleAdminForm(forms.ModelForm):
|
||||
nolabel_form_field = forms.BooleanField(required=False)
|
||||
|
||||
class Meta:
|
||||
model = Article
|
||||
fields = ['title']
|
||||
|
||||
@property
|
||||
def changed_data(self):
|
||||
data = super().changed_data
|
||||
if data:
|
||||
# Add arbitrary name to changed_data to test
|
||||
# change message construction.
|
||||
return data + ['not_a_form_field']
|
||||
return data
|
||||
|
||||
|
||||
class ArticleInline(admin.TabularInline):
|
||||
model = Article
|
||||
fields = ['title']
|
||||
form = ArticleAdminForm
|
||||
|
||||
|
||||
class SiteAdmin(admin.ModelAdmin):
|
||||
|
|
|
@ -53,9 +53,9 @@ class LogEntryTests(TestCase):
|
|||
response = self.client.post(change_url, post_data)
|
||||
self.assertRedirects(response, reverse('admin:admin_utils_article_changelist'))
|
||||
logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id')
|
||||
self.assertEqual(logentry.get_change_message(), 'Changed title and hist.')
|
||||
self.assertEqual(logentry.get_change_message(), 'Changed Title and History.')
|
||||
with translation.override('fr'):
|
||||
self.assertEqual(logentry.get_change_message(), 'Modification de title et hist.')
|
||||
self.assertEqual(logentry.get_change_message(), 'Modification de Title et Historique.')
|
||||
|
||||
add_url = reverse('admin:admin_utils_article_add')
|
||||
post_data['title'] = 'New'
|
||||
|
@ -85,7 +85,7 @@ class LogEntryTests(TestCase):
|
|||
response = self.client.post(change_url, post_data)
|
||||
self.assertRedirects(response, reverse('admin:admin_utils_article_changelist'))
|
||||
logentry = LogEntry.objects.filter(content_type__model__iexact='article').latest('id')
|
||||
self.assertEqual(logentry.get_change_message(), 'Changed title and hist.')
|
||||
self.assertEqual(logentry.get_change_message(), 'Changed Title and History.')
|
||||
|
||||
def test_logentry_change_message_formsets(self):
|
||||
"""
|
||||
|
@ -123,23 +123,25 @@ class LogEntryTests(TestCase):
|
|||
self.assertEqual(
|
||||
json.loads(logentry.change_message),
|
||||
[
|
||||
{"changed": {"fields": ["domain"]}},
|
||||
{"changed": {"fields": ["Domain"]}},
|
||||
{"added": {"object": "Added article", "name": "article"}},
|
||||
{"changed": {"fields": ["title"], "object": "Changed Title", "name": "article"}},
|
||||
{"changed": {"fields": ["Title", "not_a_form_field"], "object": "Changed Title", "name": "article"}},
|
||||
{"deleted": {"object": "Title second article", "name": "article"}},
|
||||
]
|
||||
)
|
||||
self.assertEqual(
|
||||
logentry.get_change_message(),
|
||||
'Changed domain. Added article "Added article". '
|
||||
'Changed title for article "Changed Title". Deleted article "Title second article".'
|
||||
'Changed Domain. Added article "Added article". '
|
||||
'Changed Title and not_a_form_field for article "Changed Title". '
|
||||
'Deleted article "Title second article".'
|
||||
)
|
||||
|
||||
with translation.override('fr'):
|
||||
self.assertEqual(
|
||||
logentry.get_change_message(),
|
||||
"Modification de domain. Ajout de article « Added article ». "
|
||||
"Modification de title pour l'objet article « Changed Title ». "
|
||||
"Modification de Domain. Ajout de article « Added article ». "
|
||||
"Modification de Title et not_a_form_field pour l'objet "
|
||||
"article « Changed Title ». "
|
||||
"Suppression de article « Title second article »."
|
||||
)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue