diff --git a/routers/api/v1/repo/modelarts.go b/routers/api/v1/repo/modelarts.go
index 419c6d6a4..79e35812e 100755
--- a/routers/api/v1/repo/modelarts.go
+++ b/routers/api/v1/repo/modelarts.go
@@ -6,13 +6,14 @@
package repo
import (
- "code.gitea.io/gitea/modules/notification"
"encoding/json"
"net/http"
"path"
"strconv"
"strings"
+ "code.gitea.io/gitea/modules/notification"
+
"code.gitea.io/gitea/modules/grampus"
"code.gitea.io/gitea/modules/setting"
@@ -352,6 +353,14 @@ func DelTrainJobVersion(ctx *context.APIContext) {
return
}
+ if task.Status != string(models.ModelArtsTrainJobImageFailed) && task.Status != string(models.ModelArtsTrainJobSubmitFailed) && task.Status != string(models.ModelArtsTrainJobDeleteFailed) &&
+ task.Status != string(models.ModelArtsTrainJobCompleted) && task.Status != string(models.ModelArtsTrainJobFailed) &&
+ task.Status != string(models.ModelArtsTrainJobKilled) && task.Status != string(models.ModelArtsTrainJobCanceled) && task.Status != string(models.ModelArtsTrainJobLost) {
+ log.Error("the job(%s) version has not been stopped", task.JobName)
+ ctx.NotFound(err)
+ return
+ }
+
//删除modelarts上的记录
_, err = modelarts.DelTrainJobVersion(jobID, strconv.FormatInt(task.VersionID, 10))
if err != nil {
diff --git a/routers/repo/modelarts.go b/routers/repo/modelarts.go
index 5a60bff94..25c394efc 100755
--- a/routers/repo/modelarts.go
+++ b/routers/repo/modelarts.go
@@ -1845,6 +1845,16 @@ func TrainJobDel(ctx *context.Context) {
return
}
+ for _, task := range VersionListTasks {
+ if task.Status != string(models.ModelArtsTrainJobImageFailed) && task.Status != string(models.ModelArtsTrainJobSubmitFailed) && task.Status != string(models.ModelArtsTrainJobDeleteFailed) &&
+ task.Status != string(models.ModelArtsTrainJobCompleted) && task.Status != string(models.ModelArtsTrainJobFailed) &&
+ task.Status != string(models.ModelArtsTrainJobKilled) && task.Status != string(models.ModelArtsTrainJobCanceled) && task.Status != string(models.ModelArtsTrainJobLost) {
+ log.Error("the job(%s) version has not been stopped", task.JobName)
+ ctx.RenderWithErr("the job version has not been stopped", tplModelArtsTrainJobIndex, nil)
+ return
+ }
+ }
+
//删除modelarts上的任务记录
_, err = modelarts.DelTrainJob(jobID)
if err != nil {
diff --git a/templates/repo/modelarts/trainjob/show.tmpl b/templates/repo/modelarts/trainjob/show.tmpl
index e780b679f..298084165 100755
--- a/templates/repo/modelarts/trainjob/show.tmpl
+++ b/templates/repo/modelarts/trainjob/show.tmpl
@@ -274,10 +274,14 @@
{{if .CanDel}}
-
{{else}}
-
{{end}}
@@ -899,35 +903,7 @@
$('#name').val(modelName)
$('#version').val("0.0.1")
}
- function deleteVersion(version_name) {
- stopBubbling(arguments.callee.caller.arguments[0])
- let flag = 1;
- $('.ui.basic.modal').modal({
- onDeny: function () {
- flag = false
- },
- onApprove: function () {
- $.post(`/api/v1/repos/${userName}/${repoPath}/modelarts/train-job/${jobID}/del_version`, { version_name: version_name }, (data) => {
- if (data.VersionListCount === 0) {
- location.href = `/${userName}/${repoPath}/modelarts/train-job`
- } else {
- $('#accordion' + version_name).remove()
- }
-
- }).fail(function (err) {
- console.log(err);
- });
- flag = true
- },
- onHidden: function () {
- if (flag == false) {
- $('.alert').html('您已取消操作').removeClass('alert-success').addClass('alert-danger').show().delay(1500).fadeOut();
- }
- }
- })
- .modal('show')
-
- }
+
diff --git a/web_src/js/features/cloudbrainShow.js b/web_src/js/features/cloudbrainShow.js
index 691ac57c4..9c68722a7 100644
--- a/web_src/js/features/cloudbrainShow.js
+++ b/web_src/js/features/cloudbrainShow.js
@@ -213,6 +213,35 @@ export default async function initCloudrainSow() {
});
e.stopPropagation();
});
+ $(".delete-show-version").click(function (e) {
+ const ID = this.dataset.jobid;
+ const repoPath = this.dataset.repopath;
+ const version_name = this.dataset.version;
+ const url = `/api/v1/repos/${repoPath}/${ID}/del_version`;
+ $(".ui.basic.modal")
+ .modal({
+ onApprove: function () {
+ $.post(url, { version_name: version_name }, (data) => {
+ console.log(data);
+ if (data.StatusOK === 0) {
+ if (data.VersionListCount === 0) {
+ location.href = `/${repoPath}`;
+ } else {
+ $("#accordion" + version_name).remove();
+ }
+ refreshStatusShow(version_name, ID, repoPath);
+ } else {
+ return;
+ }
+ }).fail(function (err) {
+ console.log(err);
+ });
+ },
+ })
+ .modal("show");
+
+ e.stopPropagation();
+ });
function refreshStatusShow(version_name, ID, repoPath) {
$.get(
`/api/v1/repos/${repoPath}/${ID}?version_name=${version_name}`,
diff --git a/web_src/js/features/cloudrbanin.js b/web_src/js/features/cloudrbanin.js
index 445f70be3..2df780233 100644
--- a/web_src/js/features/cloudrbanin.js
+++ b/web_src/js/features/cloudrbanin.js
@@ -182,6 +182,15 @@ export default async function initCloudrain() {
"CREATE_FAILED",
"STOPPED",
];
+ let deleteArray = [
+ "KILLED",
+ "FAILED",
+ "START_FAILED",
+ "COMPLETED",
+ "SUCCEEDED",
+ "CREATE_FAILED",
+ "STOPPED",
+ ];
$.get(
`/api/v1/repos/${repoPath}/${jobID}?version_name=${versionname}`,
(data) => {
@@ -194,6 +203,10 @@ export default async function initCloudrain() {
if (stopArray.includes(data.JobStatus)) {
$("#" + versionname + "-stop").addClass("disabled");
}
+ if (deleteArray.includes(data.JobStatus)) {
+ $(`#${versionname}-delete`).removeClass("disabled");
+ $(`#${versionname}-delete`).addClass("blue");
+ }
if (data.JobStatus === "COMPLETED") {
$("#" + versionname + "-create-model")
.removeClass("disabled")