gnunet-svn
[Top][All Lists]
Advanced

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

[taler-merchant] branch master updated: implement #6458


From: gnunet
Subject: [taler-merchant] branch master updated: implement #6458
Date: Wed, 19 Aug 2020 18:26:25 +0200

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

grothoff pushed a commit to branch master
in repository merchant.

The following commit(s) were added to refs/heads/master by this push:
     new c4ffdfa  implement #6458
c4ffdfa is described below

commit c4ffdfa3f2c736e4324f11df7a35340f0e64e9a9
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Aug 19 18:26:22 2020 +0200

    implement #6458
---
 src/backend/taler-merchant-httpd_get-orders-ID.c | 51 ++++++++++++++++--------
 1 file changed, 35 insertions(+), 16 deletions(-)

diff --git a/src/backend/taler-merchant-httpd_get-orders-ID.c 
b/src/backend/taler-merchant-httpd_get-orders-ID.c
index 142ba99..75f8386 100644
--- a/src/backend/taler-merchant-httpd_get-orders-ID.c
+++ b/src/backend/taler-merchant-httpd_get-orders-ID.c
@@ -450,6 +450,34 @@ TMH_make_taler_pay_uri (struct MHD_Connection *con,
 }
 
 
+/**
+ * Return the order summary of the contract of @a god in the
+ * preferred language of the HTTP client.
+ *
+ * @param god order to extract summary from
+ * @return NULL if no summary was provided in the contract
+ */
+static const char *
+get_order_summary (struct GetOrderData *god)
+{
+  const char *language_pattern;
+  const char *ret;
+
+  language_pattern = MHD_lookup_connection_value (god->sc.con,
+                                                  MHD_HEADER_KIND,
+                                                  
MHD_HTTP_HEADER_ACCEPT_LANGUAGE);
+  if (NULL == language_pattern)
+    language_pattern = "en";
+  ret = json_string_value (TALER_JSON_extract_i18n (god->contract_terms,
+                                                    language_pattern,
+                                                    "summary"));
+  if (NULL == ret)
+    GNUNET_log (GNUNET_ERROR_TYPE_WARNING,
+                "No order summary found!\n");
+  return ret;
+}
+
+
 /**
  * The client did not yet pay, send it the payment request.
  *
@@ -510,10 +538,7 @@ send_pay_request (struct GetOrderData *god,
         { "taler_pay_qrcode_svg",
           qr },
         { "order_summary",
-          // FIXME #6458: implement logic to extract summary based on
-          // language preferences from summary_i18n if present.
-          json_string_value (json_object_get (god->contract_terms,
-                                              "summary")) },
+          get_order_summary (god) },
         { NULL, NULL }
       };
       enum GNUNET_GenericReturnValue res;
@@ -846,7 +871,8 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
                                          TALER_EC_GET_ORDERS_DB_LOOKUP_ERROR,
                                          "database error looking up order");
     }
-    god->unclaimed = (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs) && 
!contract_available;
+    god->unclaimed = (GNUNET_DB_STATUS_SUCCESS_ONE_RESULT == qs) &&
+                     ! contract_available;
     if ( (GNUNET_DB_STATUS_SUCCESS_NO_RESULTS == qs) &&
          (NULL == god->contract_terms) )
     {
@@ -1050,9 +1076,8 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
                     "Awaiting refund exceeding %s\n",
                     TALER_amount2s (&god->sc.refund_expected));
       if (god->sc.awaiting_refund_obtained)
-      GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-                  "Awaiting pending refunds\n",
-                  TALER_amount2s (&god->sc.refund_expected));
+        GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+                    "Awaiting pending refunds\n");
       suspend_god (god);
       return MHD_YES;
     }
@@ -1085,10 +1110,7 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
         {
           struct KVC kvc[] = {
             { "order_summary",
-              // FIXME #6458: implement logic to extract summary based on
-              // language preferences from summary_i18n if present.
-              json_string_value (json_object_get (god->contract_terms,
-                                                  "summary")) },
+              get_order_summary (god) },
             { "refund_amount",
               TALER_amount2s (&god->refund_amount) },
             { "taler_refund_uri",
@@ -1116,10 +1138,7 @@ TMH_get_orders_ID (const struct TMH_RequestHandler *rh,
         {
           struct KVC kvc[] = {
             { "order_summary",
-              // FIXME #6458: implement logic to extract summary based on
-              // language preferences from summary_i18n if present.
-              json_string_value (json_object_get (god->contract_terms,
-                                                  "summary")) },
+              get_order_summary (god) },
             { "refund_amount",
               TALER_amount2s (&god->refund_amount) },
             { "contract",

-- 
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]