Files
django-maraudes/notes/mixins.py

33 lines
990 B
Python

from django.views.generic.edit import FormMixin, ProcessFormView
from django.shortcuts import redirect
from .forms import *
class SujetNoteFormMixin(object):
form_class = AutoNoteForm
def get_form(self, request, **kwargs):
# Should add test to ensure this instance class is
# has SingleObjectMixin set with Sujet model ??
return self.form_class(
self.request,
sujet=self.get_object()
)
def dispatch(self, request, **kwargs):
self.form = self.get_form(request)
return super().dispatch(request, **kwargs)
def post(self, request, **kwargs):
if self.form.is_valid():
self.form.save()
return redirect(self.get_success_url())
return self.get(request, **kwargs)
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['note_form'] = self.form
return context