diff --git a/app/coffee/modules/backlog/lightboxes.coffee b/app/coffee/modules/backlog/lightboxes.coffee index 4560f704..c787203a 100644 --- a/app/coffee/modules/backlog/lightboxes.coffee +++ b/app/coffee/modules/backlog/lightboxes.coffee @@ -51,6 +51,8 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService) -> promise.then null, (data) -> form.setErrors(data) + if data._error_message + $confirm.notify("error", data._error_message) remove = -> #TODO: i18n @@ -58,10 +60,13 @@ CreateEditSprint = ($repo, $confirm, $rs, $rootscope, lightboxService) -> subtitle = $scope.sprint.name $confirm.ask(title, subtitle).then => - $repo.remove($scope.sprint).then -> + onSuccess = -> $scope.milestonesCounter -= 1 lightboxService.close($el) $rootscope.$broadcast("sprintform:remove:success") + onError = -> + $confirm.notify("error") + $repo.remove($scope.sprint).then(onSuccess, onError) $scope.$on "sprintform:create", (event, projectId) -> createSprint = true diff --git a/app/coffee/modules/common/lightboxes.coffee b/app/coffee/modules/common/lightboxes.coffee index b9ca1e1c..0eaeb900 100644 --- a/app/coffee/modules/common/lightboxes.coffee +++ b/app/coffee/modules/common/lightboxes.coffee @@ -139,9 +139,6 @@ CreateEditUserstoryDirective = ($repo, $model, $rs, $rootScope, lightboxService) if us.client_requirement $el.find("label.client-requirement").addClass("selected") - $scope.$on "$destroy", -> - $el.off() - $el.on "click", ".button-green", (event) -> event.preventDefault() form = $el.find("form").checksley() @@ -159,6 +156,11 @@ CreateEditUserstoryDirective = ($repo, $model, $rs, $rootScope, lightboxService) lightboxService.close($el) $rootScope.$broadcast(broadcastEvent, data) + promise.then null, (data) -> + form.setErrors(data) + if data._error_message + $confirm.notify("error", data._error_message) + $el.on "click", "label.blocked", (event) -> event.preventDefault() target = angular.element(event.currentTarget) @@ -212,10 +214,16 @@ CreateBulkUserstoriesDirective = ($repo, $rs, $rootscope, lightboxService) -> if not form.validate() return - $rs.userstories.bulkCreate($scope.new.projectId, $scope.new.statusId, $scope.new.bulk).then (result) -> + promise = $rs.userstories.bulkCreate($scope.new.projectId, $scope.new.statusId, $scope.new.bulk) + promise.then (result) -> $rootscope.$broadcast("usform:bulk:success", result) lightboxService.close($el) + promise.then null, (data) -> + form.setErrors(data) + if data._error_message + $confirm.notify("error", data._error_message) + $scope.$on "$destroy", -> $el.off() @@ -328,9 +336,7 @@ AssignedToLightboxDirective = (lightboxService) -> $el.on "click", ".close", (event) -> event.preventDefault() - lightboxService.close($el) - $scope.$apply -> $scope.usersSearch = null diff --git a/app/partials/views/modules/lightbox_add-new-us.jade b/app/partials/views/modules/lightbox_add-new-us.jade index f3553ee3..3ff9823d 100644 --- a/app/partials/views/modules/lightbox_add-new-us.jade +++ b/app/partials/views/modules/lightbox_add-new-us.jade @@ -3,30 +3,31 @@ a.close(href="", title="close") form h2.title(tg-i18n="us.title-new") fieldset - input(type="text", ng-model="us.subject", tg-i18n="placeholder:common.subject", data-required="true", data-maxlength="500") + input(type="text", name="subject", ng-model="us.subject", tg-i18n="placeholder:common.subject", + data-required="true", data-maxlength="500") fieldset - select(ng-model="us.status", ng-options="s.id as s.name for s in usStatusList", + select(name="status", ng-model="us.status", ng-options="s.id as s.name for s in usStatusList", tg-i18n="placeholder:common.status") fieldset - input(type="text", placeholder="Tags", tg-tags, ng-model="us.tags") + input(type="text", name="tags", placeholder="Tags", tg-tags, ng-model="us.tags") fieldset - textarea.description(placeholder="It's up to well-educated users to add a description description", ng-model="us.description") + textarea.description(name="description", ng-model="us.description", + placeholder="It's up to well-educated users to add a description description") div.new-us-settings fieldset label.requirement.team-requirement(for="team-requirement", tg-i18n="us.team-requirement") - input( - type="checkbox", ng-model="us.team_requirement", - name="team-requirement", id="team-requirement") + input(type="checkbox", name="team_requirement", ng-model="us.team_requirement", + id="team-requirement") fieldset label.requirement.client-requirement(for="client-requirement", tg-i18n="us.client-requirement") - input( - type="checkbox", ng-model="us.client_requirement", - name="client-requirement", id="client-requirement") + input(type="checkbox", name="client_requirement", ng-model="us.client_requirement", + id="client-requirement") fieldset label.blocked(for="blocked-us", tg-i18n="common.blocked") - input(type="checkbox", ng-model="us.is_blocked", name="blocked-us", id="blocked-us") + input(type="checkbox", name="is_blocked", ng-model="us.is_blocked", id="blocked-us") + fieldset.blocked-note.hidden - textarea(placeholder="Why is this user story blocked?", ng-model="us.blocked_note") + textarea(name="blocked_note", placeholder="Why is this user story blocked?", ng-model="us.blocked_note") a.button.button-green(href="", title="Save") span Create