def get_context_data(self, **kwargs): """ Override form_action_next added from SuccessPreviousViewRedirectMixin if the previous view is the Event Update view (redirecting to this view on a successful delete will return a 404.) """ context = super(EventDelete, self).get_context_data(**kwargs) form_action_next = context.get('form_action_next', None) if form_action_next: next = urllib.unquote_plus(form_action_next) next_relative = self.get_relative_path_with_query(next) try: view, v_args, v_kwargs = resolve(next_relative.path) except Http404: pass else: if view.__name__ == 'EventUpdate': ctx = { 'form_action_next': urllib.quote_plus(reverse( 'dashboard-calendar-state', kwargs = { 'pk': self.object.calendar.pk, 'state': State.get_string(self.object.state) } )) } context.update(ctx) return context
def update_event_state(request, pk=None, state=None): """ Update the state of the event. """ event = get_object_or_404(Event, pk=pk) if not request.user.is_superuser and event.calendar not in request.user.calendars: messages.error(request, 'You cannot modify the state for Event %s.' % event.title) else: event.state = state try: event.save() except Exception, e: log(str(e)) messages.error(request, 'Unable to set Event %(1)s to %(2)s.' % {"1": event.title, "2": State.get_string(state)}) else:
if not request.user.is_superuser and event.calendar not in request.user.calendars: messages.error(request, 'You cannot modify the state for Event %s.' % event.title) else: event.state = state try: event.save() except Exception, e: log(str(e)) messages.error(request, 'Unable to set Event %(1)s to %(2)s.' % {"1": event.title, "2": State.get_string(state)}) else: if event.is_submit_to_main and event.state != State.posted and not event.calendar.is_main_calendar: messages.info(request, 'Event %s was removed from the Main Calendar since the event is not posted on your calendar.' % event.title) update_subscriptions(event) messages.success(request, 'Successfully updated Event %(1)s to %(2)s.' % {"1": event.title, "2": State.get_string(state)}) return event def submit_event_to_main(request, pk=None): """ Submit the event to the main calendar. """ event = get_object_or_404(Event, pk=pk) if not request.user.is_superuser and event.calendar not in request.user.calendars: messages.error(request, 'You cannot submit Event %s to the Main Calendar.' % event.title) else: if event.state == State.posted: if not event.is_submit_to_main: