diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-23 12:53:03 +0000 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2014-06-23 12:53:03 +0000 |
commit | 550f2337a75abc7cdf93c3c86eaa803c52a2b1eb (patch) | |
tree | 208070fea2a3c729efb5491cd0cc031f2832c704 | |
parent | 08e4be01c06243dce77602cb19e7a32aeb7cbee8 (diff) | |
parent | d12c1e90f8f3e9454d2a52f40854dadcdb2d822b (diff) | |
download | gitlab-ce-550f2337a75abc7cdf93c3c86eaa803c52a2b1eb.tar.gz |
Merge branch 'remove_secondary_user_email' into 'master'
Remove secondary user email
Fixes #1286
-rw-r--r-- | app/controllers/admin/users_controller.rb | 10 | ||||
-rw-r--r-- | app/views/admin/users/show.html.haml | 2 | ||||
-rw-r--r-- | config/routes.rb | 1 | ||||
-rw-r--r-- | features/admin/users.feature | 8 | ||||
-rw-r--r-- | features/steps/admin/users.rb | 19 |
5 files changed, 40 insertions, 0 deletions
diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index 5ecdfbd807e..f0040bf5e87 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -100,6 +100,16 @@ class Admin::UsersController < Admin::ApplicationController end end + def remove_email + email = user.emails.find(params[:email_id]) + email.destroy + + respond_to do |format| + format.html { redirect_to :back, notice: "Successfully removed email." } + format.js { render nothing: true } + end + end + protected def user diff --git a/app/views/admin/users/show.html.haml b/app/views/admin/users/show.html.haml index a255c64fc27..3c30ccd78b3 100644 --- a/app/views/admin/users/show.html.haml +++ b/app/views/admin/users/show.html.haml @@ -44,6 +44,8 @@ %li %span.light Secondary email: %strong= email.email + = link_to remove_email_admin_user_path(@user, email), data: { confirm: "Are you sure you want to remove #{email.email}?" }, method: :delete, class: "btn-tiny btn btn-remove pull-right", title: 'Remove secondary email', id: "remove_email_#{email.id}" do + %i.icon-remove %li %span.light Can create groups: diff --git a/config/routes.rb b/config/routes.rb index 779cbad709c..5b854ed20b9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -68,6 +68,7 @@ Gitlab::Application.routes.draw do put :team_update put :block put :unblock + delete 'remove/:email_id', action: 'remove_email', as: 'remove_email' end end diff --git a/features/admin/users.feature b/features/admin/users.feature index ce31aafd290..d8c1288e5f0 100644 --- a/features/admin/users.feature +++ b/features/admin/users.feature @@ -21,3 +21,11 @@ Feature: Admin Users And click edit on my user When I submit modified user Then I see user attributes changed + +@javascript + Scenario: Remove users secondary email + Given I visit admin users page + And I view the user with secondary email + And I see the secondary email + When I click remove secondary email + Then I should not see secondary email anymore diff --git a/features/steps/admin/users.rb b/features/steps/admin/users.rb index 659008dd875..253c4609e82 100644 --- a/features/steps/admin/users.rb +++ b/features/steps/admin/users.rb @@ -44,4 +44,23 @@ class AdminUsers < Spinach::FeatureSteps step 'click edit on my user' do find("#edit_user_#{current_user.id}").click end + + step 'I view the user with secondary email' do + @user_with_secondary_email = User.last + @user_with_secondary_email.emails.new(email: "secondary@example.com") + @user_with_secondary_email.save + visit "/admin/users/#{@user_with_secondary_email.username}" + end + + step 'I see the secondary email' do + page.should have_content "Secondary email: #{@user_with_secondary_email.emails.last.email}" + end + + step 'I click remove secondary email' do + find("#remove_email_#{@user_with_secondary_email.emails.last.id}").click + end + + step 'I should not see secondary email anymore' do + page.should_not have_content "Secondary email:" + end end |