Browse Source

fix-1941

tags/v1.22.5.2^2
liuzx 3 years ago
parent
commit
406dabb36b
5 changed files with 23 additions and 23 deletions
  1. +2
    -2
      models/cloudbrain.go
  2. +1
    -0
      options/locale/locale_en-US.ini
  3. +1
    -0
      options/locale/locale_zh-CN.ini
  4. +0
    -12
      routers/org/setting.go
  5. +19
    -9
      routers/repo/setting.go

+ 2
- 2
models/cloudbrain.go View File

@@ -1566,8 +1566,8 @@ func GetCloudbrainCountByUserID(userID int64, jobType string) (int, error) {
return int(count), err
}

func GetCloudbrainRunCountByUserID(userID int64) (int, error) {
count, err := x.In("status", JobWaiting, JobRunning).And("user_id = ?", userID).Count(new(Cloudbrain))
func GetCloudbrainRunCountByRepoID(repoID int64) (int, error) {
count, err := x.In("status", JobWaiting, JobRunning).And("repo_id = ?", repoID).Count(new(Cloudbrain))
return int(count), err
}



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

@@ -814,6 +814,7 @@ settings.delete_notices_1= - This operation <strong>CANNOT</strong> be undone.
settings.delete_notices_2= - This operation will permanently delete the <strong>%s</strong> dataset.
settings.delete_notices_fork_1= - Forks of this dataset will become independent after deletion.
settings.deletion_success= The dataset has been deleted.
settings.deletion_notice_cloudbrain = you need to stop the cloudbrain task under the project before remove the project!
task.machine_translation= machine translation
task.question_answering_system= question answering system
task.information_retrieval= information retrieval


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

@@ -1928,6 +1928,7 @@ settings.delete_notices_1=- 此操作 <strong>不可以</strong> 被回滚。
settings.delete_notices_2=- 此操作将永久删除项目 <strong>%s</strong>,包括 Git 数据、 任务、评论、百科和协作者的操作权限。
settings.delete_notices_fork_1=- 在此项目删除后,它的派生项目将变成独立项目。
settings.deletion_success=项目已被删除。
settings.deletion_notice_cloudbrain=删除项目前需要先停止该项目下的云脑任务!
settings.update_settings_success=项目设置已更新。
settings.transfer_owner=新拥有者
settings.make_transfer=开始转移


+ 0
- 12
routers/org/setting.go View File

@@ -73,18 +73,6 @@ func SettingsPost(ctx *context.Context, form auth.UpdateOrgSettingForm) {
ctx.Org.OrgLink = setting.AppSubURL + "/org/" + form.Name
log.Trace("Organization name changed: %s -> %s", org.Name, form.Name)
}

count, err := models.GetCloudbrainRunCountByUserID(ctx.User.ID)
if err != nil {
ctx.ServerError("GetCloudbrainCountByUserID failed", err)
return
} else {
if count >= 1 {
log.Error("the user already has running or waiting task", ctx.Data["MsgID"])
ctx.RenderWithErr(ctx.Tr("The cloudbrain tasks needs to be stopped before you delete the project"), tplSettingsOptions, &form)
return
}
}
// In case it's just a case change.
org.Name = form.Name
org.LowerName = strings.ToLower(form.Name)


+ 19
- 9
routers/repo/setting.go View File

@@ -6,7 +6,6 @@
package repo

import (
"code.gitea.io/gitea/modules/notification"
"errors"
"fmt"
"io/ioutil"
@@ -15,6 +14,8 @@ import (
"strings"
"time"

"code.gitea.io/gitea/modules/notification"

"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/auth"
"code.gitea.io/gitea/modules/base"
@@ -477,16 +478,25 @@ func SettingsPost(ctx *context.Context, form auth.RepoSettingForm) {
ctx.RenderWithErr(ctx.Tr("form.enterred_invalid_repo_name"), tplSettingsOptions, nil)
return
}
if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil {
ctx.ServerError("DeleteRepository", err)
count, err := models.GetCloudbrainRunCountByRepoID(repo.ID)
if err != nil {
ctx.ServerError("GetCloudbrainCountByRepoID failed", err)
return
}
log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name)
go StopJobsByRepoID(repo.ID)
} else {
if count >= 1 {
ctx.RenderWithErr(ctx.Tr("repo.settings.deletion_notice_cloudbrain"), tplSettingsOptions, nil)
return
}
if err := repo_service.DeleteRepository(ctx.User, ctx.Repo.Repository); err != nil {
ctx.ServerError("DeleteRepository", err)
return
}
log.Trace("Repository deleted: %s/%s", ctx.Repo.Owner.Name, repo.Name)
go StopJobsByRepoID(repo.ID)

ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success"))
ctx.Redirect(ctx.Repo.Owner.DashboardLink())
ctx.Flash.Success(ctx.Tr("repo.settings.deletion_success"))
ctx.Redirect(ctx.Repo.Owner.DashboardLink())
}

case "delete-wiki":
if !ctx.Repo.IsOwner() {


Loading…
Cancel
Save