From 56b978bf836fbbb60a6220e9acfbb135a2e3bd50 Mon Sep 17 00:00:00 2001 From: xaviju Date: Mon, 6 Mar 2017 10:24:34 +0100 Subject: [PATCH] Display emails along with users on import --- .../import-project-members.controller.coffee | 4 ++++ .../import-project-members.controller.spec.coffee | 6 +++++- .../import-project-members.jade | 1 + .../select-import-user-lightbox.directive.coffee | 7 ++++--- .../select-import-user-lightbox.jade | 12 ++++++++---- 5 files changed, 22 insertions(+), 8 deletions(-) diff --git a/app/modules/projects/create/import-project-members/import-project-members.controller.coffee b/app/modules/projects/create/import-project-members/import-project-members.controller.coffee index 04120b8e..c88ab21e 100644 --- a/app/modules/projects/create/import-project-members/import-project-members.controller.coffee +++ b/app/modules/projects/create/import-project-members/import-project-members.controller.coffee @@ -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) diff --git a/app/modules/projects/create/import-project-members/import-project-members.controller.spec.coffee b/app/modules/projects/create/import-project-members/import-project-members.controller.spec.coffee index 88fe51b3..47be1b10 100644 --- a/app/modules/projects/create/import-project-members/import-project-members.controller.spec.coffee +++ b/app/modules/projects/create/import-project-members/import-project-members.controller.spec.coffee @@ -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") diff --git a/app/modules/projects/create/import-project-members/import-project-members.jade b/app/modules/projects/create/import-project-members/import-project-members.jade index ccde76ac..ec1b51d9 100644 --- a/app/modules/projects/create/import-project-members/import-project-members.jade +++ b/app/modules/projects/create/import-project-members/import-project-members.jade @@ -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)" diff --git a/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.directive.coffee b/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.directive.coffee index 218722a0..baf481f5 100644 --- a/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.directive.coffee +++ b/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.directive.coffee @@ -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 diff --git a/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.jade b/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.jade index 76fb27c9..cccdfabe 100644 --- a/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.jade +++ b/app/modules/projects/create/select-import-user-lightbox/select-import-user-lightbox.jade @@ -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}}