From 88cc6de5b9dde17fd04da630d4af8dd8de92c6c0 Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Fri, 28 Jul 2023 15:49:11 +0800 Subject: [PATCH 1/2] fix show individual project --- routers/web/repo/issue.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index f243507c3347..8410e8b3f6ee 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -539,8 +539,18 @@ func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) { ctx.ServerError("GetProjects", err) return } + projects3, _, err := project_model.FindProjects(ctx, project_model.SearchOptions{ + OwnerID: repo.OwnerID, + Page: -1, + IsClosed: util.OptionalBoolFalse, + Type: project_model.TypeIndividual, + }) + if err != nil { + ctx.ServerError("GetProjects", err) + return + } - ctx.Data["OpenProjects"] = append(projects, projects2...) + ctx.Data["OpenProjects"] = append(projects, append(projects2, projects3...)...) projects, _, err = project_model.FindProjects(ctx, project_model.SearchOptions{ RepoID: repo.ID, @@ -562,8 +572,18 @@ func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) { ctx.ServerError("GetProjects", err) return } + projects3, _, err = project_model.FindProjects(ctx, project_model.SearchOptions{ + OwnerID: repo.OwnerID, + Page: -1, + IsClosed: util.OptionalBoolTrue, + Type: project_model.TypeIndividual, + }) + if err != nil { + ctx.ServerError("GetProjects", err) + return + } - ctx.Data["ClosedProjects"] = append(projects, projects2...) + ctx.Data["ClosedProjects"] = append(projects, append(projects2, projects3...)...) } // repoReviewerSelection items to bee shown From 3b2e771d0d2191088acb718d81c9a8b75dd75feb Mon Sep 17 00:00:00 2001 From: CaiCandong <1290147055@qq.com> Date: Fri, 28 Jul 2023 17:31:49 +0800 Subject: [PATCH 2/2] refactor reducing redundant code --- routers/web/repo/issue.go | 34 ++++++++++------------------------ 1 file changed, 10 insertions(+), 24 deletions(-) diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go index 8410e8b3f6ee..f901ebaf6366 100644 --- a/routers/web/repo/issue.go +++ b/routers/web/repo/issue.go @@ -518,6 +518,12 @@ func RetrieveRepoMilestonesAndAssignees(ctx *context.Context, repo *repo_model.R } func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) { + // Distinguish whether the owner of the repository + // is an individual or an organization + repoOwnerType := project_model.TypeIndividual + if repo.Owner.IsOrganization() { + repoOwnerType = project_model.TypeOrganization + } var err error projects, _, err := project_model.FindProjects(ctx, project_model.SearchOptions{ RepoID: repo.ID, @@ -533,24 +539,14 @@ func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) { OwnerID: repo.OwnerID, Page: -1, IsClosed: util.OptionalBoolFalse, - Type: project_model.TypeOrganization, - }) - if err != nil { - ctx.ServerError("GetProjects", err) - return - } - projects3, _, err := project_model.FindProjects(ctx, project_model.SearchOptions{ - OwnerID: repo.OwnerID, - Page: -1, - IsClosed: util.OptionalBoolFalse, - Type: project_model.TypeIndividual, + Type: repoOwnerType, }) if err != nil { ctx.ServerError("GetProjects", err) return } - ctx.Data["OpenProjects"] = append(projects, append(projects2, projects3...)...) + ctx.Data["OpenProjects"] = append(projects, projects2...) projects, _, err = project_model.FindProjects(ctx, project_model.SearchOptions{ RepoID: repo.ID, @@ -566,24 +562,14 @@ func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) { OwnerID: repo.OwnerID, Page: -1, IsClosed: util.OptionalBoolTrue, - Type: project_model.TypeOrganization, - }) - if err != nil { - ctx.ServerError("GetProjects", err) - return - } - projects3, _, err = project_model.FindProjects(ctx, project_model.SearchOptions{ - OwnerID: repo.OwnerID, - Page: -1, - IsClosed: util.OptionalBoolTrue, - Type: project_model.TypeIndividual, + Type: repoOwnerType, }) if err != nil { ctx.ServerError("GetProjects", err) return } - ctx.Data["ClosedProjects"] = append(projects, append(projects2, projects3...)...) + ctx.Data["ClosedProjects"] = append(projects, projects2...) } // repoReviewerSelection items to bee shown