def cfp_form_view(request, slug): event = get_object_or_404(Event.objects.published(), slug=slug) context = dict() speaker_form = SpeakerForm(request.POST or None, prefix='speaker') talk_form = TalkForm(request.POST or None, prefix='talk') if speaker_form.is_valid() and talk_form.is_valid(): speaker_instance = speaker_form.save() talk_instance = talk_form.save(commit=False) talk_instance.primary_speaker = speaker_instance talk_instance.status = CFP talk_instance.event = Event.objects.get(slug=slug) talk_instance.save() message_text = _("Your talk proposal successfully created.") messages.success(request, message_text) return redirect('event_details', slug=event.slug) context['speaker_form'] = speaker_form context['talk_form'] = talk_form set_event_ga_to_context(event, context) return render(request=request, template_name='konfera/cfp_form.html', context=context)
def event_speakers_list_view(request, slug): context = dict() event = get_object_or_404(Event.objects.published(), slug=slug) context['event'] = event context['talks'] = event.talk_set.filter(status=Talk.APPROVED).order_by('primary_speaker__last_name') set_event_ga_to_context(event, context) return render(request=request, template_name='konfera/event_speakers.html', context=context)
def event_sponsors_list_view(request, slug): context = dict() event = get_object_or_404(Event.objects.published(), slug=slug) context['event'] = event context['sponsors'] = event.sponsors.all().order_by('type', 'title') set_event_ga_to_context(event, context) return render(request=request, template_name='konfera/event_sponsors.html', context=context)
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['event'] = event = Event.objects.get(slug=kwargs['slug']) context['sponsors'] = event.sponsors.filter(type__in=(Sponsor.PLATINUM, Sponsor.GOLD, Sponsor.SILVER)) context['speaker_form'] = SpeakerForm(self.request.POST or None, prefix='speaker') context['talk_form'] = TalkForm(self.request.POST or None, prefix='talk') set_event_ga_to_context(event, context) return context
def event_details_view(request, slug): context = dict() event = get_object_or_404(Event.objects.published(), slug=slug) context['event'] = event context['sponsors'] = event.sponsors.filter(type__in=(Sponsor.PLATINUM, Sponsor.GOLD, Sponsor.SILVER)) set_event_ga_to_context(event, context) if event.event_type == Event.MEETUP: return render(request=request, template_name='konfera/event/details_meetup.html', context=context) return render(request=request, template_name='konfera/event/details_conference.html', context=context)
def event_venue_view(request, slug): context = dict() event = get_object_or_404(Event.objects.published(), slug=slug) if not event.location or not event.location.get_here: raise Http404 context['event'] = event context['venue'] = event.location.get_here set_event_ga_to_context(event, context) return render(request=request, template_name='konfera/event_venue.html', context=context)
def get_context_data(self, **kwargs): event = kwargs['object'] context = super().get_context_data() context['day'] = int(self.kwargs['day']) date = event.date_from + timedelta(days=context['day']) context['schedule'] = event.schedules.filter(start__date=date.date()).order_by('room', 'start') event_duration = event.date_to - event.date_from context['interval'] = [ {'day': day, 'date': event.date_from + timedelta(days=day)} for day in range(event_duration.days + 1) ] set_event_ga_to_context(event, context) return context