| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- define [
- "base"
- ], (App) ->
- App.controller "ShareProjectModalController", ["$scope", "$modalInstance", "$timeout", "projectMembers", ($scope, $modalInstance, $timeout, projectMembers) ->
- $scope.inputs = {
- privileges: "readAndWrite"
- email: ""
- }
- $scope.state = {
- error: null
- inflight: false
- }
- $modalInstance.opened.then () ->
- $timeout () ->
- $scope.$broadcast "open"
- , 200
- INFINITE_COLLABORATORS = -1
- $scope.$watch "project.members.length", (noOfMembers) ->
- allowedNoOfMembers = $scope.project.features.collaborators
- $scope.canAddCollaborators = noOfMembers < allowedNoOfMembers or allowedNoOfMembers == INFINITE_COLLABORATORS
- $scope.addMember = () ->
- console.log "EMAIL", $scope.inputs.email
- return if !$scope.inputs.email? or $scope.inputs.email == ""
- $scope.state.error = null
- $scope.state.inflight = true
- projectMembers
- .addMember($scope.inputs.email, $scope.inputs.privileges)
- .then (user) ->
- $scope.state.inflight = false
- $scope.inputs.email = ""
- console.log "GOT USER", user
- $scope.project.members.push user
- .catch () ->
- $scope.state.inflight = false
- $scope.state.error = "Sorry, something went wrong :("
- $scope.removeMember = (member) ->
- $scope.state.error = null
- $scope.state.inflight = true
- projectMembers
- .removeMember(member)
- .then () ->
- $scope.state.inflight = false
- index = $scope.project.members.indexOf(member)
- return if index == -1
- $scope.project.members.splice(index, 1)
- .catch () ->
- $scope.state.inflight = false
- $scope.state.error = "Sorry, something went wrong :("
- $scope.done = () ->
- $modalInstance.close()
- ]
|