diff --git a/RIGS/views/ical.py b/RIGS/views/ical.py index 087cd594..aacea3c1 100644 --- a/RIGS/views/ical.py +++ b/RIGS/views/ical.py @@ -24,6 +24,7 @@ class CalendarICS(ICalFeed): # Rig = 'rig' = True # Provisional = 'provisional' = True # Confirmed/Booked = 'confirmed' = True + # Only MIC = 'mic' = False def get_object(self, request, *args, **kwargs): params = {} @@ -35,6 +36,9 @@ class CalendarICS(ICalFeed): params['cancelled'] = request.GET.get('cancelled', 'false') == 'true' params['provisional'] = request.GET.get('provisional', 'true') == 'true' params['confirmed'] = request.GET.get('confirmed', 'true') == 'true' + params['only_mic'] = request.GET.get('only_mic', 'false') == 'true' + + params['user'] = kwargs['user'] return params @@ -73,6 +77,9 @@ class CalendarICS(ICalFeed): filter = filter & typeFilters & statusFilters + if params['only_mic']: + filter = filter & Q(mic=params['user']) + return models.Event.objects.filter(filter).order_by('-start_date').select_related('person', 'organisation', 'venue', 'mic')