Skip to content

Commit

Permalink
Merge pull request #187 from nyaruka/auto_messages_setting
Browse files Browse the repository at this point in the history
Add setting to allow disabling of automatic messages for create and update views
  • Loading branch information
rowanseymour committed May 16, 2024
2 parents 600bf7d + f49bf7a commit b637dc0
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 6 deletions.
4 changes: 2 additions & 2 deletions smartmin/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1146,7 +1146,7 @@ def get_queryset(self):

def derive_success_message(self):
# First check whether a default message has been set
if self.success_message is None:
if self.success_message is None and getattr(settings, "SMARTMIN_DEFAULT_MESSAGES", True):
return "Your %s has been updated." % self.model._meta.verbose_name
else:
return self.success_message
Expand Down Expand Up @@ -1273,7 +1273,7 @@ def pre_save(self, obj):

def derive_success_message(self):
# First check whether a default message has been set
if self.success_message is None:
if self.success_message is None and getattr(settings, "SMARTMIN_DEFAULT_MESSAGES", True):
return _("Your new %s has been created.") % self.model._meta.verbose_name
else:
return self.success_message
Expand Down
22 changes: 18 additions & 4 deletions test_runner/blog/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -184,13 +184,27 @@ def test_messaging(self):
post = list(Post.objects.all())[-1]

self.assertEqual(200, response.status_code)
self.assertContains(response, "Your new post has been created.")
self.assertContains(response, "Your new post has been created.") # created from model name

post_data = dict(title="New Post", body="Updated post content", order=1, tags="post")
response = self.client.post(reverse("blog.post_update", args=[post.id]), post_data, follow=True)
response = self.client.post(
reverse("blog.post_update", args=[post.id]),
{"title": "New Post", "body": "Updated post content", "order": 1, "tags": "post"},
follow=True,
)

self.assertEqual(200, response.status_code)
self.assertContains(response, "Your blog post has been updated.")
self.assertContains(response, "Your blog post has been updated.") # set explicitly on view

# can disable auto-creating success messages from model names
with self.settings(SMARTMIN_DEFAULT_MESSAGES=False):
response = self.client.post(
reverse("blog.post_create"),
{"title": "Post 2", "body": "Hi Again", "order": 1, "tags": "post"},
follow=True,
)

self.assertEquals(200, response.status_code)
self.assertNotContains(response, "Your new post has been created.") # disabled

def test_message_tags(self):
self.client.login(username="author", password="author")
Expand Down

0 comments on commit b637dc0

Please sign in to comment.