diff --git a/symposion/schedule/views.py b/symposion/schedule/views.py index 3c4e0b42bacd89df482ec8f57533ede91d5e89e0..b2e429dcf8749b82606f38364e0e969807b4f945 100644 --- a/symposion/schedule/views.py +++ b/symposion/schedule/views.py @@ -67,19 +67,23 @@ def schedule_slot_edit(request, slot_pk): slot = get_object_or_404(Slot, pk=slot_pk) + # slot content + try: + content = slot.content + except ObjectDoesNotExist: + content = None + if request.method == "POST": - form = SlotEditForm(request.POST) + form = SlotEditForm(request.POST, content=content) if form.is_valid(): presentation = form.cleaned_data["presentation"] - slot.assign(presentation) + if presentation is None: + slot.unassign() + else: + slot.assign(presentation) return redirect("schedule_edit_singleton") else: - initial = {} - try: - initial["presentation"] = slot.content - except ObjectDoesNotExist: - pass - form = SlotEditForm(initial=initial) + form = SlotEditForm(content=content) ctx = { "form": form, "slot": slot,