csv schedule export
This commit is contained in:
parent
7a8c560a1b
commit
b48d66fd9d
2 changed files with 24 additions and 1 deletions
|
@ -5,9 +5,11 @@ urlpatterns = patterns("symposion.schedule.views",
|
||||||
url(r"^$", "schedule_detail", name="schedule_detail"),
|
url(r"^$", "schedule_detail", name="schedule_detail"),
|
||||||
url(r"^edit/$", "schedule_edit", name="schedule_edit"),
|
url(r"^edit/$", "schedule_edit", name="schedule_edit"),
|
||||||
url(r"^list/$", "schedule_list", name="schedule_list"),
|
url(r"^list/$", "schedule_list", name="schedule_list"),
|
||||||
|
url(r"^presentations.csv$", "schedule_list_csv", name="schedule_list_csv"),
|
||||||
url(r"^presentation/(\d+)/$", "schedule_presentation_detail", name="schedule_presentation_detail"),
|
url(r"^presentation/(\d+)/$", "schedule_presentation_detail", name="schedule_presentation_detail"),
|
||||||
url(r"^(\w+)/$", "schedule_detail", name="schedule_detail"),
|
url(r"^(\w+)/$", "schedule_detail", name="schedule_detail"),
|
||||||
url(r"^(\w+)/edit/$", "schedule_edit", name="schedule_edit"),
|
url(r"^(\w+)/edit/$", "schedule_edit", name="schedule_edit"),
|
||||||
url(r"^(\w+)/list/$", "schedule_list", name="schedule_list"),
|
url(r"^(\w+)/list/$", "schedule_list", name="schedule_list"),
|
||||||
|
url(r"^(\w+)/presentations.csv$", "schedule_list_csv", name="schedule_list_csv"),
|
||||||
url(r"^(\w+)/edit/slot/(\d+)/", "schedule_slot_edit", name="schedule_slot_edit"),
|
url(r"^(\w+)/edit/slot/(\d+)/", "schedule_slot_edit", name="schedule_slot_edit"),
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
from django.core.exceptions import ObjectDoesNotExist
|
from django.core.exceptions import ObjectDoesNotExist
|
||||||
from django.http import Http404
|
from django.http import Http404, HttpResponse
|
||||||
from django.shortcuts import render, get_object_or_404, redirect
|
from django.shortcuts import render, get_object_or_404, redirect
|
||||||
|
from django.template import loader, Context
|
||||||
|
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
|
@ -50,6 +51,26 @@ def schedule_list(request, slug=None):
|
||||||
return render(request, "schedule/schedule_list.html", ctx)
|
return render(request, "schedule/schedule_list.html", ctx)
|
||||||
|
|
||||||
|
|
||||||
|
def schedule_list_csv(request, slug=None):
|
||||||
|
schedule = fetch_schedule(slug)
|
||||||
|
|
||||||
|
presentations = Presentation.objects.filter(section=schedule.section)
|
||||||
|
presentations = presentations.exclude(cancelled=True).order_by("id")
|
||||||
|
|
||||||
|
response = HttpResponse(mimetype="text/csv")
|
||||||
|
if slug:
|
||||||
|
file_slug = slug
|
||||||
|
else:
|
||||||
|
file_slug = "presentations"
|
||||||
|
response["Content-Disposition"] = 'attachment; filename="%s.csv"' % file_slug
|
||||||
|
|
||||||
|
response.write(loader.get_template("schedule/schedule_list.csv").render(Context({
|
||||||
|
"presentations": presentations,
|
||||||
|
|
||||||
|
})))
|
||||||
|
return response
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
def schedule_edit(request, slug=None):
|
def schedule_edit(request, slug=None):
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue