def speaker_create(request): try: return redirect(request.user.speaker_profile) except ObjectDoesNotExist: pass if request.method == "POST": try: speaker = Speaker.objects.get(invite_email=request.user.email) found = True except Speaker.DoesNotExist: speaker = None found = False form = SpeakerForm(request.POST, request.FILES, instance=speaker) if form.is_valid(): speaker = form.save(commit=False) speaker.user = request.user if not found: speaker.invite_email = None speaker.save() messages.success(request, "Speaker profile created.") return redirect("speaker_dashboard") else: form = SpeakerForm() ctx = { "form": form, } ctx = RequestContext(request, ctx) return render_to_response("speakers/speaker_create.html", ctx)
def addSpeaker(request): if request.method == 'POST': speaker_form = SpeakerForm(request.POST) if speaker_form.is_valid(): speaker_form.save() return redirect('speaker-list') else: pass else: speaker_form = SpeakerForm() context = {'speaker_form': speaker_form} return render(request, 'addspeaker.html', context)
def post(self, request): try: form = SpeakerForm(request.POST, request.FILES, instance=request.user.speaker_profile) except ObjectDoesNotExist: raise Http404 data = { "form": form, "presentations": self.get_presentations(request), } if form.is_valid(): form.save() messages.success(request, _("Datos actualizados correctamente")) return redirect(reverse("speakers:edit")) return render(request, "speakers/edit.html", data)
def speaker_edit(request, pk=None): if pk is None: try: speaker = request.user.speaker_profile except Speaker.DoesNotExist: return redirect("speaker_create") else: if request.user.groups.filter(name="organizer").exists(): speaker = get_object_or_404(Speaker, pk=pk) else: raise Http404() if request.method == "POST": form = SpeakerForm(request.POST, request.FILES, instance=speaker) if form.is_valid(): form.save() messages.success(request, "Speaker profile updated.") return redirect("speaker_dashboard") else: form = SpeakerForm(instance=speaker) ctx = { "form": form, } ctx = RequestContext(request, ctx) return render_to_response("speakers/speaker_edit.html", ctx)