You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

dataset.go 3.3 kB

5 years ago
5 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. package dataset
  2. import (
  3. "code.gitea.io/gitea/models"
  4. "code.gitea.io/gitea/modules/auth"
  5. "code.gitea.io/gitea/modules/base"
  6. "code.gitea.io/gitea/modules/context"
  7. "code.gitea.io/gitea/modules/log"
  8. "code.gitea.io/gitea/modules/setting"
  9. )
  10. const (
  11. tplDataSet base.TplName = "datasets/index"
  12. tplCreate base.TplName = "datasets/create"
  13. )
  14. type ListOptions struct {
  15. PageSize int
  16. Page int // start from 1
  17. }
  18. func MyList(ctx *context.Context) {
  19. ctxUser := ctx.User
  20. page := ctx.QueryInt("page")
  21. if page <= 0 {
  22. page = 1
  23. }
  24. datasetSearchOptions := &models.SearchDatasetOptions{
  25. OwnerID: ctxUser.ID,
  26. }
  27. var (
  28. datasets []*models.Dataset
  29. count int64
  30. err error
  31. )
  32. datasets, count, err = models.SearchDataset(datasetSearchOptions)
  33. if err != nil {
  34. ctx.ServerError("SearchDatasets", err)
  35. return
  36. }
  37. // pager := context.NewPagination(int(count), opts.PageSize, page, 5)
  38. // pager.SetDefaultParams(ctx)
  39. // pager.AddParam(ctx, "topic", "TopicOnly")
  40. // ctx.Data["Page"] = pager
  41. ctx.Data["datasets"] = datasets
  42. ctx.Data["datasetsCount"] = count
  43. log.Debug("[dataset] mylist...\n")
  44. ctx.HTML(200, tplDataSet)
  45. }
  46. func Create(ctx *context.Context) {
  47. log.Debug("[dataset] Create...\n")
  48. ctx.HTML(200, tplCreate)
  49. }
  50. // func handleCreateError(ctx *context.Context, owner *models.User, err error, name string, tpl base.TplName, form interface{}) {
  51. // switch {
  52. // case models.IsErrReachLimitOfRepo(err):
  53. // ctx.RenderWithErr(ctx.Tr("repo.form.reach_limit_of_creation", owner.MaxCreationLimit()), tpl, form)
  54. // case models.IsErrRepoAlreadyExist(err):
  55. // ctx.Data["Err_RepoName"] = true
  56. // ctx.RenderWithErr(ctx.Tr("form.repo_name_been_taken"), tpl, form)
  57. // case models.IsErrNameReserved(err):
  58. // ctx.Data["Err_RepoName"] = true
  59. // ctx.RenderWithErr(ctx.Tr("repo.form.name_reserved", err.(models.ErrNameReserved).Name), tpl, form)
  60. // case models.IsErrNamePatternNotAllowed(err):
  61. // ctx.Data["Err_RepoName"] = true
  62. // ctx.RenderWithErr(ctx.Tr("repo.form.name_pattern_not_allowed", err.(models.ErrNamePatternNotAllowed).Pattern), tpl, form)
  63. // default:
  64. // ctx.ServerError(name, err)
  65. // }
  66. // }
  67. func CreatePost(ctx *context.Context, form auth.CreateDatasetForm) {
  68. ctx.Data["Title"] = ctx.Tr("new_dataset")
  69. ctxUser := ctx.User
  70. if ctx.HasError() {
  71. ctx.HTML(200, tplCreate)
  72. return
  73. }
  74. var err error
  75. opts := models.Dataset{
  76. Title: form.Title,
  77. Category: form.Category,
  78. Description: form.Description,
  79. License: form.License,
  80. Task: form.Task,
  81. ReleaseID: form.ReleaseID,
  82. UserID: ctxUser.ID,
  83. Status: 0,
  84. }
  85. // if !opts.IsValid() {
  86. // ctx.RenderWithErr(ctx.Tr("repo.template.one_item"), tplCreate, form)
  87. // return
  88. // }
  89. if err = models.CreateDataset(&opts); err != nil {
  90. log.Error("%v", err)
  91. }
  92. var attachmentUUIDs []string
  93. if setting.Attachment.Enabled {
  94. attachmentUUIDs = form.Files
  95. }
  96. log.Error("%v", attachmentUUIDs)
  97. if err = models.AddDatasetAttachments(opts.ID, attachmentUUIDs); err != nil {
  98. log.Error("%v", err)
  99. }
  100. if err == nil {
  101. log.Trace("Dataset created [%d]: %s/%s", opts.ID, ctxUser.Name, opts.Title)
  102. ctx.Redirect(setting.AppSubURL + "/datasets")
  103. return
  104. }
  105. // handleCreateError(ctx, ctxUser, err, "CreatePost", tplCreate, &form)
  106. }
  107. func Delete(ctx *context.Context) {
  108. log.Debug("[dataset] Delete...\n")
  109. }