|
|
|
@@ -6,7 +6,6 @@ import ( |
|
|
|
"code.gitea.io/gitea/modules/base" |
|
|
|
"code.gitea.io/gitea/modules/context" |
|
|
|
"code.gitea.io/gitea/modules/log" |
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
) |
|
|
|
|
|
|
|
const ( |
|
|
|
@@ -24,62 +23,42 @@ func MustEnableDataset(ctx *context.Context) { |
|
|
|
func DatasetIndex(ctx *context.Context) { |
|
|
|
MustEnableDataset(ctx) |
|
|
|
|
|
|
|
var orderBy models.SearchOrderBy |
|
|
|
repo := ctx.Repo.Repository |
|
|
|
// user := ctx.User |
|
|
|
page := ctx.QueryInt("page") |
|
|
|
if page <= 0 { |
|
|
|
page = 1 |
|
|
|
} |
|
|
|
ctx.Data["SortType"] = ctx.Query("sort") |
|
|
|
switch ctx.Query("sort") { |
|
|
|
case "newest": |
|
|
|
orderBy = models.SearchOrderByNewest |
|
|
|
case "oldest": |
|
|
|
orderBy = models.SearchOrderByOldest |
|
|
|
case "recentupdate": |
|
|
|
orderBy = models.SearchOrderByRecentUpdated |
|
|
|
case "leastupdate": |
|
|
|
orderBy = models.SearchOrderByLeastUpdated |
|
|
|
case "reversealphabetically": |
|
|
|
orderBy = models.SearchOrderByAlphabeticallyReverse |
|
|
|
case "alphabetically": |
|
|
|
orderBy = models.SearchOrderByAlphabetically |
|
|
|
case "reversesize": |
|
|
|
orderBy = models.SearchOrderBySizeReverse |
|
|
|
default: |
|
|
|
ctx.Data["SortType"] = "recentupdate" |
|
|
|
orderBy = models.SearchOrderByRecentUpdated |
|
|
|
} |
|
|
|
ctx.Data["PageIsDataset"] = true |
|
|
|
ctx.Data["Title"] = ctx.Tr("dataset.show_dataset") |
|
|
|
ctx.Data["Link"] = ctx.Repo.RepoLink + "/datasets" |
|
|
|
datasets, _, err := models.SearchDataset(&models.SearchDatasetOptions{ |
|
|
|
ListOptions: models.ListOptions{ |
|
|
|
Page: page, |
|
|
|
PageSize: setting.UI.ExplorePagingNum, |
|
|
|
}, |
|
|
|
SearchOrderBy: orderBy, |
|
|
|
RepoID: repo.ID, |
|
|
|
}) |
|
|
|
|
|
|
|
dataset, err := models.GetDatasetByRepo(repo) |
|
|
|
if err != nil { |
|
|
|
ctx.NotFound("SearchDataset", err) |
|
|
|
ctx.NotFound("GetDatasetByRepo", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
var dataset *models.Dataset |
|
|
|
if len(datasets) > 0 { //TODO check list is single item |
|
|
|
dataset = datasets[len(datasets)-1] |
|
|
|
err = models.GetDatasetAttachments(dataset) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("GetDatasetAttachments", err) |
|
|
|
return |
|
|
|
} |
|
|
|
err = models.GetDatasetAttachments(dataset) |
|
|
|
if err != nil { |
|
|
|
ctx.ServerError("GetDatasetAttachments", err) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
// TODO permission |
|
|
|
// isOwner := (ctx.User != nil && dataset.UserID == user.ID) |
|
|
|
// var orderBy models.SearchOrderBy |
|
|
|
// page := ctx.QueryInt("page") |
|
|
|
// if page <= 0 { |
|
|
|
// page = 1 |
|
|
|
// } |
|
|
|
// ctx.Data["SortType"] = ctx.Query("sort") |
|
|
|
// switch ctx.Query("sort") { |
|
|
|
// case "newest": |
|
|
|
// orderBy = models.SearchOrderByNewest |
|
|
|
// case "oldest": |
|
|
|
// orderBy = models.SearchOrderByOldest |
|
|
|
// case "recentupdate": |
|
|
|
// orderBy = models.SearchOrderByRecentUpdated |
|
|
|
// case "leastupdate": |
|
|
|
// orderBy = models.SearchOrderByLeastUpdated |
|
|
|
// default: |
|
|
|
// ctx.Data["SortType"] = "recentupdate" |
|
|
|
// orderBy = models.SearchOrderByRecentUpdated |
|
|
|
// } |
|
|
|
|
|
|
|
ctx.Data["PageIsDataset"] = true |
|
|
|
ctx.Data["Title"] = ctx.Tr("dataset.show_dataset") |
|
|
|
ctx.Data["Link"] = ctx.Repo.RepoLink + "/datasets" |
|
|
|
ctx.Data["dataset"] = dataset |
|
|
|
ctx.Data["IsOwner"] = true |
|
|
|
|
|
|
|
|