Browse Source

Merge pull request 'remove dup language set select, add permission to dataset edit.' (#5) from fix-ds-permission into develop

Reviewed-by: berry <senluowanxiangt@gmail.com>
tags/v1.21.12.1
berry 5 years ago
parent
commit
680ae10071
4 changed files with 17 additions and 32 deletions
  1. +0
    -18
      custom/templates/base/footer_content.tmpl
  2. +14
    -13
      routers/dataset/dataset.go
  3. +1
    -1
      routers/routes/routes.go
  4. +2
    -0
      templates/datasets/show.tmpl

+ 0
- 18
custom/templates/base/footer_content.tmpl View File

@@ -38,22 +38,4 @@
</div> </div>
</div> </div>
</div> </div>
<div class="ui right links">
{{if .ShowFooterBranding}}
<a target="_blank" rel="noopener noreferrer" href="https://github.com/go-gitea/gitea"><i class="fa fa-github-square"></i><span class="sr-only">GitHub</span></a>
{{end}}
<div class="ui language bottom floating slide up dropdown link item">
<i class="world icon"></i>
<div class="text">{{.LangName}}</div>
<div class="menu">
{{range .AllLangs}}
<a lang="{{.Lang}}" class="item {{if eq $.Lang .Lang}}active selected{{end}}" href="{{if eq $.Lang .Lang}}#{{else}}{{$.Link}}?lang={{.Lang}}{{end}}">{{.Name}}</a>
{{end}}
</div>
</div>
{{if .EnableSwagger}}<a href="{{AppSubUrl}}/api/swagger">API</a>{{end}}
<a target="_blank" rel="noopener noreferrer" href="https://gitea.io">{{.i18n.Tr "website"}}</a>
{{template "custom/extra_links_footer" .}}
{{if (or .ShowFooterVersion .PageIsAdmin)}}<span class="version">{{GoVer}}</span>{{end}}
</div>
</footer> </footer>

+ 14
- 13
routers/dataset/dataset.go View File

@@ -1,6 +1,7 @@
package dataset package dataset


import ( import (
"errors"
"strings" "strings"


"code.gitea.io/gitea/models" "code.gitea.io/gitea/models"
@@ -25,7 +26,7 @@ type ListOptions struct {
Page int // start from 1 Page int // start from 1
} }


func MyList(ctx *context.Context) {
func List(ctx *context.Context) {
ctx.Data["PageIsDatasets"] = true ctx.Data["PageIsDatasets"] = true


var ( var (
@@ -39,6 +40,7 @@ func MyList(ctx *context.Context) {
if page <= 0 { if page <= 0 {
page = 1 page = 1
} }
ctx.Data["SortType"] = ctx.Query("sort")
switch ctx.Query("sort") { switch ctx.Query("sort") {
case "newest": case "newest":
orderBy = models.SearchOrderByNewest orderBy = models.SearchOrderByNewest
@@ -54,16 +56,6 @@ func MyList(ctx *context.Context) {
orderBy = models.SearchOrderByAlphabetically orderBy = models.SearchOrderByAlphabetically
case "reversesize": case "reversesize":
orderBy = models.SearchOrderBySizeReverse orderBy = models.SearchOrderBySizeReverse
case "size":
orderBy = models.SearchOrderBySize
case "moststars":
orderBy = models.SearchOrderByStarsReverse
case "feweststars":
orderBy = models.SearchOrderByStars
case "mostforks":
orderBy = models.SearchOrderByForksReverse
case "fewestforks":
orderBy = models.SearchOrderByForks
default: default:
ctx.Data["SortType"] = "recentupdate" ctx.Data["SortType"] = "recentupdate"
orderBy = models.SearchOrderByRecentUpdated orderBy = models.SearchOrderByRecentUpdated
@@ -100,7 +92,6 @@ func MyList(ctx *context.Context) {


ctx.Data["datasets"] = datasets ctx.Data["datasets"] = datasets
ctx.Data["datasetsCount"] = count ctx.Data["datasetsCount"] = count
log.Debug("[dataset] mylist...\n")
ctx.HTML(200, tplDataSet) ctx.HTML(200, tplDataSet)
} }


@@ -171,7 +162,7 @@ func Show(ctx *context.Context) {
return return
} }


isOwner := dataset.UserID == user.ID
isOwner := (ctx.User != nil && dataset.UserID == user.ID)


ctx.Data["dataset"] = dataset ctx.Data["dataset"] = dataset
ctx.Data["IsOwner"] = isOwner ctx.Data["IsOwner"] = isOwner
@@ -189,6 +180,11 @@ func EditDataset(ctx *context.Context) {
ctx.NotFound("GetDataset", err) ctx.NotFound("GetDataset", err)
return return
} }
isOwner := (ctx.User != nil && rel.UserID == ctx.User.ID)
if !isOwner {
ctx.NotFound("403", errors.New("not owner"))
return
}


ctx.Data["ID"] = rel.ID ctx.Data["ID"] = rel.ID
ctx.Data["title"] = rel.Title ctx.Data["title"] = rel.Title
@@ -209,6 +205,11 @@ func EditDatasetPost(ctx *context.Context, form auth.EditDatasetForm) {
ctx.ServerError("GetDataset", err) ctx.ServerError("GetDataset", err)
return return
} }
isOwner := (ctx.User != nil && rel.UserID == ctx.User.ID)
if !isOwner {
ctx.NotFound("403", errors.New("not owner"))
return
}
ctx.Data["ID"] = rel.ID ctx.Data["ID"] = rel.ID
ctx.Data["title"] = rel.Title ctx.Data["title"] = rel.Title
ctx.Data["description"] = rel.Description ctx.Data["description"] = rel.Description


+ 1
- 1
routers/routes/routes.go View File

@@ -1007,7 +1007,7 @@ func RegisterRoutes(m *macaron.Macaron) {


// DataSet // DataSet
m.Group("/datasets", func() { m.Group("/datasets", func() {
m.Get("", dataset.MyList)
m.Get("", dataset.List)
m.Get("/create", dataset.Create) m.Get("/create", dataset.Create)
m.Post("/create", bindIgnErr(auth.CreateDatasetForm{}), dataset.CreatePost) m.Post("/create", bindIgnErr(auth.CreateDatasetForm{}), dataset.CreatePost)
m.Post("/delete", dataset.Delete) m.Post("/delete", dataset.Delete)


+ 2
- 0
templates/datasets/show.tmpl View File

@@ -32,7 +32,9 @@
</div> </div>
<div class="ui twelve wide column detail"> <div class="ui twelve wide column detail">
<h3><a href="">{{.dataset.Title}}</a> <h3><a href="">{{.dataset.Title}}</a>
{{if .isOwner}}
<small>(<a href="/datasets/edit/{{.dataset.ID}}" rel="nofollow">{{$.i18n.Tr "dataset.edit"}}</a>)</small> <small>(<a href="/datasets/edit/{{.dataset.ID}}" rel="nofollow">{{$.i18n.Tr "dataset.edit"}}</a>)</small>
{{end}}
</h3> </h3>
<div class="markdown desc"> <div class="markdown desc">
<p>{{.dataset.Description}}</p> <p>{{.dataset.Description}}</p>


Loading…
Cancel
Save