From 72a54e43af9d84b1612a1d0d583176d4eef97239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Espino?= Date: Thu, 18 Sep 2014 16:53:21 +0200 Subject: [PATCH] Fix cases when action failed during confirm lightbox --- app/coffee/modules/admin/memberships.coffee | 1 + app/coffee/modules/backlog/lightboxes.coffee | 1 + app/coffee/modules/backlog/main.coffee | 1 + app/coffee/modules/common/attachments.coffee | 1 + app/coffee/modules/common/confirm.coffee | 5 +++-- app/coffee/modules/issues/detail.coffee | 1 + app/coffee/modules/issues/list.coffee | 6 ++++-- app/coffee/modules/tasks/detail.coffee | 1 + app/coffee/modules/userstories/detail.coffee | 1 + app/coffee/modules/wiki/main.coffee | 1 + app/coffee/modules/wiki/nav.coffee | 6 ++++-- 11 files changed, 19 insertions(+), 6 deletions(-) diff --git a/app/coffee/modules/admin/memberships.coffee b/app/coffee/modules/admin/memberships.coffee index ff07ddb0..f41c1e4b 100644 --- a/app/coffee/modules/admin/memberships.coffee +++ b/app/coffee/modules/admin/memberships.coffee @@ -437,6 +437,7 @@ MembershipsRowActionsDirective = ($log, $repo, $rs, $confirm) -> $confirm.notify("success", null, "We've deleted #{subtitle}.") # TODO: i18n onError = -> + finish(false) # TODO: i18in $confirm.notify("error", null, "We have not been able to delete #{subtitle}.") diff --git a/app/coffee/modules/backlog/lightboxes.coffee b/app/coffee/modules/backlog/lightboxes.coffee index 6fd41f6c..05dc87b4 100644 --- a/app/coffee/modules/backlog/lightboxes.coffee +++ b/app/coffee/modules/backlog/lightboxes.coffee @@ -89,6 +89,7 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService, $loading) $rootscope.$broadcast("sprintform:remove:success") onError = -> + finish(false) $confirm.notify("error") $repo.remove($scope.sprint).then(onSuccess, onError) diff --git a/app/coffee/modules/backlog/main.coffee b/app/coffee/modules/backlog/main.coffee index 3e3c1e62..de7b422e 100644 --- a/app/coffee/modules/backlog/main.coffee +++ b/app/coffee/modules/backlog/main.coffee @@ -422,6 +422,7 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F finish() @.loadBacklog() promise.then null, => + finish(false) @confirm.notify("error") addNewUs: (type) -> diff --git a/app/coffee/modules/common/attachments.coffee b/app/coffee/modules/common/attachments.coffee index 39517bf1..1f928845 100644 --- a/app/coffee/modules/common/attachments.coffee +++ b/app/coffee/modules/common/attachments.coffee @@ -138,6 +138,7 @@ class AttachmentsController extends taiga.Controller @rootscope.$broadcast("attachment:delete") onError = => + finish(false) @confirm.notify("error", null, "We have not been able to delete #{subtitle}.") return @q.reject() diff --git a/app/coffee/modules/common/confirm.coffee b/app/coffee/modules/common/confirm.coffee index 933b45fc..b1c0e381 100644 --- a/app/coffee/modules/common/confirm.coffee +++ b/app/coffee/modules/common/confirm.coffee @@ -63,9 +63,10 @@ class ConfirmService extends taiga.Service event.preventDefault() target = angular.element(event.currentTarget) @loading.start(target) - defered.resolve => + defered.resolve (ok=true) => @loading.finish(target) - @.hide(el) + if ok + @.hide(el) el.on "click.confirm-dialog", "a.button-red", (event) => event.preventDefault() diff --git a/app/coffee/modules/issues/detail.coffee b/app/coffee/modules/issues/detail.coffee index 7045a4ff..2d9ae266 100644 --- a/app/coffee/modules/issues/detail.coffee +++ b/app/coffee/modules/issues/detail.coffee @@ -135,6 +135,7 @@ class IssueDetailController extends mixOf(taiga.Controller, taiga.PageMixin) finish() @location.path(@navUrls.resolve("project-issues", {project: @scope.project.slug})) promise.then null, => + finish(false) @confirm.notify("error") module.controller("IssueDetailController", IssueDetailController) diff --git a/app/coffee/modules/issues/list.coffee b/app/coffee/modules/issues/list.coffee index 0ed87170..98690d0d 100644 --- a/app/coffee/modules/issues/list.coffee +++ b/app/coffee/modules/issues/list.coffee @@ -626,13 +626,15 @@ IssuesFiltersDirective = ($log, $location, $rs, $confirm) -> $confirm.ask(title, subtitle).then (finish) -> promise = $ctrl.deleteMyFilter(customFilterName) promise.then -> - $ctrl.loadMyFilters().then (filters) -> + promise = $ctrl.loadMyFilters() + promise.then (filters) -> finish() $scope.filters.myFilters = filters renderFilters($scope.filters.myFilters) - $ctrl.loadMyFilters().then null, -> + promise.then null, -> finish() promise.then null, -> + finish(false) $confirm.notify("error") diff --git a/app/coffee/modules/tasks/detail.coffee b/app/coffee/modules/tasks/detail.coffee index fd502b91..8dceb2ef 100644 --- a/app/coffee/modules/tasks/detail.coffee +++ b/app/coffee/modules/tasks/detail.coffee @@ -136,6 +136,7 @@ class TaskDetailController extends mixOf(taiga.Controller, taiga.PageMixin) finish() @location.path(@navUrls.resolve("project-backlog", {project: @scope.project.slug})) promise.then null, => + finish(false) @confirm.notify("error") module.controller("TaskDetailController", TaskDetailController) diff --git a/app/coffee/modules/userstories/detail.coffee b/app/coffee/modules/userstories/detail.coffee index 6b8e0485..2c9d140c 100644 --- a/app/coffee/modules/userstories/detail.coffee +++ b/app/coffee/modules/userstories/detail.coffee @@ -145,6 +145,7 @@ class UserStoryDetailController extends mixOf(taiga.Controller, taiga.PageMixin) finish() @location.path(@navUrls.resolve("project-backlog", {project: @scope.project.slug})) promise.then null, => + finish(false) $confirm.notify("error") module.controller("UserStoryDetailController", UserStoryDetailController) diff --git a/app/coffee/modules/wiki/main.coffee b/app/coffee/modules/wiki/main.coffee index faff5041..a9c4a4f2 100644 --- a/app/coffee/modules/wiki/main.coffee +++ b/app/coffee/modules/wiki/main.coffee @@ -147,6 +147,7 @@ class WikiDetailController extends mixOf(taiga.Controller, taiga.PageMixin) @confirm.notify("success") onError = => + finish(false) @confirm.notify("error") @repo.remove(@scope.wiki).then onSuccess, onError diff --git a/app/coffee/modules/wiki/nav.coffee b/app/coffee/modules/wiki/nav.coffee index d31d43ee..fbd0a13f 100644 --- a/app/coffee/modules/wiki/nav.coffee +++ b/app/coffee/modules/wiki/nav.coffee @@ -113,12 +113,14 @@ WikiNavDirective = ($tgrepo, $log, $location, $confirm, $navUrls) -> $confirm.ask(title, subtitle).then (finish) => promise = $tgrepo.remove($scope.wikiLinks[linkId]) promise.then -> - $ctrl.loadWikiLinks().then -> + promise = $ctrl.loadWikiLinks() + promise.then -> finish() render($scope.wikiLinks) - $ctrl.loadWikiLinks().then null, -> + promise.then null, -> finish() promise.then null, -> + finish(false) $confirm.notify("error") $el.on "keyup", ".new input", debounce 2000, (event) ->