0
0
mirror of https://github.com/go-gitea/gitea.git synced 2026-04-04 07:55:31 +02:00

add group-scoped dashboard pages for issues, pull requests and milestones

This commit is contained in:
☙◦ The Tablet ❀ GamerGirlandCo ◦❧ 2025-08-16 16:44:32 -04:00
parent b32762ae23
commit 96d91d8213
No known key found for this signature in database
GPG Key ID: 924A5F6AF051E87C
2 changed files with 11 additions and 0 deletions

View File

@ -114,6 +114,7 @@ func Dashboard(ctx *context.Context) {
feeds, count, err := feed_service.GetFeedsForDashboard(ctx, activities_model.GetFeedsOptions{
RequestedUser: ctxUser,
RequestedTeam: ctx.Org.Team,
RequestedGroup: ctx.RepoGroup.Group,
Actor: ctx.Doer,
IncludePrivate: true,
OnlyPerformedBy: false,
@ -162,6 +163,9 @@ func Milestones(ctx *context.Context) {
Archived: optional.Some(false),
HasMilestones: optional.Some(true), // Just needs display repos has milestones
}
if ctx.RepoGroup.Group != nil {
repoOpts.GroupID = ctx.RepoGroup.Group.ID
}
if ctxUser.IsOrganization() && ctx.Org.Team != nil {
repoOpts.TeamID = ctx.Org.Team.ID
@ -466,6 +470,9 @@ func buildIssueOverview(ctx *context.Context, unitType unit.Type) {
if opts.Team != nil {
repoOpts.TeamID = opts.Team.ID
}
if ctx.RepoGroup.Group != nil {
repoOpts.GroupID = ctx.RepoGroup.Group.ID
}
accessibleRepos := container.Set[int64]{}
{
ids, _, err := repo_model.SearchRepositoryIDs(ctx, repoOpts)

View File

@ -943,14 +943,18 @@ func registerWebRoutes(m *web.Router, webAuth *AuthMiddleware) {
m.Group("/{org}", func() {
m.Get("/dashboard", user.Dashboard)
m.Get("/dashboard/{team}", user.Dashboard)
m.Get("/dashboard/group/{group_id}", ctxDataSet("PageIsGroupDashboard", true), context.GroupAssignment(context.GroupAssignmentOptions{RequireMember: true}), user.Dashboard)
m.Get("/dashboard/-/heatmap", user.DashboardHeatmap)
m.Get("/dashboard/-/heatmap/{team}", user.DashboardHeatmap)
m.Get("/issues", user.Issues)
m.Get("/issues/{team}", user.Issues)
m.Get("/issues/group/{group_id}", context.GroupAssignment(context.GroupAssignmentOptions{RequireMember: true}), user.Issues)
m.Get("/pulls", user.Pulls)
m.Get("/pulls/{team}", user.Pulls)
m.Get("/pulls/group/{group_id}", context.GroupAssignment(context.GroupAssignmentOptions{RequireMember: true}), user.Pulls)
m.Get("/milestones", reqMilestonesDashboardPageEnabled, user.Milestones)
m.Get("/milestones/{team}", reqMilestonesDashboardPageEnabled, user.Milestones)
m.Get("/milestones/group/{group_id}", reqMilestonesDashboardPageEnabled, user.Milestones)
m.Post("/members/action/{action}", org.MembersAction)
m.Get("/teams", org.Teams)