appview: add logged in user in knot404 error pages #691

closed
opened by serendipty01.dev targeting master from serendipty01.dev/tangled-core: push-prquzlvztlul
Changed files
+21 -7
appview
middleware
pages
+19 -5
appview/middleware/middleware.go
··· 206 206 return func(next http.Handler) http.Handler { 207 207 return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { 208 208 repoName := chi.URLParam(req, "repo") 209 + user := mw.oauth.GetUser(req) 209 210 id, ok := req.Context().Value("resolvedId").(identity.Identity) 210 211 if !ok { 211 212 log.Println("malformed middleware") ··· 220 221 ) 221 222 if err != nil { 222 223 log.Println("failed to resolve repo", "err", err) 223 - mw.pages.ErrorKnot404(w) 224 + mw.pages.ErrorKnot404(w, pages.ErrorPageParams{ 225 + LoggedInUser: user, 226 + }) 224 227 return 225 228 } 226 229 ··· 235 238 return func(next http.Handler) http.Handler { 236 239 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 237 240 f, err := mw.repoResolver.Resolve(r) 241 + user := mw.oauth.GetUser(r) 238 242 if err != nil { 239 243 log.Println("failed to fully resolve repo", err) 240 - mw.pages.ErrorKnot404(w) 244 + mw.pages.ErrorKnot404(w, pages.ErrorPageParams{ 245 + LoggedInUser: user, 246 + }) 241 247 return 242 248 } 243 249 ··· 282 288 func (mw Middleware) ResolveIssue(next http.Handler) http.Handler { 283 289 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 284 290 f, err := mw.repoResolver.Resolve(r) 291 + user := mw.oauth.GetUser(r) 285 292 if err != nil { 286 293 log.Println("failed to fully resolve repo", err) 287 - mw.pages.ErrorKnot404(w) 294 + mw.pages.ErrorKnot404(w, pages.ErrorPageParams{ 295 + LoggedInUser: user, 296 + }) 288 297 return 289 298 } 290 299 ··· 292 301 issueId, err := strconv.Atoi(issueIdStr) 293 302 if err != nil { 294 303 log.Println("failed to fully resolve issue ID", err) 295 - mw.pages.ErrorKnot404(w) 304 + mw.pages.ErrorKnot404(w, pages.ErrorPageParams{ 305 + LoggedInUser: user, 306 + }) 296 307 return 297 308 } 298 309 ··· 326 337 return func(next http.Handler) http.Handler { 327 338 return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { 328 339 f, err := mw.repoResolver.Resolve(r) 340 + user := mw.oauth.GetUser(r) 329 341 if err != nil { 330 342 log.Println("failed to fully resolve repo", err) 331 - mw.pages.ErrorKnot404(w) 343 + mw.pages.ErrorKnot404(w, pages.ErrorPageParams{ 344 + LoggedInUser: user, 345 + }) 332 346 return 333 347 } 334 348
+2 -2
appview/pages/pages.go
··· 1530 1530 return p.execute("errors/404", w, params) 1531 1531 } 1532 1532 1533 - func (p *Pages) ErrorKnot404(w io.Writer) error { 1534 - return p.execute("errors/knot404", w, nil) 1533 + func (p *Pages) ErrorKnot404(w io.Writer, params ErrorPageParams) error { 1534 + return p.execute("errors/knot404", w, params) 1535 1535 } 1536 1536 1537 1537 func (p *Pages) Error503(w io.Writer) error {