Browse Source

编辑attachment

tags/v1.22.3.2^2
ychao_1983 3 years ago
parent
commit
6946230610
9 changed files with 96 additions and 21 deletions
  1. +2
    -1
      models/attachment.go
  2. +13
    -0
      modules/auth/dataset.go
  3. +17
    -0
      modules/dataset/dataset.go
  4. +25
    -19
      modules/templates/helper.go
  5. +1
    -0
      options/locale/locale_en-US.ini
  6. +2
    -1
      options/locale/locale_zh-CN.ini
  7. +28
    -0
      routers/repo/attachment.go
  8. +6
    -0
      routers/repo/dataset.go
  9. +2
    -0
      routers/routes/routes.go

+ 2
- 1
models/attachment.go View File

@@ -50,6 +50,7 @@ type Attachment struct {

FileChunk *FileChunk `xorm:"-"`
CanDel bool `xorm:"-"`
Uploader *User `xorm:"-"`
}

type AttachmentUsername struct {
@@ -355,7 +356,7 @@ func updateAttachment(e Engine, atta *Attachment) error {
// Use uuid only if id is not set and uuid is set
sess = e.Where("uuid = ?", atta.UUID)
}
_, err := sess.Cols("name", "issue_id", "release_id", "comment_id", "download_count", "is_private", "decompress_state").Update(atta)
_, err := sess.Cols("name", "description", "issue_id", "release_id", "comment_id", "download_count", "is_private", "decompress_state").Update(atta)
return err
}



+ 13
- 0
modules/auth/dataset.go View File

@@ -31,3 +31,16 @@ type EditDatasetForm struct {
Files []string
Type string `binding:"Required"`
}

func (f *EditDatasetForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}

type EditAttachmentForm struct {
ID int64 `binding:"Required"`
Description string
}

func (f *EditAttachmentForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors {
return validate(errs, ctx.Data, f, ctx.Locale)
}

+ 17
- 0
modules/dataset/dataset.go View File

@@ -0,0 +1,17 @@
package dataset

func GetResourceType(cloudbrainType int) string {
if cloudbrainType == 0 {
return "CPU/GPU"
} else {
return "NPU"
}
}

func GetStatusText(isPrivate bool) string {
if isPrivate {
return "dataset.private"
} else {
return "dataset.public"
}
}

+ 25
- 19
modules/templates/helper.go View File

@@ -23,6 +23,8 @@ import (
"time"
"unicode"

"code.gitea.io/gitea/modules/dataset"

"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/emoji"
@@ -86,20 +88,22 @@ func NewFuncMap() []template.FuncMap {
"AllowedReactions": func() []string {
return setting.UI.Reactions
},
"AvatarLink": models.AvatarLink,
"Safe": Safe,
"SafeJS": SafeJS,
"Str2html": Str2html,
"TimeSince": timeutil.TimeSince,
"TimeSinceUnix": timeutil.TimeSinceUnix,
"TimeSinceUnix1": timeutil.TimeSinceUnix1,
"TimeSinceUnixShort": timeutil.TimeSinceUnixShort,
"RawTimeSince": timeutil.RawTimeSince,
"FileSize": base.FileSize,
"PrettyNumber": base.PrettyNumber,
"Subtract": base.Subtract,
"EntryIcon": base.EntryIcon,
"MigrationIcon": MigrationIcon,
"AvatarLink": models.AvatarLink,
"Safe": Safe,
"SafeJS": SafeJS,
"Str2html": Str2html,
"TimeSince": timeutil.TimeSince,
"TimeSinceUnix": timeutil.TimeSinceUnix,
"TimeSinceUnix1": timeutil.TimeSinceUnix1,
"AttachmentResourceType": dataset.GetResourceType,
"AttachmentStatus": dataset.GetStatusText,
"TimeSinceUnixShort": timeutil.TimeSinceUnixShort,
"RawTimeSince": timeutil.RawTimeSince,
"FileSize": base.FileSize,
"PrettyNumber": base.PrettyNumber,
"Subtract": base.Subtract,
"EntryIcon": base.EntryIcon,
"MigrationIcon": MigrationIcon,
"Add": func(a, b int) int {
return a + b
},
@@ -340,11 +344,13 @@ func NewTextFuncMap() []texttmpl.FuncMap {
"AppDomain": func() string {
return setting.Domain
},
"TimeSince": timeutil.TimeSince,
"TimeSinceUnix": timeutil.TimeSinceUnix,
"TimeSinceUnix1": timeutil.TimeSinceUnix1,
"TimeSinceUnixShort": timeutil.TimeSinceUnixShort,
"RawTimeSince": timeutil.RawTimeSince,
"TimeSince": timeutil.TimeSince,
"TimeSinceUnix": timeutil.TimeSinceUnix,
"TimeSinceUnix1": timeutil.TimeSinceUnix1,
"TimeSinceUnixShort": timeutil.TimeSinceUnixShort,
"RawTimeSince": timeutil.RawTimeSince,
"AttachmentResourceType": dataset.GetResourceType,
"AttachmentStatus": dataset.GetStatusText,
"DateFmtLong": func(t time.Time) string {
return t.Format(time.RFC1123Z)
},


+ 1
- 0
options/locale/locale_en-US.ini View File

@@ -715,6 +715,7 @@ description_format_err=Description's length can be up to 1024 characters long.
create_dataset = Create Dataset
create_dataset_fail=Failed to create dataset.
query_dataset_fail=Failed to query dataset.
edit_attachment_fail=Failed to update description.
show_dataset= Dataset
edit_dataset= Edit Dataset
update_dataset= Update Dataset


+ 2
- 1
options/locale/locale_zh-CN.ini View File

@@ -717,7 +717,8 @@ description=描述
description_format_err=描述最多允许输入1024个字符。
create_dataset=创建数据集
create_dataset_fail=创建数据集失败。
query_dataset_fail=查询数据集失败
query_dataset_fail=查询数据集失败。
edit_attachment_fail=修改描述失败。

show_dataset=数据集
edit_dataset=编辑数据集


+ 28
- 0
routers/repo/attachment.go View File

@@ -15,6 +15,8 @@ import (
"strconv"
"strings"

"code.gitea.io/gitea/modules/auth"

"code.gitea.io/gitea/modules/base"

"code.gitea.io/gitea/models"
@@ -35,6 +37,7 @@ const (
DecompressSuccess = "0"
DecompressFailed = "1"
tplAttachmentUpload base.TplName = "repo/attachment/upload"
tplAttachmentEdit base.TplName = "repo/attachment/edit"
)

type CloudBrainDataset struct {
@@ -78,6 +81,31 @@ func UploadAttachmentUI(ctx *context.Context) {

}

func EditAttachmentUI(ctx *context.Context) {
id := ctx.QueryInt64(":id")
attachment, _ := models.GetAttachmentByID(id)
if attachment == nil {
ctx.Error(404, "The attachment does not exits.")
}

ctx.Data["Attachment"] = attachment
ctx.HTML(200, tplAttachmentEdit)

}

func EditAttachment(ctx *context.Context, form auth.EditAttachmentForm) {

err := models.UpdateAttachment(&models.Attachment{
ID: form.ID,
Description: form.Description,
})
if err != nil {
ctx.JSON(http.StatusOK, models.BaseErrorMessage(ctx.Tr("dataset.edit_attachment_fail")))
}
ctx.JSON(http.StatusOK, models.BaseOKMessage)

}

// UploadAttachment response for uploading issue's attachment
func UploadAttachment(ctx *context.Context) {
if !setting.Attachment.Enabled {


+ 6
- 0
routers/repo/dataset.go View File

@@ -144,6 +144,12 @@ func DatasetIndex(ctx *context.Context) {

pageAttachments := getPageAttachments(attachments, page, pagesize)

//load attachment creator
for _, attachment := range pageAttachments {
uploader, _ := models.GetUserByID(attachment.UploaderID)
attachment.Uploader = uploader
}

ctx.Data["Page"] = pager
ctx.Data["PageIsDataset"] = true
ctx.Data["Title"] = ctx.Tr("dataset.show_dataset")


+ 2
- 0
routers/routes/routes.go View File

@@ -588,6 +588,8 @@ func RegisterRoutes(m *macaron.Macaron) {
m.Get("/get_pre_url", repo.GetPresignedPutObjectURL)
m.Post("/add", repo.AddAttachment)
m.Get("/upload", repo.UploadAttachmentUI)
m.Get("/edit/:id", repo.EditAttachmentUI)
m.Post("/edit", bindIgnErr(auth.EditAttachmentForm{}), repo.EditAttachment)
m.Post("/private", repo.UpdatePublicAttachment)
m.Get("/get_chunks", repo.GetSuccessChunks)
m.Get("/new_multipart", repo.NewMultipart)


Loading…
Cancel
Save