@@ -587,52 +587,63 @@ func retrieveProjects(ctx *context.Context, repo *repo_model.Repository) {
587587 if repo .Owner .IsOrganization () {
588588 repoOwnerType = project_model .TypeOrganization
589589 }
590- var err error
591- projects , err := db .Find [project_model.Project ](ctx , project_model.SearchOptions {
592- ListOptions : db .ListOptionsAll ,
593- RepoID : repo .ID ,
594- IsClosed : optional .Some (false ),
595- Type : project_model .TypeRepository ,
596- })
597- if err != nil {
598- ctx .ServerError ("GetProjects" , err )
599- return
600- }
601- projects2 , err := db .Find [project_model.Project ](ctx , project_model.SearchOptions {
602- ListOptions : db .ListOptionsAll ,
603- OwnerID : repo .OwnerID ,
604- IsClosed : optional .Some (false ),
605- Type : repoOwnerType ,
606- })
607- if err != nil {
608- ctx .ServerError ("GetProjects" , err )
609- return
610- }
611590
612- ctx . Data [ "OpenProjects" ] = append ( projects , projects2 ... )
591+ projectsUnit := repo . MustGetUnit ( ctx , unit . TypeProjects )
613592
614- projects , err = db .Find [project_model.Project ](ctx , project_model.SearchOptions {
615- ListOptions : db .ListOptionsAll ,
616- RepoID : repo .ID ,
617- IsClosed : optional .Some (true ),
618- Type : project_model .TypeRepository ,
619- })
620- if err != nil {
621- ctx .ServerError ("GetProjects" , err )
622- return
593+ var openProjects []* project_model.Project
594+ var closedProjects []* project_model.Project
595+ var err error
596+
597+ if projectsUnit .ProjectsConfig ().IsProjectsAllowed (repo_model .ProjectsModeRepo ) {
598+ openProjects , err = db .Find [project_model.Project ](ctx , project_model.SearchOptions {
599+ ListOptions : db .ListOptionsAll ,
600+ RepoID : repo .ID ,
601+ IsClosed : optional .Some (false ),
602+ Type : project_model .TypeRepository ,
603+ })
604+ if err != nil {
605+ ctx .ServerError ("GetProjects" , err )
606+ return
607+ }
608+ closedProjects , err = db .Find [project_model.Project ](ctx , project_model.SearchOptions {
609+ ListOptions : db .ListOptionsAll ,
610+ RepoID : repo .ID ,
611+ IsClosed : optional .Some (true ),
612+ Type : project_model .TypeRepository ,
613+ })
614+ if err != nil {
615+ ctx .ServerError ("GetProjects" , err )
616+ return
617+ }
623618 }
624- projects2 , err = db .Find [project_model.Project ](ctx , project_model.SearchOptions {
625- ListOptions : db .ListOptionsAll ,
626- OwnerID : repo .OwnerID ,
627- IsClosed : optional .Some (true ),
628- Type : repoOwnerType ,
629- })
630- if err != nil {
631- ctx .ServerError ("GetProjects" , err )
632- return
619+
620+ if projectsUnit .ProjectsConfig ().IsProjectsAllowed (repo_model .ProjectsModeOwner ) {
621+ openProjects2 , err := db .Find [project_model.Project ](ctx , project_model.SearchOptions {
622+ ListOptions : db .ListOptionsAll ,
623+ OwnerID : repo .OwnerID ,
624+ IsClosed : optional .Some (false ),
625+ Type : repoOwnerType ,
626+ })
627+ if err != nil {
628+ ctx .ServerError ("GetProjects" , err )
629+ return
630+ }
631+ openProjects = append (openProjects , openProjects2 ... )
632+ closedProjects2 , err := db .Find [project_model.Project ](ctx , project_model.SearchOptions {
633+ ListOptions : db .ListOptionsAll ,
634+ OwnerID : repo .OwnerID ,
635+ IsClosed : optional .Some (true ),
636+ Type : repoOwnerType ,
637+ })
638+ if err != nil {
639+ ctx .ServerError ("GetProjects" , err )
640+ return
641+ }
642+ closedProjects = append (closedProjects , closedProjects2 ... )
633643 }
634644
635- ctx .Data ["ClosedProjects" ] = append (projects , projects2 ... )
645+ ctx .Data ["OpenProjects" ] = openProjects
646+ ctx .Data ["ClosedProjects" ] = closedProjects
636647}
637648
638649// repoReviewerSelection items to bee shown
0 commit comments