def poll_detail_view(request, pk, model, template_name, slug=None): obj = get_object_or_404( get_activity_queryset(request, model, with_common_annotations=True).with_answers(), pk=pk, ) return render_activity_detail(request, obj, template_name)
def event_list_view(request, model, template_name): qs = (get_activity_queryset( request, model, with_common_annotations=True).with_relevance().with_timedelta()) return render_activity_list(request, qs, template_name, ordering=("-relevance", "timedelta"))
def event_detail_view(request, model, pk, template_name, slug=None): event = get_activity_or_404( request, get_activity_queryset(request, model, with_common_annotations=True).with_next_date(), pk=pk, ) return render_activity_detail(request, event, template_name)
def event_cancel_view(request, pk): event = get_object_or_404(get_activity_queryset(request, Event), pk=pk) has_perm_or_403(request.user, "events.cancel", event) event.canceled = timezone.now() event.save() event.notify_on_cancel(request.user) messages.success(request, _("This event has been canceled")) return redirect(event)
def event_attend_view(request, pk, remove=False): event = get_object_or_404(get_activity_queryset(request, Event), pk=pk) has_perm_or_403(request.user, "events.attend", event) if remove: event.attendees.remove(request.user) messages.info(request, _("You are no longer attending this event")) else: event.attendees.add(request.user) event.notify_on_attend(request.user) messages.success(request, _("You are now attending this event")) return (TurboFrame(event.get_dom_id() + "-attend").template( "events/includes/attend.html", { "object": event, "is_attending": not (remove) }, ).response(request))
def event_download_view(request, pk): event = get_object_or_404(get_activity_queryset(request, Event), pk=pk) response = HttpResponse(content_type="text/calendar") response.write(event.to_ical()) return response
def poll_list_view(request, model, template_name): qs = get_activity_queryset(request, model, with_common_annotations=True).with_answers() return render_activity_list(request, qs, template_name)