summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--options/locale/locale_en-US.ini1
-rw-r--r--routers/web/repo/issue.go2
-rw-r--r--web_src/js/features/repo-issue-list.js2
3 files changed, 4 insertions, 1 deletions
diff --git a/options/locale/locale_en-US.ini b/options/locale/locale_en-US.ini
index 1fb68ff775..54e041d785 100644
--- a/options/locale/locale_en-US.ini
+++ b/options/locale/locale_en-US.ini
@@ -1541,6 +1541,7 @@ issues.dependency.issue_closing_blockedby = Closing this issue is blocked by the
issues.dependency.issue_close_blocks = This issue blocks closing of the following issues
issues.dependency.pr_close_blocks = This pull request blocks closing of the following issues
issues.dependency.issue_close_blocked = You need to close all issues blocking this issue before you can close it.
+issues.dependency.issue_batch_close_blocked = "Cannot batch close issues that you choose, because issue #%d still has open dependencies"
issues.dependency.pr_close_blocked = You need to close all issues blocking this pull request before you can merge it.
issues.dependency.blocks_short = Blocks
issues.dependency.blocked_by_short = Depends on
diff --git a/routers/web/repo/issue.go b/routers/web/repo/issue.go
index bea35785bb..49ea4f2a1f 100644
--- a/routers/web/repo/issue.go
+++ b/routers/web/repo/issue.go
@@ -2689,7 +2689,7 @@ func UpdateIssueStatus(ctx *context.Context) {
if err := issue_service.ChangeStatus(issue, ctx.Doer, "", isClosed); err != nil {
if issues_model.IsErrDependenciesLeft(err) {
ctx.JSON(http.StatusPreconditionFailed, map[string]interface{}{
- "error": "cannot close this issue because it still has open dependencies",
+ "error": ctx.Tr("repo.issues.dependency.issue_batch_close_blocked", issue.Index),
})
return
}
diff --git a/web_src/js/features/repo-issue-list.js b/web_src/js/features/repo-issue-list.js
index 6c5d1244fd..915cd2e132 100644
--- a/web_src/js/features/repo-issue-list.js
+++ b/web_src/js/features/repo-issue-list.js
@@ -55,6 +55,8 @@ function initRepoIssueListCheckboxes() {
elementId
).then(() => {
window.location.reload();
+ }).catch((reason) => {
+ window.alert(reason.responseJSON.error);
});
});
}