Merge pull request #1239 from taigaio/issue/4956/emails-import

Display emails along with users on import
stable
Juanfran 2017-03-10 10:29:50 +01:00 committed by GitHub
commit 363d432f0d
5 changed files with 22 additions and 8 deletions

View File

@ -26,6 +26,7 @@ class ImportProjectMembersController
constructor: (@currentUserService, @userService) ->
@.selectImportUserLightbox = false
@.warningImportUsers = false
@.displayEmailSelector = true
@.cancelledUsers = Immutable.List()
@.selectedUsers = Immutable.List()
@.selectableUsers = Immutable.List()
@ -56,6 +57,7 @@ class ImportProjectMembersController
user = user.set('taigaUser', taigaUser)
@.selectedUsers = @.selectedUsers.push(user)
@.discardSuggestedUser(externalUser)
@.refreshSelectableUsers()
@ -130,8 +132,10 @@ class ImportProjectMembersController
users = @.getDistinctSelectedTaigaUsers()
@.selectableUsers = users.map (it) -> return it.get('taigaUser')
@.displayEmailSelector = false
else
@.selectableUsers = @.userContacts
@.displayEmailSelector = true
@.selectableUsers = @.selectableUsers.push(@.currentUser)

View File

@ -315,6 +315,7 @@ describe "ImportProjectMembersCtrl", ->
ctrl = $controller("ImportProjectMembersCtrl")
ctrl.isImportMoreUsersDisabled = sinon.stub().returns(false)
ctrl.displayEmailSelector = false
ctrl.userContacts = Immutable.fromJS([1])
ctrl.currentUser = 2
@ -322,14 +323,16 @@ describe "ImportProjectMembersCtrl", ->
ctrl.refreshSelectableUsers()
expect(ctrl.selectableUsers.toJS()).to.be.eql([1, 2])
expect(ctrl.displayEmailSelector).to.be.true
it "refresh selectable users array with the selected ones", () ->
it.only "refresh selectable users array with the selected ones", () ->
ctrl = $controller("ImportProjectMembersCtrl")
ctrl.getDistinctSelectedTaigaUsers = sinon.stub().returns(Immutable.fromJS([
{taigaUser: 1}
]))
ctrl.displayEmailSelector = false
ctrl.isImportMoreUsersDisabled = sinon.stub().returns(true)
@ -339,6 +342,7 @@ describe "ImportProjectMembersCtrl", ->
ctrl.refreshSelectableUsers()
expect(ctrl.selectableUsers.toJS()).to.be.eql([1, 2])
expect(ctrl.displayEmailSelector).to.be.false
it "import more user disable in private project", () ->
ctrl = $controller("ImportProjectMembersCtrl")

View File

@ -73,6 +73,7 @@
limit-members-public-project="vm.limitMembersPublicProject"
visible="vm.selectImportUserLightbox"
user="vm.searchingUser"
display-email-selector="vm.displayEmailSelector"
selectable-users="vm.selectableUsers"
on-close="vm.selectImportUserLightbox = false"
on-select-user="vm.confirmUser(user, taigaUser)"

View File

@ -40,9 +40,10 @@ SelectImportUserLightboxDirective = (lightboxService, lightboxKeyboardNavigation
onClose: '&',
onSelectUser: '&',
selectableUsers: '<',
isPrivate: '=',
limitMembersPrivateProject: '=',
limitMembersPublicProject: '='
isPrivate: '<',
limitMembersPrivateProject: '<',
limitMembersPublicProject: '<',
displayEmailSelector: '<'
},
templateUrl: 'projects/create/select-import-user-lightbox/select-import-user-lightbox.html'
link: link

View File

@ -23,7 +23,10 @@ tg-lightbox-close(on-close="vm.onClose()")
translate-values="{'members': vm.limitMembersPrivateProject.max}"
)
form(ng-if="vm.mode == 'mail'", ng-submit="vm.assignUser()")
form(
ng-if="vm.mode == 'mail'"
ng-submit="vm.assignUser()"
)
div.create-project-warning
tg-svg(svg-icon="icon-exclamation")
span(translate="PROJECT.IMPORT.WARNING_MAIL_USER")
@ -73,12 +76,13 @@ tg-lightbox-close(on-close="vm.onClose()")
img(tg-avatar="user")
a.user-list-name(
href=""
title="{{user.full_name_display || user.full_name}}"
) {{user.full_name_display || user.full_name}}
title="{{user.full_name_display || user.full_name || user}}"
) {{user.full_name_display || user.full_name || user}}
.more-users(ng-if="filteredCollection.length >= 5")
.more-users(ng-if="filteredCollection.length > 5")
span(translate="COMMON.ASSIGNED_TO.TOO_MANY")
button.search-user-mode(
ng-click="vm.mode = 'mail'"
ng-if="vm.displayEmailSelector"
) {{'PROJECT.IMPORT.WRITE_EMAIL' | translate}}