diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/about.go | 2 | ||||
-rw-r--r-- | ui/category.go | 20 | ||||
-rw-r--r-- | ui/controller.go | 5 | ||||
-rw-r--r-- | ui/entry.go | 10 | ||||
-rw-r--r-- | ui/feed.go | 10 | ||||
-rw-r--r-- | ui/history.go | 2 | ||||
-rw-r--r-- | ui/integrations.go | 2 | ||||
-rw-r--r-- | ui/login.go | 6 | ||||
-rw-r--r-- | ui/opml.go | 9 | ||||
-rw-r--r-- | ui/session.go | 2 | ||||
-rw-r--r-- | ui/settings.go | 8 | ||||
-rw-r--r-- | ui/starred.go | 2 | ||||
-rw-r--r-- | ui/subscription.go | 18 | ||||
-rw-r--r-- | ui/unread.go | 2 | ||||
-rw-r--r-- | ui/user.go | 18 |
15 files changed, 57 insertions, 59 deletions
diff --git a/ui/about.go b/ui/about.go index 91713d8..4de46a8 100644 --- a/ui/about.go +++ b/ui/about.go @@ -17,7 +17,7 @@ func (c *Controller) AboutPage(ctx *handler.Context, request *handler.Request, r return } - response.HTML().Render("about", args.Merge(tplParams{ + response.HTML().Render("about", ctx.UserLanguage(), args.Merge(tplParams{ "version": version.Version, "build_date": version.BuildDate, "menu": "settings", diff --git a/ui/category.go b/ui/category.go index ba2d565..9ffe9a8 100644 --- a/ui/category.go +++ b/ui/category.go @@ -28,7 +28,7 @@ func (c *Controller) ShowCategories(ctx *handler.Context, request *handler.Reque return } - response.HTML().Render("categories", args.Merge(tplParams{ + response.HTML().Render("categories", ctx.UserLanguage(), args.Merge(tplParams{ "categories": categories, "total": len(categories), "menu": "categories", @@ -71,7 +71,7 @@ func (c *Controller) ShowCategoryEntries(ctx *handler.Context, request *handler. return } - response.HTML().Render("category_entries", args.Merge(tplParams{ + response.HTML().Render("category_entries", ctx.UserLanguage(), args.Merge(tplParams{ "category": category, "entries": entries, "total": count, @@ -88,7 +88,7 @@ func (c *Controller) CreateCategory(ctx *handler.Context, request *handler.Reque return } - response.HTML().Render("create_category", args.Merge(tplParams{ + response.HTML().Render("create_category", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "categories", })) } @@ -104,7 +104,7 @@ func (c *Controller) SaveCategory(ctx *handler.Context, request *handler.Request categoryForm := form.NewCategoryForm(request.Request()) if err := categoryForm.Validate(); err != nil { - response.HTML().Render("create_category", args.Merge(tplParams{ + response.HTML().Render("create_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": err.Error(), })) return @@ -117,7 +117,7 @@ func (c *Controller) SaveCategory(ctx *handler.Context, request *handler.Request } if duplicateCategory != nil { - response.HTML().Render("create_category", args.Merge(tplParams{ + response.HTML().Render("create_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": "This category already exists.", })) return @@ -127,7 +127,7 @@ func (c *Controller) SaveCategory(ctx *handler.Context, request *handler.Request err = c.store.CreateCategory(&category) if err != nil { logger.Info("[Controller:CreateCategory] %v", err) - response.HTML().Render("create_category", args.Merge(tplParams{ + response.HTML().Render("create_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": "Unable to create this category.", })) return @@ -152,7 +152,7 @@ func (c *Controller) EditCategory(ctx *handler.Context, request *handler.Request return } - response.HTML().Render("edit_category", args) + response.HTML().Render("edit_category", ctx.UserLanguage(), args) } // UpdateCategory validate and update a category. @@ -173,14 +173,14 @@ func (c *Controller) UpdateCategory(ctx *handler.Context, request *handler.Reque } if err := categoryForm.Validate(); err != nil { - response.HTML().Render("edit_category", args.Merge(tplParams{ + response.HTML().Render("edit_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": err.Error(), })) return } if c.store.AnotherCategoryExists(user.ID, category.ID, categoryForm.Title) { - response.HTML().Render("edit_category", args.Merge(tplParams{ + response.HTML().Render("edit_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": "This category already exists.", })) return @@ -189,7 +189,7 @@ func (c *Controller) UpdateCategory(ctx *handler.Context, request *handler.Reque err = c.store.UpdateCategory(categoryForm.Merge(category)) if err != nil { logger.Error("[Controller:UpdateCategory] %v", err) - response.HTML().Render("edit_category", args.Merge(tplParams{ + response.HTML().Render("edit_category", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": "Unable to update this category.", })) return diff --git a/ui/controller.go b/ui/controller.go index 44e0b29..a7af48b 100644 --- a/ui/controller.go +++ b/ui/controller.go @@ -9,7 +9,6 @@ import ( "github.com/miniflux/miniflux/http/handler" "github.com/miniflux/miniflux/model" "github.com/miniflux/miniflux/reader/feed" - "github.com/miniflux/miniflux/reader/opml" "github.com/miniflux/miniflux/scheduler" "github.com/miniflux/miniflux/storage" ) @@ -30,7 +29,6 @@ type Controller struct { store *storage.Storage pool *scheduler.WorkerPool feedHandler *feed.Handler - opmlHandler *opml.Handler } func (c *Controller) getCommonTemplateArgs(ctx *handler.Context) (tplParams, error) { @@ -55,12 +53,11 @@ func (c *Controller) getCommonTemplateArgs(ctx *handler.Context) (tplParams, err } // NewController returns a new Controller. -func NewController(cfg *config.Config, store *storage.Storage, pool *scheduler.WorkerPool, feedHandler *feed.Handler, opmlHandler *opml.Handler) *Controller { +func NewController(cfg *config.Config, store *storage.Storage, pool *scheduler.WorkerPool, feedHandler *feed.Handler) *Controller { return &Controller{ cfg: cfg, store: store, pool: pool, feedHandler: feedHandler, - opmlHandler: opmlHandler, } } diff --git a/ui/entry.go b/ui/entry.go index e2c3c00..436f189 100644 --- a/ui/entry.go +++ b/ui/entry.go @@ -155,7 +155,7 @@ func (c *Controller) ShowFeedEntry(ctx *handler.Context, request *handler.Reques prevEntryRoute = ctx.Route("feedEntry", "feedID", feedID, "entryID", prevEntry.ID) } - response.HTML().Render("entry", args.Merge(tplParams{ + response.HTML().Render("entry", ctx.UserLanguage(), args.Merge(tplParams{ "entry": entry, "prevEntry": prevEntry, "nextEntry": nextEntry, @@ -231,7 +231,7 @@ func (c *Controller) ShowCategoryEntry(ctx *handler.Context, request *handler.Re prevEntryRoute = ctx.Route("categoryEntry", "categoryID", categoryID, "entryID", prevEntry.ID) } - response.HTML().Render("entry", args.Merge(tplParams{ + response.HTML().Render("entry", ctx.UserLanguage(), args.Merge(tplParams{ "entry": entry, "prevEntry": prevEntry, "nextEntry": nextEntry, @@ -302,7 +302,7 @@ func (c *Controller) ShowUnreadEntry(ctx *handler.Context, request *handler.Requ return } - response.HTML().Render("entry", args.Merge(tplParams{ + response.HTML().Render("entry", ctx.UserLanguage(), args.Merge(tplParams{ "entry": entry, "prevEntry": prevEntry, "nextEntry": nextEntry, @@ -362,7 +362,7 @@ func (c *Controller) ShowReadEntry(ctx *handler.Context, request *handler.Reques prevEntryRoute = ctx.Route("readEntry", "entryID", prevEntry.ID) } - response.HTML().Render("entry", args.Merge(tplParams{ + response.HTML().Render("entry", ctx.UserLanguage(), args.Merge(tplParams{ "entry": entry, "prevEntry": prevEntry, "nextEntry": nextEntry, @@ -431,7 +431,7 @@ func (c *Controller) ShowStarredEntry(ctx *handler.Context, request *handler.Req prevEntryRoute = ctx.Route("starredEntry", "entryID", prevEntry.ID) } - response.HTML().Render("entry", args.Merge(tplParams{ + response.HTML().Render("entry", ctx.UserLanguage(), args.Merge(tplParams{ "entry": entry, "prevEntry": prevEntry, "nextEntry": nextEntry, @@ -45,7 +45,7 @@ func (c *Controller) ShowFeedsPage(ctx *handler.Context, request *handler.Reques return } - response.HTML().Render("feeds", args.Merge(tplParams{ + response.HTML().Render("feeds", ctx.UserLanguage(), args.Merge(tplParams{ "feeds": feeds, "total": len(feeds), "menu": "feeds", @@ -88,7 +88,7 @@ func (c *Controller) ShowFeedEntries(ctx *handler.Context, request *handler.Requ return } - response.HTML().Render("feed_entries", args.Merge(tplParams{ + response.HTML().Render("feed_entries", ctx.UserLanguage(), args.Merge(tplParams{ "feed": feed, "entries": entries, "total": count, @@ -112,7 +112,7 @@ func (c *Controller) EditFeed(ctx *handler.Context, request *handler.Request, re return } - response.HTML().Render("edit_feed", args) + response.HTML().Render("edit_feed", ctx.UserLanguage(), args) } // UpdateFeed update a subscription and redirect to the feed entries page. @@ -132,7 +132,7 @@ func (c *Controller) UpdateFeed(ctx *handler.Context, request *handler.Request, } if err := feedForm.ValidateModification(); err != nil { - response.HTML().Render("edit_feed", args.Merge(tplParams{ + response.HTML().Render("edit_feed", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": err.Error(), })) return @@ -141,7 +141,7 @@ func (c *Controller) UpdateFeed(ctx *handler.Context, request *handler.Request, err = c.store.UpdateFeed(feedForm.Merge(feed)) if err != nil { logger.Error("[Controller:EditFeed] %v", err) - response.HTML().Render("edit_feed", args.Merge(tplParams{ + response.HTML().Render("edit_feed", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": "Unable to update this feed.", })) return diff --git a/ui/history.go b/ui/history.go index 63d0ca7..f9c8ab5 100644 --- a/ui/history.go +++ b/ui/history.go @@ -39,7 +39,7 @@ func (c *Controller) ShowHistoryPage(ctx *handler.Context, request *handler.Requ return } - response.HTML().Render("history", args.Merge(tplParams{ + response.HTML().Render("history", ctx.UserLanguage(), args.Merge(tplParams{ "entries": entries, "total": count, "pagination": c.getPagination(ctx.Route("history"), count, offset), diff --git a/ui/integrations.go b/ui/integrations.go index 7459601..a980f9b 100644 --- a/ui/integrations.go +++ b/ui/integrations.go @@ -27,7 +27,7 @@ func (c *Controller) ShowIntegrations(ctx *handler.Context, request *handler.Req return } - response.HTML().Render("integrations", args.Merge(tplParams{ + response.HTML().Render("integrations", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "form": form.IntegrationForm{ PinboardEnabled: integration.PinboardEnabled, diff --git a/ui/login.go b/ui/login.go index fc10bc3..18571d8 100644 --- a/ui/login.go +++ b/ui/login.go @@ -20,7 +20,7 @@ func (c *Controller) ShowLoginPage(ctx *handler.Context, request *handler.Reques return } - response.HTML().Render("login", tplParams{ + response.HTML().Render("login", ctx.UserLanguage(), tplParams{ "csrf": ctx.CSRF(), }) } @@ -36,13 +36,13 @@ func (c *Controller) CheckLogin(ctx *handler.Context, request *handler.Request, if err := authForm.Validate(); err != nil { logger.Error("[Controller:CheckLogin] %v", err) - response.HTML().Render("login", tplParams) + response.HTML().Render("login", ctx.UserLanguage(), tplParams) return } if err := c.store.CheckPassword(authForm.Username, authForm.Password); err != nil { logger.Error("[Controller:CheckLogin] %v", err) - response.HTML().Render("login", tplParams) + response.HTML().Render("login", ctx.UserLanguage(), tplParams) return } @@ -7,12 +7,13 @@ package ui import ( "github.com/miniflux/miniflux/http/handler" "github.com/miniflux/miniflux/logger" + "github.com/miniflux/miniflux/reader/opml" ) // Export generates the OPML file. func (c *Controller) Export(ctx *handler.Context, request *handler.Request, response *handler.Response) { user := ctx.LoggedUser() - opml, err := c.opmlHandler.Export(user.ID) + opml, err := opml.NewHandler(c.store).Export(user.ID) if err != nil { response.HTML().ServerError(err) return @@ -29,7 +30,7 @@ func (c *Controller) Import(ctx *handler.Context, request *handler.Request, resp return } - response.HTML().Render("import", args.Merge(tplParams{ + response.HTML().Render("import", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "feeds", })) } @@ -52,14 +53,14 @@ func (c *Controller) UploadOPML(ctx *handler.Context, request *handler.Request, fileHeader.Size, ) - if impErr := c.opmlHandler.Import(user.ID, file); impErr != nil { + if impErr := opml.NewHandler(c.store).Import(user.ID, file); impErr != nil { args, err := c.getCommonTemplateArgs(ctx) if err != nil { response.HTML().ServerError(err) return } - response.HTML().Render("import", args.Merge(tplParams{ + response.HTML().Render("import", ctx.UserLanguage(), args.Merge(tplParams{ "errorMessage": impErr, "menu": "feeds", })) diff --git a/ui/session.go b/ui/session.go index 7ceb8e5..49f81d1 100644 --- a/ui/session.go +++ b/ui/session.go @@ -25,7 +25,7 @@ func (c *Controller) ShowSessions(ctx *handler.Context, request *handler.Request } sessions.UseTimezone(user.Timezone) - response.HTML().Render("sessions", args.Merge(tplParams{ + response.HTML().Render("sessions", ctx.UserLanguage(), args.Merge(tplParams{ "sessions": sessions, "currentSessionToken": ctx.UserSessionToken(), "menu": "settings", diff --git a/ui/settings.go b/ui/settings.go index 725aa61..88dc155 100644 --- a/ui/settings.go +++ b/ui/settings.go @@ -22,7 +22,7 @@ func (c *Controller) ShowSettings(ctx *handler.Context, request *handler.Request return } - response.HTML().Render("settings", args) + response.HTML().Render("settings", ctx.UserLanguage(), args) } // UpdateSettings update the settings. @@ -37,7 +37,7 @@ func (c *Controller) UpdateSettings(ctx *handler.Context, request *handler.Reque } if err := settingsForm.Validate(); err != nil { - response.HTML().Render("settings", args.Merge(tplParams{ + response.HTML().Render("settings", ctx.UserLanguage(), args.Merge(tplParams{ "form": settingsForm, "errorMessage": err.Error(), })) @@ -45,7 +45,7 @@ func (c *Controller) UpdateSettings(ctx *handler.Context, request *handler.Reque } if c.store.AnotherUserExists(user.ID, settingsForm.Username) { - response.HTML().Render("settings", args.Merge(tplParams{ + response.HTML().Render("settings", ctx.UserLanguage(), args.Merge(tplParams{ "form": settingsForm, "errorMessage": "This user already exists.", })) @@ -55,7 +55,7 @@ func (c *Controller) UpdateSettings(ctx *handler.Context, request *handler.Reque err = c.store.UpdateUser(settingsForm.Merge(user)) if err != nil { logger.Error("[Controller:UpdateSettings] %v", err) - response.HTML().Render("settings", args.Merge(tplParams{ + response.HTML().Render("settings", ctx.UserLanguage(), args.Merge(tplParams{ "form": settingsForm, "errorMessage": "Unable to update this user.", })) diff --git a/ui/starred.go b/ui/starred.go index 738628f..3ebd359 100644 --- a/ui/starred.go +++ b/ui/starred.go @@ -41,7 +41,7 @@ func (c *Controller) ShowStarredPage(ctx *handler.Context, request *handler.Requ return } - response.HTML().Render("starred", args.Merge(tplParams{ + response.HTML().Render("starred", ctx.UserLanguage(), args.Merge(tplParams{ "entries": entries, "total": count, "pagination": c.getPagination(ctx.Route("starred"), count, offset), diff --git a/ui/subscription.go b/ui/subscription.go index a6cb23c..e31ab60 100644 --- a/ui/subscription.go +++ b/ui/subscription.go @@ -22,7 +22,7 @@ func (c *Controller) Bookmarklet(ctx *handler.Context, request *handler.Request, } bookmarkletURL := request.QueryStringParam("uri", "") - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": &form.SubscriptionForm{URL: bookmarkletURL}, })) } @@ -37,7 +37,7 @@ func (c *Controller) AddSubscription(ctx *handler.Context, request *handler.Requ return } - response.HTML().Render("add_subscription", args) + response.HTML().Render("add_subscription", ctx.UserLanguage(), args) } // SubmitSubscription try to find a feed from the URL provided by the user. @@ -52,7 +52,7 @@ func (c *Controller) SubmitSubscription(ctx *handler.Context, request *handler.R subscriptionForm := form.NewSubscriptionForm(request.Request()) if err := subscriptionForm.Validate(); err != nil { - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": err.Error(), })) @@ -62,7 +62,7 @@ func (c *Controller) SubmitSubscription(ctx *handler.Context, request *handler.R subscriptions, err := subscription.FindSubscriptions(subscriptionForm.URL) if err != nil { logger.Error("[Controller:SubmitSubscription] %v", err) - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": err, })) @@ -74,14 +74,14 @@ func (c *Controller) SubmitSubscription(ctx *handler.Context, request *handler.R n := len(subscriptions) switch { case n == 0: - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": "Unable to find any subscription.", })) case n == 1: feed, err := c.feedHandler.CreateFeed(user.ID, subscriptionForm.CategoryID, subscriptions[0].URL, subscriptionForm.Crawler) if err != nil { - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": err, })) @@ -90,7 +90,7 @@ func (c *Controller) SubmitSubscription(ctx *handler.Context, request *handler.R response.Redirect(ctx.Route("feedEntries", "feedID", feed.ID)) case n > 1: - response.HTML().Render("choose_subscription", args.Merge(tplParams{ + response.HTML().Render("choose_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "categoryID": subscriptionForm.CategoryID, "subscriptions": subscriptions, })) @@ -109,7 +109,7 @@ func (c *Controller) ChooseSubscription(ctx *handler.Context, request *handler.R subscriptionForm := form.NewSubscriptionForm(request.Request()) if err := subscriptionForm.Validate(); err != nil { - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": err.Error(), })) @@ -118,7 +118,7 @@ func (c *Controller) ChooseSubscription(ctx *handler.Context, request *handler.R feed, err := c.feedHandler.CreateFeed(user.ID, subscriptionForm.CategoryID, subscriptionForm.URL, subscriptionForm.Crawler) if err != nil { - response.HTML().Render("add_subscription", args.Merge(tplParams{ + response.HTML().Render("add_subscription", ctx.UserLanguage(), args.Merge(tplParams{ "form": subscriptionForm, "errorMessage": err, })) diff --git a/ui/unread.go b/ui/unread.go index 41026d0..f38a12f 100644 --- a/ui/unread.go +++ b/ui/unread.go @@ -39,7 +39,7 @@ func (c *Controller) ShowUnreadPage(ctx *handler.Context, request *handler.Reque return } - response.HTML().Render("unread", tplParams{ + response.HTML().Render("unread", ctx.UserLanguage(), tplParams{ "user": user, "countUnread": countUnread, "entries": entries, @@ -35,7 +35,7 @@ func (c *Controller) ShowUsers(ctx *handler.Context, request *handler.Request, r } users.UseTimezone(user.Timezone) - response.HTML().Render("users", args.Merge(tplParams{ + response.HTML().Render("users", ctx.UserLanguage(), args.Merge(tplParams{ "users": users, "menu": "settings", })) @@ -56,7 +56,7 @@ func (c *Controller) CreateUser(ctx *handler.Context, request *handler.Request, return } - response.HTML().Render("create_user", args.Merge(tplParams{ + response.HTML().Render("create_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "form": &form.UserForm{}, })) @@ -79,7 +79,7 @@ func (c *Controller) SaveUser(ctx *handler.Context, request *handler.Request, re userForm := form.NewUserForm(request.Request()) if err := userForm.ValidateCreation(); err != nil { - response.HTML().Render("create_user", args.Merge(tplParams{ + response.HTML().Render("create_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "form": userForm, "errorMessage": err.Error(), @@ -88,7 +88,7 @@ func (c *Controller) SaveUser(ctx *handler.Context, request *handler.Request, re } if c.store.UserExists(userForm.Username) { - response.HTML().Render("create_user", args.Merge(tplParams{ + response.HTML().Render("create_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "form": userForm, "errorMessage": "This user already exists.", @@ -99,7 +99,7 @@ func (c *Controller) SaveUser(ctx *handler.Context, request *handler.Request, re newUser := userForm.ToUser() if err := c.store.CreateUser(newUser); err != nil { logger.Error("[Controller:SaveUser] %v", err) - response.HTML().Render("edit_user", args.Merge(tplParams{ + response.HTML().Render("edit_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "form": userForm, "errorMessage": "Unable to create this user.", @@ -130,7 +130,7 @@ func (c *Controller) EditUser(ctx *handler.Context, request *handler.Request, re return } - response.HTML().Render("edit_user", args.Merge(tplParams{ + response.HTML().Render("edit_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "selected_user": selectedUser, "form": &form.UserForm{ @@ -162,7 +162,7 @@ func (c *Controller) UpdateUser(ctx *handler.Context, request *handler.Request, userForm := form.NewUserForm(request.Request()) if err := userForm.ValidateModification(); err != nil { - response.HTML().Render("edit_user", args.Merge(tplParams{ + response.HTML().Render("edit_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "selected_user": selectedUser, "form": userForm, @@ -172,7 +172,7 @@ func (c *Controller) UpdateUser(ctx *handler.Context, request *handler.Request, } if c.store.AnotherUserExists(selectedUser.ID, userForm.Username) { - response.HTML().Render("edit_user", args.Merge(tplParams{ + response.HTML().Render("edit_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "selected_user": selectedUser, "form": userForm, @@ -184,7 +184,7 @@ func (c *Controller) UpdateUser(ctx *handler.Context, request *handler.Request, userForm.Merge(selectedUser) if err := c.store.UpdateUser(selectedUser); err != nil { logger.Error("[Controller:UpdateUser] %v", err) - response.HTML().Render("edit_user", args.Merge(tplParams{ + response.HTML().Render("edit_user", ctx.UserLanguage(), args.Merge(tplParams{ "menu": "settings", "selected_user": selectedUser, "form": userForm, |