aboutsummaryrefslogtreecommitdiff
path: root/internal/ui/subscription_submit.go
diff options
context:
space:
mode:
authorGravatar jvoisin <julien.voisin@dustri.org> 2024-03-04 00:32:16 +0100
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-03-03 20:32:15 -0800
commit8d80e9103f836284b73bc8d176c5ca63c31b0dfc (patch)
treebe76d5d8f02499dfda0831616cfbc69ee8c336c1 /internal/ui/subscription_submit.go
parentd55b41080062915e728b6afb75f5623927f100f7 (diff)
downloadv2-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.go23
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"))
}
}