rin
Публичный Open-source lightweight git hosting.
activity.go · 31 строка · 864 B
Raw
1 package handlers
2
3 import (
4 "github.com/gofiber/fiber/v2"
5
6 "polar/internal/web/middleware"
7 )
8
9 func (h *Handler) RepoActivityPage(c *fiber.Ctx) error {
10 r, diskPath, err := h.loadAuthorizedRepo(c, false)
11 if err != nil {
12 return nil
13 }
14 if !r.EnableActivity {
15 return h.renderErrorT(c, fiber.StatusNotFound, "err.not_found", "err.activity_disabled")
16 }
17
18 items, stats, _ := h.repoSvc.GetRepoActivity(c.UserContext(), r, diskPath)
19
20 viewer := middleware.CurrentUser(c)
21 data := h.baseData(c, h.tr(c, "activity.title")+" · "+r.OwnerUsername+"/"+r.Name)
22 data["Repo"] = r
23 data["Ref"] = r.DefaultBranch
24 data["ActiveTab"] = "activity"
25 data["CanWrite"] = h.repoSvc.CanWrite(c.UserContext(), r, viewer)
26 data["CloneURL"] = h.cloneURL(c, r.OwnerUsername, r.Name)
27 data["Items"] = items
28 data["Stats"] = stats
29
30 return h.render(c, fiber.StatusOK, "activity", data)
31 }
32