From 7a765018f29972563a4879389ef708ff2ce7e345 Mon Sep 17 00:00:00 2001 From: Lawrence Elitzer <5624305+elitzer2@users.noreply.github.com> Date: Sat, 29 Aug 2020 07:30:06 -0500 Subject: [PATCH] Fix subscription widget --- server/routes/subscription.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/routes/subscription.js b/server/routes/subscription.js index 36b2d1f8..99542bec 100644 --- a/server/routes/subscription.js +++ b/server/routes/subscription.js @@ -281,6 +281,9 @@ router.postAsync('/:cid/subscribe', passport.parseForm, corsOrCsrfProtection, as if (existingSubscription && existingSubscription.status === SubscriptionStatus.SUBSCRIBED) { await mailHelpers.sendAlreadySubscribed(req.locale, list, email, existingSubscription); + if (req.xhr) { + throw new Error(tUI('listEmailAddressAlreadyRegistered', req.locale, {list: list.name})); + } res.redirect('/subscription/' + encodeURIComponent(req.params.cid) + '/confirm-subscription-notice'); } else { @@ -325,7 +328,7 @@ router.getAsync('/:cid/widget', cors(corsOptions), async (req, res) => { title: list.name, cid: list.cid, publicKeyUrl: getTrustedUrl('subscription/publickey'), - subscribeUrl: getTrustedUrl(`subscription/${list.cid}/subscribe`), + subscribeUrl: getPublicUrl(`subscription/${list.cid}/subscribe`), hasPubkey: !!configItems.pgpPrivateKey, customFields: await fields.forHbs(contextHelpers.getAdminContext(), list.id), template: {},