Esempio n. 1
0
def handler_response_post(request, event):
    """Update an RSVP."""

    response, guests = event_lists.get_event_responses(event, request.user)

    # Check if the person is trying to add friends
    try:
        extra_guests = range(
            0,
            int(request.POST.get('friends', '0')) - len(guests))
    except ValueError:
        extra_guests = []

    if extra_guests:
        return shortcuts.render(request, 'response-friends.html', locals())

    # Remove the current information
    if response is not None:
        response.delete()
    for guest in guests:
        guest.delete()

    response = models.Response(event=event,
                               created_by=request.user,
                               guest=False)
    response.attending = request.POST.get('attending').lower() != 'no'
    response.save()

    logging.info('Response %s created by user %s (email: %s)', response.pk,
                 request.user.username, request.user.email)

    guest_names = request.POST.getlist('guest_name')
    guest_emails = request.POST.getlist('guest_email')
    assert len(guest_names) == len(guest_emails)

    for name, email in zip(guest_names, guest_emails):
        name, email = name.strip(), email.strip()
        if not name or not email:
            continue

        response = models.Response(event=event,
                                   guest=True,
                                   created_by=request.user)
        response.attending = True
        response.guest_name = name
        response.guest_email = email
        response.save()

    return shortcuts.redirect('/event/%s/response' % event.pk)
Esempio n. 2
0
def handler_event_get(request, event_key=None):
    """Handler for display a single event."""

    # We are using locals which confuses pylint.
    # pylint: disable-msg=W0612

    # /events/<key>
    # /events?id=<key>
    if event_key is None:
        event = shortcuts.get_object_or_404(models.Event, pk=request.GET.get('id', -1))
    else:
        event = shortcuts.get_object_or_404(models.Event, pk=event_key)

    response, guests = event_lists.get_event_responses(event, request.user)

    return shortcuts.render(request, 'event.html', locals())
Esempio n. 3
0
def handler_response_post(request, event):
    """Update an RSVP."""

    response, guests = event_lists.get_event_responses(event, request.user)

    # Check if the person is trying to add friends
    try:
        extra_guests = range(
            0, int(request.POST.get('friends', '0'))-len(guests))
    except ValueError:
        extra_guests = []

    if extra_guests:
        return shortcuts.render(request, 'response-friends.html', locals())

    # Remove the current information
    if response is not None:
        response.delete()
    for guest in guests:
        guest.delete()

    response = models.Response(
            event=event, created_by=request.user, guest=False)
    response.attending = request.POST.get('attending').lower() != 'no'
    response.save()

    logging.info('Response %s created by user %s (email: %s)',
            response.pk, request.user.username, request.user.email)

    guest_names = request.POST.getlist('guest_name')
    guest_emails = request.POST.getlist('guest_email')
    assert len(guest_names) == len(guest_emails)

    for name, email in zip(guest_names, guest_emails):
        name, email = name.strip(), email.strip()
        if not name or not email:
            continue

        response = models.Response(
                event=event, guest=True, created_by=request.user)
        response.attending = True
        response.guest_name = name
        response.guest_email = email
        response.save()

    return shortcuts.redirect('/event/%s/response' % event.pk)
Esempio n. 4
0
def handler_event_get(request, event_key=None):
    """Handler for display a single event."""

    # We are using locals which confuses pylint.
    # pylint: disable-msg=W0612

    # /events/<key>
    # /events?id=<key>
    if event_key is None:
        event = shortcuts.get_object_or_404(models.Event,
                                            pk=request.GET.get('id', -1))
    else:
        event = shortcuts.get_object_or_404(models.Event, pk=event_key)

    response, guests = event_lists.get_event_responses(event, request.user)

    return shortcuts.render(request, 'event.html', locals())