[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-merchant] branch master updated: implement #6458,
gnunet <=