diff --git a/routers/repo/dataset.go b/routers/repo/dataset.go index 3bc7cb97c..133262bf3 100755 --- a/routers/repo/dataset.go +++ b/routers/repo/dataset.go @@ -468,20 +468,19 @@ func MyFavoriteDataset(ctx *context.Context) { }) return } + //If the dataset has been deleted, it will not be counted for _, datasetStar := range datasetStars { - DatasetIsCollaborator := DatasetIsCollaborator(ctx, datasetStar.DatasetID) - dataset, err := models.GetDatasetByID(datasetStar.DatasetID) + IsExist, repo, dataset, err := IsDatasetStarExist(datasetStar) if err != nil { - return + log.Error("IsDatasetStarExist error:", err.Error()) } - repo, err := models.GetRepositoryByID(dataset.RepoID) - if err != nil { - return - } - if repo.OwnerID == ctx.User.ID || DatasetIsCollaborator { - IsColDatasetIDs = append(IsColDatasetIDs, datasetStar.DatasetID) - } else { - NotColDatasetIDs = append(NotColDatasetIDs, datasetStar.DatasetID) + if IsExist { + DatasetIsCollaborator := DatasetIsCollaborator(ctx, dataset) + if repo.OwnerID == ctx.User.ID || DatasetIsCollaborator { + IsColDatasetIDs = append(IsColDatasetIDs, datasetStar.DatasetID) + } else { + NotColDatasetIDs = append(NotColDatasetIDs, datasetStar.DatasetID) + } } } @@ -609,35 +608,49 @@ func GetDatasetStatus(ctx *context.Context) { "AttachmentStatus": fmt.Sprint(attachment.DecompressState), }) } -func DatasetIsCollaborator(ctx *context.Context, DatasetID int64) bool { - dataset, err := models.GetDatasetByID(DatasetID) +func DatasetIsCollaborator(ctx *context.Context, dataset *models.Dataset) bool { + repo, err := models.GetRepositoryByID(dataset.RepoID) if err != nil { - log.Error("query dataset error:", err.Error()) - return false + log.Error("query repo error:", err.Error()) } else { - repo, err := models.GetRepositoryByID(dataset.RepoID) - if err != nil { - log.Error("query repo error:", err.Error()) - } else { - repo.GetOwner() - if ctx.User != nil { - if repo.Owner.IsOrganization() { - if repo.Owner.IsUserPartOfOrg(ctx.User.ID) { - for _, t := range repo.Owner.Teams { - if t.IsMember(ctx.User.ID) && t.HasRepository(repo.ID) { - return true - } + repo.GetOwner() + if ctx.User != nil { + if repo.Owner.IsOrganization() { + if repo.Owner.IsUserPartOfOrg(ctx.User.ID) { + for _, t := range repo.Owner.Teams { + if t.IsMember(ctx.User.ID) && t.HasRepository(repo.ID) { + return true } - return false } + isOwner, _ := models.IsOrganizationOwner(repo.OwnerID, ctx.User.ID) + if isOwner { + return isOwner + } + return false } + } - isCollaborator, _ := repo.IsCollaborator(ctx.User.ID) - if isCollaborator { - return true - } + isCollaborator, _ := repo.IsCollaborator(ctx.User.ID) + if isCollaborator { + return true } } } + return false } +func IsDatasetStarExist(datasetStar *models.DatasetStar) (bool, *models.Repository, *models.Dataset, error) { + dataset, err := models.GetDatasetByID(datasetStar.DatasetID) + if err != nil { + log.Error("query dataset error:", err.Error()) + return false, nil, nil, err + } else { + repo, err := models.GetRepositoryByID(dataset.RepoID) + if err != nil { + log.Error("GetRepositoryByID error:", err.Error()) + return false, nil, nil, err + } + return true, repo, dataset, nil + } + +} diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go index 44476ab1e..12a5a0623 100755 --- a/routers/repo/modelarts.go +++ b/routers/repo/modelarts.go @@ -1407,7 +1407,7 @@ func readDir(dirname string) ([]os.FileInfo, error) { return nil, err } - list, err := f.Readdir(100) + list, err := f.Readdir(0) f.Close() if err != nil { //todo: can not upload empty folder diff --git a/templates/repo/modelmanage/index.tmpl b/templates/repo/modelmanage/index.tmpl index e98c09fa9..160a03ad5 100644 --- a/templates/repo/modelmanage/index.tmpl +++ b/templates/repo/modelmanage/index.tmpl @@ -1,9 +1,9 @@ {{template "base/head" .}}