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