From 840a1b186f328f04a51451da900bf9754b7c4eef Mon Sep 17 00:00:00 2001 From: Jannis Portmann Date: Mon, 20 Feb 2023 11:31:10 +0100 Subject: [PATCH 01/10] Upload and show offers --- pflaenzli/templates/base.html | 2 +- pflaenzli/templates/offer/detail.html | 6 ++-- pflaenzli/templates/offer/search.html | 44 +++++++++------------------ pflaenzli/upload.py | 11 +++++++ pflaenzli/urls.py | 1 + pflaenzli/views.py | 28 ++++++++--------- 6 files changed, 42 insertions(+), 50 deletions(-) create mode 100644 pflaenzli/upload.py diff --git a/pflaenzli/templates/base.html b/pflaenzli/templates/base.html index 257f8fa..d43af8a 100644 --- a/pflaenzli/templates/base.html +++ b/pflaenzli/templates/base.html @@ -48,7 +48,7 @@ id="navbarSupportedContent"> {% endif %} - Offer trade + Offer trade {% endif %} {% endblock %} diff --git a/pflaenzli/templates/user/trade/offer_email.html b/pflaenzli/templates/user/trade/offer_email.html new file mode 100644 index 0000000..1042d07 --- /dev/null +++ b/pflaenzli/templates/user/trade/offer_email.html @@ -0,0 +1,5 @@ +

Hello {{ recipient_user.username }}

+

{{ sender_user.username }} wants to trade '{{ offer.title }}'!

+

Checkout their offers:

+Link +

Just reply to get in contact witj to start trading with {{ sender_user.username }}.

diff --git a/pflaenzli/templates/user/trade/offer_email.html.twig b/pflaenzli/templates/user/trade/offer_email.html.twig deleted file mode 100644 index f23e814..0000000 --- a/pflaenzli/templates/user/trade/offer_email.html.twig +++ /dev/null @@ -1,5 +0,0 @@ -

{{ user.username }} wants to trade!

- -

Checkout {{ user.username}}'s offers:

-Link -

Reply to this email to start trading.

\ No newline at end of file diff --git a/pflaenzli/views.py b/pflaenzli/views.py index b19d033..91d2c9d 100644 --- a/pflaenzli/views.py +++ b/pflaenzli/views.py @@ -2,10 +2,12 @@ from django.shortcuts import render, get_object_or_404, redirect from django.utils import timezone from django.contrib import messages from django.contrib.auth.decorators import login_required +from django.contrib.auth.models import User from django.http import HttpResponseForbidden from .forms import CreateOfferForm from .models import Offer, Wish +from .mail import send_offer_email from .upload import generate_unique_filename @@ -75,9 +77,19 @@ def offer_edit(request, offer_id): return render(request, "basic_form.html", {"form": form, "button_label": "Update"}) -@ login_required +@login_required def offer_trade(request, offer_id): - return 0 + offer = get_object_or_404(Offer, id=offer_id) + sender = request.user + recipient = offer.user + + if sender != recipient: + send_offer_email(request, offer, sender, recipient) + messages.success(request, f"{recipient.username} was successfully notified") + else: + messages.error(request, "You can't trade with yourself!") + + return redirect("offer_detail", offer_id) def user_detail(request, user_id): From 85e7440f0fbd28062434f39ef4e66acb840ae5c7 Mon Sep 17 00:00:00 2001 From: Jannis Portmann Date: Fri, 31 Mar 2023 23:56:46 +0200 Subject: [PATCH 09/10] Improve layout --- pflaenzli/templates/offer/detail.html | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pflaenzli/templates/offer/detail.html b/pflaenzli/templates/offer/detail.html index 00417df..a82121a 100644 --- a/pflaenzli/templates/offer/detail.html +++ b/pflaenzli/templates/offer/detail.html @@ -7,13 +7,13 @@ {% endblock %} {% block content %} {% if offer.user == request.user %}{% endif %} -
-
+
+
Generic placeholder image
-
+

{{ offer.title }}

@@ -38,7 +38,7 @@

{% if offer.user == user %} - +