gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-merchant-demos] branch master updated: check if refunded


From: gnunet
Subject: [taler-taler-merchant-demos] branch master updated: check if refunded
Date: Mon, 10 Jul 2023 17:46:24 +0200

This is an automated email from the git hooks/post-receive script.

sebasjm pushed a commit to branch master
in repository taler-merchant-demos.

The following commit(s) were added to refs/heads/master by this push:
     new c077426  check if refunded
c077426 is described below

commit c07742666ac10f972be94f3b46a5a4a609f1ba06
Author: Sebastian <sebasjm@gmail.com>
AuthorDate: Mon Jul 10 12:46:17 2023 -0300

    check if refunded
---
 talermerchantdemos/blog/blog.py                    | 37 +++++++++++++++-------
 .../templates/blog-article-refunded.html.j2        |  5 +++
 2 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/talermerchantdemos/blog/blog.py b/talermerchantdemos/blog/blog.py
index 5784ab1..493ffac 100644
--- a/talermerchantdemos/blog/blog.py
+++ b/talermerchantdemos/blog/blog.py
@@ -377,6 +377,9 @@ def article(article_name, lang=None, data=None):
     session_id = flask.session.get("session_id")
     order_id = flask.request.cookies.get("order_id")
 
+    # Check if cookies are expected for this request.
+    new_if_refunded = request.args.get("new_if_refunded")
+
     # Check if cookies are expected for this request.
     maybe_expect_state = request.args.get("expect_state")
     if maybe_expect_state == "yes":
@@ -445,24 +448,36 @@ def article(article_name, lang=None, data=None):
         )
         order_status = pay_status.get("order_status")
 
-    if order_status == "paid":
-        refunded = pay_status["refunded"]
-        if refunded:
-            return flask.render_template(
-                "blog-article-refunded.html.j2",
-                page_title=gettext("GNU Taler Demo: Refunded"),
-                article_name=article_name,
-                order_id=order_id,
-            )
-        response = render_article(
+    if order_status == "paid" and not pay_status["refunded"]:
+        return render_article(
             article_name,
             lang,
             data,
             order_id,
             refundable(pay_status)
         )
-        return response
 
+    #If the order is refunded show the status, unless the user is already aware
+    #and notified using the query parameter to create a new order
+    if pay_status["refunded"]:
+        if new_if_refunded == "yes":
+            order_resp = post_order(article_name, lang)
+            order_id = order_resp["order_id"]
+            pay_status = backend_get(
+                BACKEND_URL,
+                f"private/orders/{order_id}",
+                params=dict(session_id=session_id),
+                auth_token=APIKEY,
+            )
+        else:
+            return flask.render_template(
+                "blog-article-refunded.html.j2",
+                page_title=gettext("GNU Taler Demo: Refunded"),
+                article_name=article_name,
+                article_lang=lang,
+                order_id=order_id,
+            )
+    
     # Checking repurchase case.  That happens when the client
     # visits this page in the same session where the article
     # was paid already.
diff --git a/talermerchantdemos/templates/blog-article-refunded.html.j2 
b/talermerchantdemos/templates/blog-article-refunded.html.j2
index 25b0af8..3b0d765 100644
--- a/talermerchantdemos/templates/blog-article-refunded.html.j2
+++ b/talermerchantdemos/templates/blog-article-refunded.html.j2
@@ -13,6 +13,11 @@
 {{
   gettext("You will not be able to read the article until you pay for it 
again.")
 }}
+<a href="{{ url_for('article', lang=article_lang, article_name=article_name) 
}}" class="articleTitle">
+{{
+  gettext("Click here to it again.")
+}}
+</a>
 </p>
 
 {% endblock main %}

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]