Example #1
0
def rent_notification(request, venue_id, user_id):
    if request.method != "POST":
        return HttpResponseNotAllowed(['POST'])

    user = get_object_or_404(User, pk=user_id)
    venue = get_object_or_404(Venue, pk=venue_id)
    rent_venue = RentVenue.objects.get(venue=venue)

    parsed_status = parse_ipn_notification_request(request)
    parsed_status.transaction_type = 'Venue'
    parsed_status.transaction_entity_id = venue_id
    parsed_status.transaction_user = user
    parsed_status.save()

    if parsed_status.transactionStatus not in [IPNTransactionStatus.SUCCESS, IPNTransactionStatus.PENDING]:  # ERROR
        rent_venue.state = DonationState.TERMINATED
        rent_venue.status_code = AmazonActionStatus.PE
        rent_venue.error_message = parsed_status.statusMessage
        rent_venue.save()

        venue.sponsor = None
        venue.save()

        message_body = render_to_string('spuddercern/pages/rent_venue_rent_error.html', {
            'venue': venue,
            'error_message': rent_venue.error_message,
            'venue_url': '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue.id)
        })

        send_email(settings.SERVER_EMAIL, user.email, 'Venue renting payment error', message_body)

    return HttpResponse('OK')
    def CommunicateWithEmail(cls, emails=[], **kwargs):
        if 'invitation' in kwargs:
            invitation = kwargs['invitation']
            subject, message = cls._GetInvitationSubjectAndMessage(invitation)
        elif 'notification' in kwargs:
            notification = kwargs['notification']
            subject, message = cls._GetNotificationSubjectAndMessage(notification)

        for contact_email in emails:
            send_email(settings.SERVER_EMAIL, contact_email, subject, message)
Example #3
0
def rent_notification(request, venue_id, user_id):
    if request.method != "POST":
        return HttpResponseNotAllowed(['POST'])

    user = get_object_or_404(User, pk=user_id)
    venue = get_object_or_404(Venue, pk=venue_id)
    rent_venue = RentVenue.objects.get(venue=venue)

    parsed_status = parse_ipn_notification_request(request)
    parsed_status.transaction_type = 'Venue'
    parsed_status.transaction_entity_id = venue_id
    parsed_status.transaction_user = user
    parsed_status.save()

    if parsed_status.transactionStatus not in [
            IPNTransactionStatus.SUCCESS, IPNTransactionStatus.PENDING
    ]:  # ERROR
        rent_venue.state = DonationState.TERMINATED
        rent_venue.status_code = AmazonActionStatus.PE
        rent_venue.error_message = parsed_status.statusMessage
        rent_venue.save()

        venue.sponsor = None
        venue.save()

        message_body = render_to_string(
            'spuddercern/pages/rent_venue_rent_error.html', {
                'venue':
                venue,
                'error_message':
                rent_venue.error_message,
                'venue_url':
                '%s/venues/view/%s' % (settings.SPUDMART_BASE_URL, venue.id)
            })

        send_email(settings.SERVER_EMAIL, user.email,
                   'Venue renting payment error', message_body)

    return HttpResponse('OK')