|
@@ -38,7 +38,7 @@ define [
|
|
|
else
|
|
else
|
|
|
# Must be a group
|
|
# Must be a group
|
|
|
contact.display = contact.name
|
|
contact.display = contact.name
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
getCurrentMemberEmails = () ->
|
|
getCurrentMemberEmails = () ->
|
|
|
$scope.project.members.map (u) -> u.email
|
|
$scope.project.members.map (u) -> u.email
|
|
|
|
|
|
|
@@ -60,26 +60,26 @@ define [
|
|
|
$scope.inputs.contacts = []
|
|
$scope.inputs.contacts = []
|
|
|
$scope.state.error = null
|
|
$scope.state.error = null
|
|
|
$scope.state.inflight = true
|
|
$scope.state.inflight = true
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
currentMemberEmails = getCurrentMemberEmails()
|
|
currentMemberEmails = getCurrentMemberEmails()
|
|
|
do addNextMember = () ->
|
|
do addNextMember = () ->
|
|
|
if members.length == 0 or !$scope.canAddCollaborators
|
|
if members.length == 0 or !$scope.canAddCollaborators
|
|
|
$scope.state.inflight = false
|
|
$scope.state.inflight = false
|
|
|
$scope.$apply()
|
|
$scope.$apply()
|
|
|
return
|
|
return
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
member = members.shift()
|
|
member = members.shift()
|
|
|
if !member.type? and member.display in currentMemberEmails
|
|
if !member.type? and member.display in currentMemberEmails
|
|
|
# Skip this existing member
|
|
# Skip this existing member
|
|
|
return addNextMember()
|
|
return addNextMember()
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
if member.type == "user"
|
|
if member.type == "user"
|
|
|
request = projectMembers.addMember(member.email, $scope.inputs.privileges)
|
|
request = projectMembers.addMember(member.email, $scope.inputs.privileges)
|
|
|
else if member.type == "group"
|
|
else if member.type == "group"
|
|
|
request = projectMembers.addGroup(member.id, $scope.inputs.privileges)
|
|
request = projectMembers.addGroup(member.id, $scope.inputs.privileges)
|
|
|
else # Not an auto-complete object, so email == display
|
|
else # Not an auto-complete object, so email == display
|
|
|
request = projectMembers.addMember(member.display, $scope.inputs.privileges)
|
|
request = projectMembers.addMember(member.display, $scope.inputs.privileges)
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
request
|
|
request
|
|
|
.success (data) ->
|
|
.success (data) ->
|
|
|
if data.users?
|
|
if data.users?
|
|
@@ -88,7 +88,7 @@ define [
|
|
|
users = [data.user]
|
|
users = [data.user]
|
|
|
else
|
|
else
|
|
|
users = []
|
|
users = []
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
$scope.project.members.push users...
|
|
$scope.project.members.push users...
|
|
|
setTimeout () ->
|
|
setTimeout () ->
|
|
|
# Give $scope a chance to update $scope.canAddCollaborators
|
|
# Give $scope a chance to update $scope.canAddCollaborators
|
|
@@ -98,8 +98,7 @@ define [
|
|
|
.error () ->
|
|
.error () ->
|
|
|
$scope.state.inflight = false
|
|
$scope.state.inflight = false
|
|
|
$scope.state.error = true
|
|
$scope.state.error = true
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
$timeout addMembers, 50 # Give email list a chance to update
|
|
$timeout addMembers, 50 # Give email list a chance to update
|
|
|
|
|
|
|
|
$scope.removeMember = (member) ->
|
|
$scope.removeMember = (member) ->
|
|
@@ -158,4 +157,4 @@ define [
|
|
|
|
|
|
|
|
$scope.cancel = () ->
|
|
$scope.cancel = () ->
|
|
|
$modalInstance.dismiss()
|
|
$modalInstance.dismiss()
|
|
|
- ]
|
|
|
|
|
|
|
+ ]
|