コード例 #1
0
ファイル: event.py プロジェクト: UCF/unify-events
    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
コード例 #2
0
ファイル: event.py プロジェクト: UCF/unify-events
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:
コード例 #3
0
ファイル: event.py プロジェクト: UCF/unify-events
    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: