diff --git a/models/attachment.go b/models/attachment.go index 20f94d1a1..3ba4112dc 100755 --- a/models/attachment.go +++ b/models/attachment.go @@ -44,6 +44,11 @@ type Attachment struct { CreatedUnix timeutil.TimeStamp `xorm:"created"` } +type AttachmentUsername struct { + Attachment `xorm:"extends"` + Name string +} + func (a *Attachment) AfterUpdate() { if a.DatasetID > 0 { datasetIsPublicCount, err := x.Where("dataset_id = ? AND is_private = ?", a.DatasetID, false).Count(new(Attachment)) @@ -348,16 +353,20 @@ func getUnDecompressAttachments(e Engine) ([]*Attachment, error) { return attachments, e.Where("decompress_state = ? and dataset_id != 0 and name like '%.zip'", DecompressStateInit).Find(&attachments) } -func GetAllPublicAttachments() ([]*Attachment, error) { +func GetAllPublicAttachments() ([]*AttachmentUsername, error) { return getAllPublicAttachments(x) } -func getAllPublicAttachments(e Engine) ([]*Attachment, error) { - attachments := make([]*Attachment, 0, 10) - return attachments, e.Where("is_private = false and decompress_state = ?", DecompressStateDone).Find(&attachments) +func getAllPublicAttachments(e Engine) ([]*AttachmentUsername, error) { + attachments := make([]*AttachmentUsername, 0, 10) + if err := e.Table("attachment").Join("LEFT", "`user`", "attachment.uploader_id " + + "= `user`.id").Where("decompress_state= ? and is_private= ?", DecompressStateDone, false).Find(&attachments); err != nil { + return nil, err + } + return attachments, nil } -func GetPrivateAttachments(username string) ([]*Attachment, error) { +func GetPrivateAttachments(username string) ([]*AttachmentUsername, error) { user, err := getUserByName(x, username) if err != nil { log.Error("getUserByName(%s) failed:%v", username, err) @@ -366,12 +375,16 @@ func GetPrivateAttachments(username string) ([]*Attachment, error) { return getPrivateAttachments(x, user.ID) } -func getPrivateAttachments(e Engine, userID int64) ([]*Attachment, error) { - attachments := make([]*Attachment, 0, 10) - return attachments, e.Where("uploader_id = ? and decompress_state = ?", userID, DecompressStateDone).Find(&attachments) +func getPrivateAttachments(e Engine, userID int64) ([]*AttachmentUsername, error) { + attachments := make([]*AttachmentUsername, 0, 10) + if err := e.Table("attachment").Join("LEFT", "`user`", "attachment.uploader_id " + + "= `user`.id").Where("decompress_state= ? and uploader_id= ?", DecompressStateDone, userID).Find(&attachments); err != nil { + return nil, err + } + return attachments, nil } -func GetAllUserAttachments(userID int64) ([]*Attachment, error) { +func GetAllUserAttachments(userID int64) ([]*AttachmentUsername, error) { attachsPub, err := getAllPublicAttachments(x) if err != nil { log.Error("getAllPublicAttachments failed:%v", err) diff --git a/routers/api/v1/repo/cloudbrain.go b/routers/api/v1/repo/cloudbrain.go old mode 100644 new mode 100755 index 56d41830b..cc1dc6ad8 --- a/routers/api/v1/repo/cloudbrain.go +++ b/routers/api/v1/repo/cloudbrain.go @@ -65,6 +65,8 @@ func GetCloudbrainTask(ctx *context.APIContext) { } if result.JobStatus.State != string(models.JobWaiting) { + //todo + go models.SetCloudbrainStatusByJobID(result.Config.JobID, models.CloudbrainStatus(result.JobStatus.State)) } diff --git a/routers/repo/attachment.go b/routers/repo/attachment.go index 6bb3933fa..2def9ffc4 100755 --- a/routers/repo/attachment.go +++ b/routers/repo/attachment.go @@ -635,7 +635,7 @@ func QueryAllPublicDataset(ctx *context.Context){ return } - queryDatasets(ctx, "admin", attachs) + queryDatasets(ctx, attachs) } func QueryPrivateDataset(ctx *context.Context){ @@ -650,10 +650,14 @@ func QueryPrivateDataset(ctx *context.Context){ return } - queryDatasets(ctx, username, attachs) + for _, attach := range attachs { + attach.Name = username + } + + queryDatasets(ctx, attachs) } -func queryDatasets(ctx *context.Context, username string, attachs []*models.Attachment) { +func queryDatasets(ctx *context.Context, attachs []*models.AttachmentUsername) { var datasets []CloudBrainDataset for _, attch := range attachs { has,err := storage.Attachments.HasObject(models.AttachmentRelativePath(attch.UUID)) @@ -661,15 +665,15 @@ func queryDatasets(ctx *context.Context, username string, attachs []*models.Atta continue } - datasets = append(datasets, CloudBrainDataset{string(attch.ID), - attch.Name, + datasets = append(datasets, CloudBrainDataset{strconv.FormatInt(attch.ID, 10), + attch.Attachment.Name, setting.Attachment.Minio.RealPath + setting.Attachment.Minio.Bucket + "/" + setting.Attachment.Minio.BasePath + models.AttachmentRelativePath(attch.UUID) + attch.UUID, - username, - attch.CreatedUnix.Format("2006-01-02 03:04:05")}) + attch.Name, + attch.CreatedUnix.Format("2006-01-02 03:04:05 PM")}) } data,err := json.Marshal(datasets) diff --git a/routers/repo/cloudbrain.go b/routers/repo/cloudbrain.go index 564b6c852..8ce578288 100755 --- a/routers/repo/cloudbrain.go +++ b/routers/repo/cloudbrain.go @@ -203,7 +203,7 @@ func CloudBrainCommitImage(ctx *context.Context, form auth.CommitImageCloudBrain ImageTag: form.Tag, }) if err != nil { - log.Error("CommitImage failed:", err.Error()) + log.Error("CommitImage(%s) failed:", task.JobName, err.Error()) ctx.ServerError("CommitImage failed", err) return } diff --git a/templates/repo/cloudbrain/index.tmpl b/templates/repo/cloudbrain/index.tmpl index a02c96270..fd3d4f80c 100755 --- a/templates/repo/cloudbrain/index.tmpl +++ b/templates/repo/cloudbrain/index.tmpl @@ -61,51 +61,50 @@ -