Refactored the client-requirement and team-requirement buttons
parent
d1df910817
commit
b308f6f4eb
|
@ -504,107 +504,119 @@ module.directive("tgUsStatusButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$t
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
UsTeamRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) ->
|
UsTeamRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) ->
|
||||||
template = _.template("""
|
template = """
|
||||||
<label for="team-requirement" class="button button-gray team-requirement">Team requirement</label>
|
<label for="team-requirement" class="button button-gray team-requirement">Team requirement</label>
|
||||||
<input type="checkbox" id="team-requirement" name="team-requirement"/>
|
<input type="checkbox" id="team-requirement" name="team-requirement"/>
|
||||||
""")
|
"""
|
||||||
|
|
||||||
link = ($scope, $el, $attrs, $model) ->
|
link = ($scope, $el, $attrs, $model) ->
|
||||||
render = _.once (us) ->
|
canEdit = ->
|
||||||
$el.html(template())
|
return $scope.project.my_permissions.indexOf("modify_us") != -1
|
||||||
if $scope.project.my_permissions.indexOf("modify_us") == -1
|
|
||||||
$el.find('label').css("cursor", "auto")
|
|
||||||
|
|
||||||
refresh = (us) ->
|
|
||||||
if us?.team_requirement
|
|
||||||
$el.find('.team-requirement').addClass('active')
|
|
||||||
else
|
|
||||||
$el.find('.team-requirement').removeClass('active')
|
|
||||||
|
|
||||||
$scope.$watch $attrs.ngModel, (us) ->
|
$scope.$watch $attrs.ngModel, (us) ->
|
||||||
return if not us
|
return if not us
|
||||||
render(us)
|
|
||||||
refresh(us)
|
if canEdit()
|
||||||
|
$el.find('label').css("cursor", "pointer")
|
||||||
|
|
||||||
|
if us.team_requirement
|
||||||
|
$el.find('.team-requirement').addClass('active')
|
||||||
|
else
|
||||||
|
$el.find('.team-requirement').removeClass('active')
|
||||||
|
|
||||||
$scope.$on "$destroy", ->
|
$scope.$on "$destroy", ->
|
||||||
$el.off()
|
$el.off()
|
||||||
|
|
||||||
$el.on "click", ".team-requirement", (event) ->
|
$el.on "click", ".team-requirement", (event) ->
|
||||||
if $scope.project.my_permissions.indexOf("modify_us") != -1
|
return if not canEdit()
|
||||||
us = $model.$modelValue.clone()
|
|
||||||
us.team_requirement = not us.team_requirement
|
us = $model.$modelValue.clone()
|
||||||
|
us.team_requirement = not us.team_requirement
|
||||||
|
$model.$setViewValue(us)
|
||||||
|
|
||||||
|
$loading.start($el.find("label"))
|
||||||
|
promise = $tgrepo.save($model.$modelValue)
|
||||||
|
promise.then =>
|
||||||
|
$loading.finish($el.find("label"))
|
||||||
|
$rootscope.$broadcast("history:reload")
|
||||||
|
if us.team_requirement
|
||||||
|
$el.find('.team-requirement').addClass('active')
|
||||||
|
else
|
||||||
|
$el.find('.team-requirement').removeClass('active')
|
||||||
|
promise.then null, ->
|
||||||
|
$loading.finish($el.find("label"))
|
||||||
|
$confirm.notify("error")
|
||||||
|
us.revert()
|
||||||
$model.$setViewValue(us)
|
$model.$setViewValue(us)
|
||||||
$loading.start($el.find('label'))
|
|
||||||
promise = $tgrepo.save($model.$modelValue)
|
$el.find('label').css("cursor", "auto")
|
||||||
promise.then ->
|
|
||||||
$loading.finish($el.find('label'))
|
|
||||||
$rootscope.$broadcast("history:reload")
|
|
||||||
promise.then null, ->
|
|
||||||
$loading.finish($el.find('label'))
|
|
||||||
$confirm.notify("error")
|
|
||||||
us.revert()
|
|
||||||
$model.$setViewValue(us)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
link: link
|
link: link
|
||||||
restrict: "EA"
|
restrict: "EA"
|
||||||
require: "ngModel"
|
require: "ngModel"
|
||||||
|
template: template
|
||||||
}
|
}
|
||||||
|
|
||||||
module.directive("tgUsTeamRequirementButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", UsTeamRequirementButtonDirective])
|
module.directive("tgUsTeamRequirementButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", UsTeamRequirementButtonDirective])
|
||||||
|
|
||||||
|
|
||||||
#############################################################################
|
#############################################################################
|
||||||
## User story client requirements button directive
|
## User story client requirements button directive
|
||||||
#############################################################################
|
#############################################################################
|
||||||
|
|
||||||
UsClientRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) ->
|
UsClientRequirementButtonDirective = ($rootscope, $tgrepo, $confirm, $loading) ->
|
||||||
template = _.template("""
|
template = """
|
||||||
<label for="client-requirement" class="button button-gray client-requirement">Client requirement</label>
|
<label for="client-requirement" class="button button-gray client-requirement">Client requirement</label>
|
||||||
<input type="checkbox" id="client-requirement" name="client-requirement"/>
|
<input type="checkbox" id="client-requirement" name="client-requirement"/>
|
||||||
""")
|
"""
|
||||||
|
|
||||||
link = ($scope, $el, $attrs, $model) ->
|
link = ($scope, $el, $attrs, $model) ->
|
||||||
render = _.once (us) ->
|
canEdit = ->
|
||||||
$el.html(template())
|
return $scope.project.my_permissions.indexOf("modify_us") != -1
|
||||||
if $scope.project.my_permissions.indexOf("modify_us") == -1
|
|
||||||
$el.find('label').css("cursor", "auto")
|
$scope.$watch $attrs.ngModel, (us) ->
|
||||||
|
return if not us
|
||||||
|
|
||||||
|
if canEdit()
|
||||||
|
$el.find('label').css("cursor", "pointer")
|
||||||
|
|
||||||
refresh = (us) ->
|
|
||||||
if us?.client_requirement
|
if us?.client_requirement
|
||||||
$el.find('.client-requirement').addClass('active')
|
$el.find('.client-requirement').addClass('active')
|
||||||
else
|
else
|
||||||
$el.find('.client-requirement').removeClass('active')
|
$el.find('.client-requirement').removeClass('active')
|
||||||
|
|
||||||
$scope.$watch $attrs.ngModel, (us) ->
|
|
||||||
return if not us
|
|
||||||
render(us)
|
|
||||||
refresh(us)
|
|
||||||
|
|
||||||
$scope.$on "$destroy", ->
|
$scope.$on "$destroy", ->
|
||||||
$el.off()
|
$el.off()
|
||||||
|
|
||||||
$el.on "click", ".client-requirement", (event) ->
|
$el.on "click", ".client-requirement", (event) ->
|
||||||
if $scope.project.my_permissions.indexOf("modify_us") != -1
|
return if not canEdit()
|
||||||
us = $model.$modelValue.clone()
|
|
||||||
us.client_requirement = not us.client_requirement
|
us = $model.$modelValue.clone()
|
||||||
|
us.client_requirement = not us.client_requirement
|
||||||
|
$model.$setViewValue(us)
|
||||||
|
|
||||||
|
$loading.start($el.find("label"))
|
||||||
|
promise = $tgrepo.save($model.$modelValue)
|
||||||
|
promise.then =>
|
||||||
|
$loading.finish($el.find("label"))
|
||||||
|
$rootscope.$broadcast("history:reload")
|
||||||
|
if us.client_requirement
|
||||||
|
$el.find('.client-requirement').addClass('active')
|
||||||
|
else
|
||||||
|
$el.find('.client-requirement').removeClass('active')
|
||||||
|
promise.then null, ->
|
||||||
|
$loading.finish($el.find("label"))
|
||||||
|
$confirm.notify("error")
|
||||||
|
us.revert()
|
||||||
$model.$setViewValue(us)
|
$model.$setViewValue(us)
|
||||||
$loading.start($el.find("label"))
|
|
||||||
promise = $tgrepo.save($model.$modelValue)
|
$el.find('label').css("cursor", "auto")
|
||||||
promise.then ->
|
|
||||||
$loading.finish($el.find("label"))
|
|
||||||
$rootscope.$broadcast("history:reload")
|
|
||||||
refresh(us)
|
|
||||||
promise.then null, ->
|
|
||||||
$loading.finish($el.find("label"))
|
|
||||||
$confirm.notify("error")
|
|
||||||
us.revert()
|
|
||||||
$model.$setViewValue(us)
|
|
||||||
refresh(us)
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
link: link
|
link: link
|
||||||
restrict: "EA"
|
restrict: "EA"
|
||||||
require: "ngModel"
|
require: "ngModel"
|
||||||
|
template: template
|
||||||
}
|
}
|
||||||
|
|
||||||
module.directive("tgUsClientRequirementButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", UsClientRequirementButtonDirective])
|
module.directive("tgUsClientRequirementButton", ["$rootScope", "$tgRepo", "$tgConfirm", "$tgLoading", UsClientRequirementButtonDirective])
|
||||||
|
|
|
@ -58,8 +58,8 @@ block content
|
||||||
section.watchers(tg-watchers, ng-model="us")
|
section.watchers(tg-watchers, ng-model="us")
|
||||||
|
|
||||||
section.us-detail-settings
|
section.us-detail-settings
|
||||||
fieldset(tg-us-team-requirement-button, ng-model="us")
|
tg-us-team-requirement-button(ng-model="us")
|
||||||
fieldset(tg-us-client-requirement-button, ng-model="us")
|
tg-us-client-requirement-button(ng-model="us")
|
||||||
div(tg-check-permission="modify_us", tg-block-button, ng-model="us")
|
div(tg-check-permission="modify_us", tg-block-button, ng-model="us")
|
||||||
div(tg-check-permission="delete_us", tg-delete-button,
|
div(tg-check-permission="delete_us", tg-delete-button,
|
||||||
on-delete-go-to-url="project-backlog",
|
on-delete-go-to-url="project-backlog",
|
||||||
|
|
Loading…
Reference in New Issue