def test_ics(request, tid): test = get_object_or_404(Test, id=tid) start_date = datetime.combine(test.target_start, datetime.min.time()) end_date = datetime.combine(test.target_end, datetime.max.time()) uid = "dojo_test_%d_%d_%d" % (test.id, test.engagement.id, test.engagement.product.id) cal = get_cal_event(start_date, end_date, "Test: %s (%s)" % (test.test_type.name, test.engagement.product.name), "Set aside for test %s, on product %s. Additional detail can be found at %s" % ( test.test_type.name, test.engagement.product.name, request.build_absolute_uri((reverse("view_test", args=(test.id,))))), uid) output = cal.serialize() response = HttpResponse(content=output) response['Content-Type'] = 'text/calendar' response['Content-Disposition'] = 'attachment; filename=%s.ics' % test.test_type.name return response