This commit is contained in:
Ross
2021-02-04 21:05:49 +00:00
parent cd013f2ff3
commit f6fdbfaf7f
11 changed files with 687 additions and 191 deletions
+34 -3
View File
@@ -20,13 +20,14 @@ from django.http import HttpResponseRedirect, HttpResponse
from .forms import (
LongForm,
LongSeriesForm, LongSeriesImageFormSet,
MarkLongQuestionForm,
SeriesFormSet,
NoteForm,
ExaminationForm,
)
from .models import (
Long,
Long, LongSeries,
Note,
Examination,
Exam,
@@ -252,6 +253,38 @@ def long_clone(request, pk):
return render(request, "longs/long_form.html", context)
class LongSeriesCreate(LoginRequiredMixin, CreateView):
model = LongSeries
form_class = LongSeriesForm
def get_context_data(self, **kwargs):
context = super(LongSeriesCreate, self).get_context_data(**kwargs)
if self.request.POST:
context["image_formset"] = LongSeriesImageFormSet(
self.request.POST, self.request.FILES
)
context["image_formset"].full_clean()
else:
context["image_formset"] = LongSeriesImageFormSet()
return context
def form_valid(self, form):
self.object = form.save(commit=False)
self.object.save()
#form.instance.author.add(self.request.user.id)
context = self.get_context_data(form=form)
series_formset = context["image_formset"]
if series_formset.is_valid():
response = super().form_valid(form)
series_formset.instance = self.object
series_formset.save()
return response
else:
return super().form_invalid(form)
class LongCreateBase(LoginRequiredMixin, CreateView):
model = Long
@@ -294,8 +327,6 @@ class LongCreateBase(LoginRequiredMixin, CreateView):
# @login_required
class LongCreate(LongCreateBase):
def get_initial(self):
# There has to be a better way...
try: