From 195755581b0c1964ddff4901eeafa3b3b61009fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ferdinand=20M=C3=BCtsch?= Date: Fri, 23 Dec 2022 14:05:34 +0100 Subject: [PATCH] chore: require email address for subscriptions --- routes/settings.go | 4 ++++ routes/subscription.go | 2 -- views/settings.tpl.html | 18 +++++++++++++++--- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/routes/settings.go b/routes/settings.go index 74e2c37..b99ae2d 100644 --- a/routes/settings.go +++ b/routes/settings.go @@ -181,6 +181,10 @@ func (h *SettingsHandler) actionUpdateUser(w http.ResponseWriter, r *http.Reques return http.StatusBadRequest, "", "invalid parameters" } + if user.Email == "" && user.HasActiveSubscription() { + return http.StatusBadRequest, "", "cannot unset email while subscription is active" + } + user.Email = payload.Email user.Location = payload.Location user.ReportsWeekly = payload.ReportsWeekly diff --git a/routes/subscription.go b/routes/subscription.go index f694713..4ef41b5 100644 --- a/routes/subscription.go +++ b/routes/subscription.go @@ -209,8 +209,6 @@ func (h *SubscriptionHandler) handleSubscriptionEvent(subscription *stripe.Subsc until := models.CustomTime(time.Unix(subscription.CurrentPeriodEnd, 0)) if user.SubscribedUntil == nil || !user.SubscribedUntil.T().Equal(until.T()) { - println(user.SubscribedUntil.T().String()) - println(until.T().String()) user.SubscribedUntil = &until logbuch.Info("user %s got active subscription %s until %v", user.ID, subscription.ID, user.SubscribedUntil) } diff --git a/views/settings.tpl.html b/views/settings.tpl.html index 6f3102b..bd5598b 100644 --- a/views/settings.tpl.html +++ b/views/settings.tpl.html @@ -79,13 +79,20 @@
- Optional in general, but required for weekly reports and for resetting your password. + + Optional in general, but required for weekly reports and for resetting your password. + {{ if .User.HasActiveSubscription }} + You cannot unset or change your e-mail address while you have an active subscription. + {{ end }} +
- + value="{{ .User.Email }}" + {{ if .User.HasActiveSubscription }}disabled{{ end }} + >
@@ -719,7 +726,12 @@ {{ if not .User.HasActiveSubscription }}
+ {{ if ne .User.Email "" }} + {{ else }} +
+ You have to provide an e-mail address to purchase a subscription. + {{ end }}
{{ else }}