def icalendar_view(request): """Download iCalendar file. :param request: """ check_schedule_view(request) days = Day.objects.all() calendar_text = export_to_icalendar(days) return HttpResponse(calendar_text, content_type="text/calendar")
def xcal_view(request): """Download xCal file. :param request: """ check_schedule_view(request) days = Day.objects.all() xcal_xml = export_to_xcal(days) return HttpResponse(xcal_xml, content_type="application/xml")
def pentabarf_view(request): """Download Pentabarf calendar file. :param request: """ check_schedule_view(request) days = Day.objects.all() rooms = Room.objects.all() pentabarf_xml = export_to_pentabarf(days, rooms) return HttpResponse(pentabarf_xml, content_type="application/xml")
def get(self, request): check_schedule_view(request) data = {"days": []} for day in Day.objects.all(): data["days"].append({ "tracks": day.track_set.order_by("order"), "date": day.date, "slots": day.slot_set.all().select_related(), "slot_groups": day.slot_groups(), }) return render(request, self.template_name, data)
def get(self, request, slot): check_schedule_view(request) try: slot_id = int(slot) slot = get_object_or_404(Slot, pk=slot_id) if slot.presentation.slug: return redirect(slot.get_absolute_url(), permanent=True) except ValueError: slot = get_object_or_404(Slot, presentation__slug=slot) data = { "slot": slot, "biographies": [ mark_safe(bleach.clean(speaker.biography.rendered, 'script')) for speaker in slot.content.get_speakers() ] } return render(request, self.template_name, data)