@@ -545,24 +545,28 @@ func RepoAssignment(ctx *Context) context.CancelFunc {
545545 ctx .ServerError ("GetReleaseCountByRepoID" , err )
546546 return nil
547547 }
548- ctx . Data [ "NumReleases" ] , err = repo_model .GetReleaseCountByRepoID (ctx , ctx .Repo .Repository .ID , repo_model.FindReleasesOptions {
548+ numReleases , err : = repo_model .GetReleaseCountByRepoID (ctx , ctx .Repo .Repository .ID , repo_model.FindReleasesOptions {
549549 // only show draft releases for users who can write, read-only users shouldn't see draft releases.
550550 IncludeDrafts : ctx .Repo .CanWrite (unit_model .TypeReleases ),
551551 })
552552 if err != nil {
553553 ctx .ServerError ("GetReleaseCountByRepoID" , err )
554554 return nil
555555 }
556- release , err := repo_model .GetLatestReleaseByRepoID (ctx , ctx .Repo .Repository .ID )
557- if err != nil {
558- ctx .ServerError ("GetLatestReleaseByRepoID" , err )
559- return nil
560- }
561- if err = release .LoadAttributes (ctx ); err != nil {
562- ctx .ServerError ("release.LoadAttributes" , err )
563- return nil
556+ ctx .Data ["NumReleases" ] = numReleases
557+
558+ if numReleases > 0 {
559+ release , err := repo_model .GetLatestReleaseByRepoID (ctx , ctx .Repo .Repository .ID )
560+ if err != nil {
561+ ctx .ServerError ("GetLatestReleaseByRepoID" , err )
562+ return nil
563+ }
564+ if err = release .LoadAttributes (ctx ); err != nil {
565+ ctx .ServerError ("release.LoadAttributes" , err )
566+ return nil
567+ }
568+ ctx .Data ["LatestRelease" ] = release
564569 }
565- ctx .Data ["LatestRelease" ] = release
566570
567571 ctx .Data ["Title" ] = owner .Name + "/" + repo .Name
568572 ctx .Data ["Repository" ] = repo
0 commit comments