def zsettings(request): """ Adds zorna context variables to the context. """ try: reg = SiteRegistration.objects.get(site=Site.objects.get_current()) allow_registration = reg.allow_registration except: allow_registration = False media_plugin_url = settings.MEDIA_PLUGIN_URL if request.user.is_anonymous(): usergroups = [] calendar = None else: usergroups = [str(g.pk) for g in request.user.get_profile().groups.all()] calendar = get_personal_calendar(request.user) return {'CKEDITOR_MEDIA_PREFIX': settings.CKEDITOR_MEDIA_PREFIX, 'ZORNA_SKIN': settings.ZORNA_SKIN, 'ZORNA_REGISTRATION': allow_registration, 'MEDIA_PLUGIN_URL': media_plugin_url, 'ZORNA_USER_GROUPS': usergroups, 'ZORNA_USER_CALENDAR': calendar, }
def save(self, *args, **kwargs): m = kwargs.pop('message', None) request = kwargs.pop('request', None) try: calendar = Calendar.objects.get(name='default') except Calendar.DoesNotExist: calendar = Calendar(name='default', slug='default') calendar.save() if self.instance.pk: self.instance.event.title = self.cleaned_data['title'] self.instance.event.start = self.cleaned_data['start'] self.instance.event.end = self.cleaned_data['end'] self.instance.event.save() return self.instance.event else: event_data = { 'title': self.cleaned_data['title'], 'start': self.cleaned_data['start'], 'end': self.cleaned_data['end'], 'description': m.message, 'creator': request.user, 'calendar': calendar, } event = Event(**event_data) event.save() EventDetails.objects.create_details(event) ec = EventCommunity(event=event) ec.save() for cal_owner in m.users.all(): cal = get_personal_calendar(cal_owner) event.create_relation(cal.content_object) for cal_owner in m.communities.all(): cal = get_community_calendar(cal_owner) event.create_relation(cal.content_object) return ec