Exemplo n.º 1
0
def user_calendar(request, token):
    user = get_user_by_token_or_404(token, purpose='user-request-calendar')

    three_months_ago = timezone.now() - timedelta(days=31 * 3)
    queryset = FoiRequest.objects.filter(
        user=user
    ).filter(
        Q(due_date__gte=three_months_ago) |
        Q(last_message__gte=three_months_ago)
    ).select_related('law')

    cal = icalendar.Calendar()
    cal.add('prodid', '-//{site_name} //{domain}//'.format(
        site_name=settings.SITE_NAME,
        domain=settings.SITE_URL.split('/')[-1]
    ))
    cal.add('version', '2.0')
    cal.add('method', 'PUBLISH')
    for obj in queryset:
        add_ical_events(obj, cal)

    response = HttpResponse(cal.to_ical(),
                content_type='text/calendar; charset=utf-8')
    response['Content-Disposition'] = 'attachment; filename=events.ics'
    return response
Exemplo n.º 2
0
 def get_queryset(self):
     token = self.kwargs['token']
     user = get_user_by_token_or_404(token, purpose='user-request-feed')
     self.filtered_objs = {
         'user': user
     }
     self.filter_data = {
         'user': token
     }
     return FoiRequest.objects.filter(user=user)