Skip to content

Commit d4008d2

Browse files
bahattinciniculgens
authored andcommitted
Added SuccessMessageMixin (#74)
Closes #73
1 parent 98cbb46 commit d4008d2

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

people/views.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,21 @@
11
# coding: utf-8
22

3-
from django.contrib import messages
43
from django.urls import reverse
54
from django.views.generic import ListView, CreateView
65

76
from people.models import Person
87
from people.forms import PersonForm
8+
from pyist.mixins import SuccessMessageMixin
99

1010

1111
class PeopleView(ListView):
1212
queryset = Person.objects.active()
1313

1414

15-
class CreatePeopleView(CreateView):
15+
class CreatePeopleView(SuccessMessageMixin, CreateView):
1616
model = Person
1717
form_class = PersonForm
1818
success_message = 'Kişi başarıyla eklendi.'
1919

20-
def form_valid(self, form):
21-
messages.success(self.request, self.success_message)
22-
return super(CreatePeopleView, self).form_valid(form)
23-
2420
def get_success_url(self):
2521
return reverse("people:index")

pyist/mixins.py

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
from django.contrib import messages
2+
from django.core.exceptions import ImproperlyConfigured
3+
4+
5+
class SuccessMessageMixin:
6+
success_message = None
7+
8+
def form_valid(self, form):
9+
if not self.success_message:
10+
raise ImproperlyConfigured(
11+
'No message to show. Provide a success_message.'
12+
)
13+
messages.success(self.request, self.success_message)
14+
return super().form_valid(form)

0 commit comments

Comments
 (0)