diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini index bc7609711..f8ae20440 100644 --- a/options/locale/locale_en-US.ini +++ b/options/locale/locale_en-US.ini @@ -2433,6 +2433,7 @@ md5_computing = MD5 computing loading_file = Loading uploading = Uploading upload_complete = Uploading complete +enable_minio_support = Enable minio support to use the dataset service [notification] notifications = Notifications diff --git a/options/locale/locale_zh-CN.ini b/options/locale/locale_zh-CN.ini index b45f5c3c5..5f4dbf949 100755 --- a/options/locale/locale_zh-CN.ini +++ b/options/locale/locale_zh-CN.ini @@ -2434,6 +2434,7 @@ md5_computing=计算MD5 loading_file=加载文件 uploading=正在上传 upload_complete=上传完成 +enable_minio_support=启用minio支持以使用数据集服务 [notification] notifications=通知 diff --git a/routers/repo/dataset.go b/routers/repo/dataset.go index 879f779c6..962824bd0 100644 --- a/routers/repo/dataset.go +++ b/routers/repo/dataset.go @@ -1,18 +1,15 @@ package repo import ( - "net/url" "sort" - "code.gitea.io/gitea/modules/storage" + "code.gitea.io/gitea/modules/setting" "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" - - gouuid "github.com/satori/go.uuid" ) const ( @@ -82,18 +79,8 @@ func DatasetIndex(ctx *context.Context) { ctx.Data["dataset"] = dataset ctx.Data["Attachments"] = attachments ctx.Data["IsOwner"] = true - uuid := gouuid.NewV4().String() - tmpUrl, err := storage.Attachments.PresignedPutURL(models.AttachmentRelativePath(uuid)) - if err != nil { - ctx.ServerError("PresignedPutURL", err) - } - preUrl, err := url.QueryUnescape(tmpUrl) - if err != nil { - ctx.ServerError("QueryUnescape", err) - } + ctx.Data["StoreType"] = setting.Attachment.StoreType - ctx.Data["uuid"] = uuid - ctx.Data["url"] = preUrl renderAttachmentSettings(ctx) ctx.HTML(200, tplIndex) diff --git a/templates/repo/datasets/dataset.tmpl b/templates/repo/datasets/dataset.tmpl old mode 100755 new mode 100644 index 8ea4d9f64..9e533acd3 --- a/templates/repo/datasets/dataset.tmpl +++ b/templates/repo/datasets/dataset.tmpl @@ -2,7 +2,8 @@
-
+
+
diff --git a/templates/repo/datasets/index.tmpl b/templates/repo/datasets/index.tmpl index 9e047698c..d97688fb9 100755 --- a/templates/repo/datasets/index.tmpl +++ b/templates/repo/datasets/index.tmpl @@ -66,6 +66,7 @@
+ {{if .Permission.CanWrite $.UnitTypeDatasets}} + {{if eq .StoreType "minio"}}
+ {{else}} +
{{.i18n.Tr "dropzone.enable_minio_support"}}
+ {{end}} + {{end}}
diff --git a/web_src/js/components/MinioUploader.vue b/web_src/js/components/MinioUploader.vue index 9cf79a951..eafa74bad 100755 --- a/web_src/js/components/MinioUploader.vue +++ b/web_src/js/components/MinioUploader.vue @@ -345,4 +345,12 @@ export default { min-height: 5rem; border-radius: 4px; } +.dataset .dataset-files #dataset .dz-preview.dz-file-preview, .dataset .dataset-files #dataset .dz-preview.dz-processing { + display: flex; + align-items: center; +} +.dataset .dataset-files #dataset .dz-preview { + border-bottom: 1px solid #dadce0; + min-height: 0; +} diff --git a/web_src/js/index.js b/web_src/js/index.js index 46e4c23a3..13b577774 100755 --- a/web_src/js/index.js +++ b/web_src/js/index.js @@ -2397,38 +2397,22 @@ $(document).ready(async () => { await createDropzone('#dataset', { url: $dataset.data('upload-url'), - method: 'put', headers: {'X-Csrf-Token': csrf}, maxFiles: $dataset.data('max-file'), maxFilesize: $dataset.data('max-size'), acceptedFiles: ($dataset.data('accepts') === '*/*') ? null : $dataset.data('accepts'), addRemoveLinks: true, + timeout: 0, dictDefaultMessage: $dataset.data('default-message'), dictInvalidFileType: $dataset.data('invalid-input-type'), dictFileTooBig: $dataset.data('file-too-big'), dictRemoveFile: $dataset.data('remove-file'), - timeout: 18000000, previewTemplate, init() { - this.on('sending', (file, xhr, _formData) => { - const send = xhr.send; - xhr.send = function () { - send.call(xhr, file); - }; - }); - this.on('success', (file, _data) => { - const uuid = $dataset.data('uuid'); - if ($dataset.data('add-url') && $dataset.data('csrf')) { - $.post($dataset.data('add-url'), { - uuid, - file_name: file.name, - size: file.size, - dataset_id: $dataset.data('dataset-id'), - _csrf: $dataset.data('csrf') - }).done(() => { - window.location.reload(); - }); - } + this.on('success', (file, data) => { + filenameDict[file.name] = data.uuid; + const input = $(``).val(data.uuid); + $('.files').append(input); }); this.on('removedfile', (file) => { if (file.name in filenameDict) {