diff options
author | 2024-03-04 00:32:16 +0100 | |
---|---|---|
committer | 2024-03-03 20:32:15 -0800 | |
commit | 8d80e9103f836284b73bc8d176c5ca63c31b0dfc (patch) | |
tree | be76d5d8f02499dfda0831616cfbc69ee8c336c1 /internal/ui/subscription_submit.go | |
parent | d55b41080062915e728b6afb75f5623927f100f7 (diff) | |
download | v2-8d80e9103f836284b73bc8d176c5ca63c31b0dfc.tar.gz v2-8d80e9103f836284b73bc8d176c5ca63c31b0dfc.tar.zst v2-8d80e9103f836284b73bc8d176c5ca63c31b0dfc.zip |
Delay call of `view.New` after logging the user in
There is no need to do extra work like creating a session and its associated
view until the user has been properly identified and as many possibly-failing sql request have been successfully run.
Diffstat (limited to 'internal/ui/subscription_submit.go')
-rw-r--r-- | internal/ui/subscription_submit.go | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/internal/ui/subscription_submit.go b/internal/ui/subscription_submit.go index 6d5600e8..267e9d7c 100644 --- a/internal/ui/subscription_submit.go +++ b/internal/ui/subscription_submit.go @@ -21,9 +21,6 @@ import ( ) func (h *handler) submitSubscription(w http.ResponseWriter, r *http.Request) { - sess := session.New(h.store, request.SessionID(r)) - v := view.New(h.tpl, r, sess) - user, err := h.store.UserByID(request.UserID(r)) if err != nil { html.ServerError(w, r, err) @@ -36,6 +33,8 @@ func (h *handler) submitSubscription(w http.ResponseWriter, r *http.Request) { return } + sess := session.New(h.store, request.SessionID(r)) + v := view.New(h.tpl, r, sess) v.Set("categories", categories) v.Set("menu", "feeds") v.Set("user", user) @@ -141,15 +140,15 @@ func (h *handler) submitSubscription(w http.ResponseWriter, r *http.Request) { html.Redirect(w, r, route.Path(h.router, "feedEntries", "feedID", feed.ID)) case n > 1: - v := view.New(h.tpl, r, sess) - v.Set("subscriptions", subscriptions) - v.Set("form", subscriptionForm) - v.Set("menu", "feeds") - v.Set("user", user) - v.Set("countUnread", h.store.CountUnreadEntries(user.ID)) - v.Set("countErrorFeeds", h.store.CountUserFeedsWithErrors(user.ID)) - v.Set("hasProxyConfigured", config.Opts.HasHTTPClientProxyConfigured()) + view := view.New(h.tpl, r, sess) + view.Set("subscriptions", subscriptions) + view.Set("form", subscriptionForm) + view.Set("menu", "feeds") + view.Set("user", user) + view.Set("countUnread", h.store.CountUnreadEntries(user.ID)) + view.Set("countErrorFeeds", h.store.CountUserFeedsWithErrors(user.ID)) + view.Set("hasProxyConfigured", config.Opts.HasHTTPClientProxyConfigured()) - html.OK(w, r, v.Render("choose_subscription")) + html.OK(w, r, view.Render("choose_subscription")) } } |