From f1dbdfb27c0fa5f2c11901e711c32c2d8850a3c2 Mon Sep 17 00:00:00 2001 From: colorfulberry Date: Fri, 29 May 2020 11:54:09 +0800 Subject: [PATCH] feat: edit dataset post form --- routers/repo/dataset.go | 73 +++++++++--------------------- routers/routes/routes.go | 1 + templates/repo/datasets/index.tmpl | 4 +- web_src/less/_dataset.less | 5 ++ 4 files changed, 30 insertions(+), 53 deletions(-) diff --git a/routers/repo/dataset.go b/routers/repo/dataset.go index 0d2f93a91..90cc80b6a 100644 --- a/routers/repo/dataset.go +++ b/routers/repo/dataset.go @@ -1,15 +1,11 @@ package repo import ( - "errors" - "code.gitea.io/gitea/models" "code.gitea.io/gitea/modules/auth" "code.gitea.io/gitea/modules/base" "code.gitea.io/gitea/modules/context" "code.gitea.io/gitea/modules/log" - "code.gitea.io/gitea/modules/setting" - "github.com/unknwon/com" ) const ( @@ -18,25 +14,25 @@ const ( func DatasetIndex(ctx *context.Context) { ctx.Data["PageIsDataset"] = true - // ctx.Data["Title"] = ctx.Tr("dataset.show_dataset") - - // user := ctx.User - // dataset, err := models.GetOwnerDatasetByID(ctx.ParamsInt64((":id")), user) - // if err != nil { - // ctx.NotFound("GetDataset", err) - // return - // } + ctx.Data["Title"] = ctx.Tr("dataset.show_dataset") + ctx.Data["Link"] = ctx.Repo.RepoLink + "/datasets/5/edit" + user := ctx.User + dataset, err := models.GetDatasetByID(5) + if err != nil { + ctx.NotFound("GetDataset", err) + return + } - // err = models.GeDatasetAttachments(dataset) - // if err != nil { - // ctx.ServerError("GetDatasetAttachments", err) - // return - // } + err = models.GeDatasetAttachments(dataset) + if err != nil { + ctx.ServerError("GetDatasetAttachments", err) + return + } - // isOwner := (ctx.User != nil && dataset.UserID == user.ID) + isOwner := (ctx.User != nil && dataset.UserID == user.ID) - // ctx.Data["dataset"] = dataset - // ctx.Data["IsOwner"] = isOwner + ctx.Data["dataset"] = dataset + ctx.Data["IsOwner"] = isOwner ctx.HTML(200, tplIndex) } @@ -45,40 +41,21 @@ func EditDatasetPost(ctx *context.Context, form auth.EditDatasetForm) { ctx.Data["Title"] = ctx.Tr("dataset.edit_dataset") rel, err := models.GetDatasetByID(ctx.ParamsInt64(":id")) + ctx.Data["dataset"] = rel + if err != nil { + ctx.Data["Error"] = true ctx.ServerError("GetDataset", err) 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["title"] = rel.Title - ctx.Data["description"] = rel.Description - ctx.Data["category"] = rel.Category - ctx.Data["task"] = rel.Task - ctx.Data["license"] = rel.License - ctx.Data["private"] = rel.IsPrivate() if ctx.HasError() { - ctx.HTML(200, tplCreate) + ctx.Data["Error"] = true + ctx.HTML(200, tplIndex) return } - var attachmentUUIDs []string - if setting.Attachment.Enabled { - attachmentUUIDs = form.Files - } - - status := models.DatasetStatusPublic - if form.Private { - status = models.DatasetStatusPrivate - } - rel.Title = form.Title - rel.Status = status rel.Description = form.Description rel.Category = form.Category rel.Task = form.Task @@ -86,11 +63,5 @@ func EditDatasetPost(ctx *context.Context, form auth.EditDatasetForm) { if err = models.UpdateDataset(models.DefaultDBContext(), rel); err != nil { log.Error("%v", err) } - - if err = models.AddDatasetAttachments(rel.ID, attachmentUUIDs); err != nil { - log.Error("%v", err) - } - log.Trace("Dataset updated: %d", rel.ID) - - ctx.Redirect(setting.AppSubURL + "/datasets/" + com.ToStr(rel.ID)) + ctx.HTML(200, tplIndex) } diff --git a/routers/routes/routes.go b/routers/routes/routes.go index ac3077995..adad35804 100644 --- a/routers/routes/routes.go +++ b/routers/routes/routes.go @@ -764,6 +764,7 @@ func RegisterRoutes(m *macaron.Macaron) { }, context.RepoMustNotBeArchived()) m.Group("/datasets", func() { m.Get("", repo.DatasetIndex) + m.Post("/:id/edit", bindIgnErr(auth.EditDatasetForm{}), repo.EditDatasetPost) }, context.RepoMustNotBeArchived()) m.Group("/comments/:id", func() { m.Post("", repo.UpdateCommentContent) diff --git a/templates/repo/datasets/index.tmpl b/templates/repo/datasets/index.tmpl index 25c08c735..b5ebc90ba 100644 --- a/templates/repo/datasets/index.tmpl +++ b/templates/repo/datasets/index.tmpl @@ -4,7 +4,7 @@
{{.CsrfTokenHtml}} {{template "base/alert" .}} -
+

{{.dataset.Title}}

@@ -18,7 +18,7 @@
-