Browse Source

Merge branch 'DEV-dataset-in-project' of git.pcl.ac.cn:yoyoyard/opendata into DEV-dataset-in-project

master
colorfulberry 5 years ago
parent
commit
758e7317f1
4 changed files with 36 additions and 23 deletions
  1. +14
    -0
      models/attachment.go
  2. +20
    -19
      routers/repo/dataset.go
  3. +2
    -2
      templates/repo/datasets/dataset_list.tmpl
  4. +0
    -2
      templates/repo/datasets/index.tmpl

+ 14
- 0
models/attachment.go View File

@@ -35,6 +35,20 @@ type Attachment struct {
CreatedUnix timeutil.TimeStamp `xorm:"created"`
}

func (a *Attachment) AfterUpdate() {
if a.DatasetID > 0 {
datasetIsPublicCount, err := x.Where("dataset_id = ? AND is_private = ?", a.DatasetID, false).Count(new(Attachment))
if err != nil {
return
}
if datasetIsPublicCount > 0 {
x.Table(new(Dataset)).ID(a.DatasetID).Update(map[string]interface{}{"status": DatasetStatusPublic})
} else {
x.Table(new(Dataset)).ID(a.DatasetID).Update(map[string]interface{}{"status": DatasetStatusPrivate})
}
}
}

// IncreaseDownloadCount is update download count + 1
func (a *Attachment) IncreaseDownloadCount() error {
// Update download count.


+ 20
- 19
routers/repo/dataset.go View File

@@ -1,6 +1,8 @@
package repo

import (
"sort"

"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth"
"code.gitea.io/gitea/modules/base"
@@ -35,31 +37,30 @@ func DatasetIndex(ctx *context.Context) {
ctx.ServerError("GetDatasetAttachments", err)
return
}
attachments := dataset.Attachments

// 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["SortType"] = ctx.Query("sort")
switch ctx.Query("sort") {
case "newest":
sort.Slice(attachments, func(i, j int) bool {
return attachments[i].CreatedUnix > attachments[j].CreatedUnix
})
case "oldest":
sort.Slice(attachments, func(i, j int) bool {
return attachments[i].CreatedUnix < attachments[j].CreatedUnix
})
default:
ctx.Data["SortType"] = "newest"
sort.Slice(attachments, func(i, j int) bool {
return attachments[i].CreatedUnix > attachments[j].CreatedUnix
})
}

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["Attachments"] = attachments
ctx.Data["IsOwner"] = true

ctx.HTML(200, tplIndex)


+ 2
- 2
templates/repo/datasets/dataset_list.tmpl View File

@@ -1,5 +1,5 @@
{{if .dataset.Attachments}}
{{range .dataset.Attachments}}
{{if .Attachments}}
{{range .Attachments}}
<div class="ui grid item" id="{{.UUID}}">
<div class="row">
<div class="six wide column">


+ 0
- 2
templates/repo/datasets/index.tmpl View File

@@ -53,8 +53,6 @@
<div class="menu">
<a class="item" href="{{$.Link}}?sort=newest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.latest"}}</a>
<a class="item" href="{{$.Link}}?sort=oldest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.oldest"}}</a>
<a class="item" href="{{$.Link}}?sort=oldest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.recentupdate"}}</a>
<a class="item" href="{{$.Link}}?sort=oldest&q={{$.Keyword}}&tab={{$.TabName}}">{{.i18n.Tr "repo.issues.filter_sort.leastupdate"}}</a>
</div>
</div>
</div>


Loading…
Cancel
Save