diff --git a/sales/views.py b/sales/views.py index 1cd5d47..355e72c 100644 --- a/sales/views.py +++ b/sales/views.py @@ -1,3 +1,6 @@ +from io import BytesIO +from base64 import b64encode +from qrcode import make as qrcode_make from django.shortcuts import render, HttpResponseRedirect, reverse from django.contrib.auth.decorators import login_required from django.contrib import messages @@ -5,6 +8,7 @@ from bids.models import ItemBid from sales.models import ItemSale + @login_required def get_sale(request, bid_id): bid = ItemBid.objects.get(id=bid_id) @@ -15,8 +19,12 @@ def get_sale(request, bid_id): messages.error(request, "You can't view a sale you are not involved in.") return HttpResponseRedirect(reverse('home')) + _address_qr = BytesIO() + address_qr = qrcode_make(sale.escrow_address).save(_address_qr) + context = { - 'sale': sale + 'sale': sale, + 'qrcode': b64encode(_address_qr.getvalue()).decode() } return render(request, 'sales/get_sale.html', context) diff --git a/web/templates/sales/get_sale.html b/web/templates/sales/get_sale.html index 55d6918..8268b0e 100644 --- a/web/templates/sales/get_sale.html +++ b/web/templates/sales/get_sale.html @@ -5,8 +5,27 @@
-

Sale Info

+

Sale #{{ sale.id }}

+ {% if request.user == sale.bid.bidder %} + {% if sale.payment_received == False %} +

Hello {{ sale.bid.bidder.username }},

+

The seller accepted your bid and the sale process was initiated. Please send funds to the below Monero escrow address (or use the QR code).

+

Expected Payment (XMR): {{ sale.expected_payment_xmr }}

+

Escrow Address: {{ sale.escrow_address }}

+ + {% endif %} + {% endif %} + {% if request.user == sale.item.owner %} + {% if sale.payment_received == False %} +

Hello {{ sale.item.owner.username }},

+

You accepted bid #{{ sale.bid.id }} on your item "{{ sale.item.name }}" (#{{ sale.item.id }}). A new sale has been initiated.

+

We are waiting for the buyer to send funds to the escrow address. No action is needed from you at this time, but you will be notified you when there is.

+

Congratulations on the sale!

+ {% endif %} + {% endif %} + {% if site_meta.debug %} +

Item: {{ sale.item }}

Payout Address: {{ sale.item.payout_address }}

@@ -30,6 +49,7 @@

Platform Paid: {{ sale.platform_paid }}

Sale Finalized: {{ sale.sale_finalized }}

+ {% endif %}