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)
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())
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)