From cd4268d219ece360c289868c2f47aa1fd574bf6e Mon Sep 17 00:00:00 2001 From: Matt-Yorkley Date: Wed, 18 Apr 2018 19:16:49 +0100 Subject: [PATCH] Add manager dropdown UX --- .../enterprises/controllers/enterprise_controller.js.coffee | 5 ++++- app/views/admin/enterprises/form/_users.html.haml | 1 - spec/features/admin/enterprise_roles_spec.rb | 1 - 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/app/assets/javascripts/admin/enterprises/controllers/enterprise_controller.js.coffee b/app/assets/javascripts/admin/enterprises/controllers/enterprise_controller.js.coffee index 2d1dc494f4..f017bae18f 100644 --- a/app/assets/javascripts/admin/enterprises/controllers/enterprise_controller.js.coffee +++ b/app/assets/javascripts/admin/enterprises/controllers/enterprise_controller.js.coffee @@ -11,6 +11,9 @@ angular.module("admin.enterprises") $scope.$watch 'enterprise_form.$dirty', (newValue) -> StatusMessage.display 'notice', t('admin.unsaved_changes') if newValue + $scope.$watch 'newManager', (newValue) -> + $scope.addManager($scope.newManager) if newValue + $scope.setFormDirty = -> $scope.$apply -> $scope.enterprise_form.$setDirty() @@ -47,7 +50,7 @@ angular.module("admin.enterprises") email: manager.email confirmed: manager.confirmed if (user for user in $scope.Enterprise.users when user.id == manager.id).length == 0 - $scope.Enterprise.users.push manager + $scope.Enterprise.users.splice(0, 0, manager) $scope.enterprise_form?.$setDirty() else alert ("#{manager.email}" + " " + t("is_already_manager")) diff --git a/app/views/admin/enterprises/form/_users.html.haml b/app/views/admin/enterprises/form/_users.html.haml index adc6d4ba67..89696d112b 100644 --- a/app/views/admin/enterprises/form/_users.html.haml +++ b/app/views/admin/enterprises/form/_users.html.haml @@ -44,7 +44,6 @@ - # Ignore this input in the submit = hidden_field_tag :ignored, nil, class: "select2 fullwidth", 'user-select' => 'newManager', 'ng-model' => 'newManager' %td.actions - %a{ 'ng-click' => 'addManager(newManager)', :class => "icon-plus no-text" } %tr.animate-repeat{ id: "manager-{{manager.id}}", ng: { repeat: 'manager in Enterprise.users' }} %td = hidden_field_tag "enterprise[user_ids][]", nil, multiple: true, 'ng-value' => 'manager.id' diff --git a/spec/features/admin/enterprise_roles_spec.rb b/spec/features/admin/enterprise_roles_spec.rb index 5029a8b054..751eef36d7 100644 --- a/spec/features/admin/enterprise_roles_spec.rb +++ b/spec/features/admin/enterprise_roles_spec.rb @@ -111,7 +111,6 @@ feature %q{ it "allows adding new managers" do within 'table.managers' do targetted_select2_search user3.email, from: '#s2id_ignored' - find('a.icon-plus.no-text').click # user3 has been added and has an unconfirmed email address expect(page).to have_css "tr#manager-#{user3.id}"