class ShowForumPostsView(GroupRequiredMixin, FormMixin, ListView):
model = Post
group_required = 'clients'
paginate_by = 4
form_class = PostForm
....
....
....
def post(self, request, *args, **kwargs):
form = self.get_form()
if form.is_valid():
return self.form_valid(form)
else:
return self.form_invalid(form)
#return self.get(request, *args, **kwargs)
def form_valid(self, form):
data = form.save(commit=False)
data.creator = self.request.user
data.thread_id = Thread.objects.get(slug=self.kwargs['threadslug']).pk
data.save()
messages.success(self.request, '{0} added.'.format(self.model.__name__))
if self.request.is_ajax():
return JsonResponse({'reset': True})
return super(ShowForumPostsView, self).form_valid(form)
def form_invalid(self, form):
messages.error(self.request, '{0} could not be saved.'.format(self.model.__name__))
if self.request.is_ajax():
return JsonResponse(form.errors, status=400)
#return super(ShowForumPostsView, self).form_invalid(form)
return self.render_to_response(self.get_context_data(form=form))