[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [taler-wallet-webex] 01/02: preliminary retry for refunds
From: |
gnunet |
Subject: |
[GNUnet-SVN] [taler-wallet-webex] 01/02: preliminary retry for refunds |
Date: |
Tue, 10 Apr 2018 21:20:28 +0200 |
This is an automated email from the git hooks/post-receive script.
dold pushed a commit to branch master
in repository wallet-webex.
commit 1956428a34c91e3b5ee1931a4daca1adbbac273c
Author: Florian Dold <address@hidden>
AuthorDate: Tue Apr 10 21:20:04 2018 +0200
preliminary retry for refunds
---
src/i18n/de.po | 2 +-
src/i18n/en-US.po | 2 +-
src/i18n/fr.po | 2 +-
src/i18n/it.po | 2 +-
src/i18n/sv.po | 2 +-
src/i18n/taler-wallet-webex.pot | 2 +-
src/webex/pages/refund.tsx | 18 +++++++++++++++---
7 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/src/i18n/de.po b/src/i18n/de.po
index a57ecf7f..6264e7cd 100644
--- a/src/i18n/de.po
+++ b/src/i18n/de.po
@@ -103,7 +103,7 @@ msgstr "Der Händler %1$s möchte einen Vertrag über %2$s mit
Ihnen abschließe
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, c-format
msgid "The total price is %1$s."
msgstr ""
diff --git a/src/i18n/en-US.po b/src/i18n/en-US.po
index 098a0720..90705c53 100644
--- a/src/i18n/en-US.po
+++ b/src/i18n/en-US.po
@@ -103,7 +103,7 @@ msgstr ""
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, c-format
msgid "The total price is %1$s."
msgstr ""
diff --git a/src/i18n/fr.po b/src/i18n/fr.po
index 93fef374..97fe0a3b 100644
--- a/src/i18n/fr.po
+++ b/src/i18n/fr.po
@@ -103,7 +103,7 @@ msgstr ""
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, c-format
msgid "The total price is %1$s."
msgstr ""
diff --git a/src/i18n/it.po b/src/i18n/it.po
index 93fef374..97fe0a3b 100644
--- a/src/i18n/it.po
+++ b/src/i18n/it.po
@@ -103,7 +103,7 @@ msgstr ""
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, c-format
msgid "The total price is %1$s."
msgstr ""
diff --git a/src/i18n/sv.po b/src/i18n/sv.po
index daec2f83..4ae8d95c 100644
--- a/src/i18n/sv.po
+++ b/src/i18n/sv.po
@@ -105,7 +105,7 @@ msgstr "Säljaren %1$s erbjuder följande:"
msgid "The total price is %1$s (plus %2$s fees)."
msgstr "Det totala priset är %1$s (plus %2$s avgifter).\n"
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, fuzzy, c-format
msgid "The total price is %1$s."
msgstr "Det totala priset är %1$s."
diff --git a/src/i18n/taler-wallet-webex.pot b/src/i18n/taler-wallet-webex.pot
index 93fef374..97fe0a3b 100644
--- a/src/i18n/taler-wallet-webex.pot
+++ b/src/i18n/taler-wallet-webex.pot
@@ -103,7 +103,7 @@ msgstr ""
msgid "The total price is %1$s (plus %2$s fees)."
msgstr ""
-#: src/webex/pages/confirm-contract.tsx:384
+#: src/webex/pages/confirm-contract.tsx:385
#, c-format
msgid "The total price is %1$s."
msgstr ""
diff --git a/src/webex/pages/refund.tsx b/src/webex/pages/refund.tsx
index b2f5948d..6bc1a136 100644
--- a/src/webex/pages/refund.tsx
+++ b/src/webex/pages/refund.tsx
@@ -31,6 +31,8 @@ import * as dbTypes from "../../dbTypes";
import { AmountJson } from "../../amounts";
import * as Amounts from "../../amounts";
+import * as timer from "../../timer";
+
import { AmountDisplay } from "../renderHtml";
import * as wxApi from "../wxApi";
@@ -48,7 +50,11 @@ interface RefundStatusViewState {
interface RefundDetailProps {
purchase: dbTypes.PurchaseRecord;
- fullRefundFees: AmountJson;
+ /**
+ * Full refund fees (including refreshing) so far, or undefined if no refund
+ * permission was processed yet
+ */
+ fullRefundFees?: AmountJson;
}
const RefundDetail = ({purchase, fullRefundFees}: RefundDetailProps) => {
@@ -85,7 +91,8 @@ const RefundDetail = ({purchase, fullRefundFees}:
RefundDetailProps) => {
<div>
{hasPending ? <p>Refund pending: <AmountDisplay amount={amountPending}
/></p> : null}
<p>
- Refund received: <AmountDisplay amount={amountDone} /> (refund fees:
<AmountDisplay amount={fullRefundFees} />)
+ Refund received: <AmountDisplay amount={amountDone} />{" "}
+ (refund fees: {fullRefundFees ? <AmountDisplay amount={fullRefundFees}
/> : "??" })
</p>
</div>
);
@@ -107,6 +114,9 @@ class RefundStatusView extends
React.Component<RefundStatusViewProps, RefundStat
this.update();
}
});
+ // Just to be safe: update every second, in case we miss a notification
+ // from the background page.
+ timer.after(1000, () => this.update());
}
render(): JSX.Element {
@@ -138,7 +148,7 @@ class RefundStatusView extends
React.Component<RefundStatusViewProps, RefundStat
</p>
<p>Total amount: <AmountDisplay
amount={Amounts.parseOrThrow(purchase.contractTerms.amount)} /></p>
{purchase.finished
- ? <RefundDetail purchase={purchase}
fullRefundFees={this.state.refundFees!} />
+ ? <RefundDetail purchase={purchase}
fullRefundFees={this.state.refundFees} />
: <p>Purchase not completed.</p>}
</div>
);
@@ -157,6 +167,8 @@ class RefundStatusView extends
React.Component<RefundStatusViewProps, RefundStat
}
const purchase = await wxApi.getPurchase(contractTermsHash);
console.log("got purchase", purchase);
+ // We got a result, but it might be undefined if not found in DB.
+ this.setState({ purchase, gotResult: true });
const refundsDone = Object.keys(purchase.refundsDone).map((x) =>
purchase.refundsDone[x]);
if (refundsDone.length) {
const refundFees = await wxApi.getFullRefundFees({ refundPermissions:
refundsDone });
--
To stop receiving notification emails like this one, please contact
address@hidden