Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1# (c) 2018-2020 

2# MPIB <https://www.mpib-berlin.mpg.de/>, 

3# MPI-CBS <https://www.cbs.mpg.de/>, 

4# MPIP <http://www.psych.mpg.de/> 

5# 

6# This file is part of Castellum. 

7# 

8# Castellum is free software; you can redistribute it and/or modify it 

9# under the terms of the GNU Affero General Public License as published 

10# by the Free Software Foundation; either version 3 of the License, or 

11# (at your option) any later version. 

12# 

13# Castellum is distributed in the hope that it will be useful, but 

14# WITHOUT ANY WARRANTY; without even the implied warranty of 

15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 

16# Affero General Public License for more details. 

17# 

18# You should have received a copy of the GNU Affero General Public 

19# License along with Castellum. If not, see 

20# <http://www.gnu.org/licenses/>. 

21 

22from django.core.exceptions import PermissionDenied 

23 

24from django_ical.views import ICalFeed 

25from stronghold.decorators import public 

26 

27from castellum.castellum_auth.models import User 

28 

29 

30@public 

31class BaseICalFeed(ICalFeed): 

32 def __call__(self, request, *args, **kwargs): 

33 self.request = request 

34 try: 

35 self.request.user = User.objects.get(token=request.GET.get('token')) 

36 except User.DoesNotExist: 

37 raise PermissionDenied 

38 return super().__call__(request, *args, **kwargs) 

39 

40 def item_title(self, item): 

41 return None 

42 

43 def item_description(self, item): 

44 return None