Commit 5978b98c authored by James Edwards-Jones's avatar James Edwards-Jones

Backport GroupSAML unlink changes

- Improves spacing between account buttons on Profile
- AccountsController#show uses locals instead of instance variables
- New `display_providers_on_profile?` helper method
- Adds `render_if_exists` for GroupSAMl unlink buttons

See: https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/8682
parent 8cd5004b
...@@ -144,11 +144,13 @@ ...@@ -144,11 +144,13 @@
.provider-btn-group { .provider-btn-group {
display: inline-block; display: inline-block;
margin-right: 10px; margin-right: 10px;
margin-bottom: 10px;
border: 1px solid $border-color; border: 1px solid $border-color;
border-radius: 3px; border-radius: 3px;
&:last-child { &:last-child {
margin-right: 0; margin-right: 0;
margin-bottom: 0;
} }
} }
......
...@@ -4,7 +4,7 @@ class Profiles::AccountsController < Profiles::ApplicationController ...@@ -4,7 +4,7 @@ class Profiles::AccountsController < Profiles::ApplicationController
include AuthHelper include AuthHelper
def show def show
@user = current_user render(locals: show_view_variables)
end end
# rubocop: disable CodeReuse/ActiveRecord # rubocop: disable CodeReuse/ActiveRecord
...@@ -23,4 +23,10 @@ class Profiles::AccountsController < Profiles::ApplicationController ...@@ -23,4 +23,10 @@ class Profiles::AccountsController < Profiles::ApplicationController
redirect_to profile_account_path redirect_to profile_account_path
end end
# rubocop: enable CodeReuse/ActiveRecord # rubocop: enable CodeReuse/ActiveRecord
private
def show_view_variables
{ user: current_user }
end
end end
...@@ -57,6 +57,10 @@ module AuthHelper ...@@ -57,6 +57,10 @@ module AuthHelper
auth_providers.reject { |provider| form_based_provider?(provider) } auth_providers.reject { |provider| form_based_provider?(provider) }
end end
def display_providers_on_profile?
button_based_providers.any?
end
def providers_for_base_controller def providers_for_base_controller
auth_providers.reject { |provider| LDAP_PROVIDER === provider } auth_providers.reject { |provider| LDAP_PROVIDER === provider }
end end
......
- page_title "Account" - page_title "Account"
- @content_class = "limit-container-width" unless fluid_layout - @content_class = "limit-container-width" unless fluid_layout
- user = local_assigns.fetch(:user)
- if current_user.ldap_user? - if current_user.ldap_user?
.alert.alert-info .alert.alert-info
...@@ -21,7 +22,7 @@ ...@@ -21,7 +22,7 @@
= link_to 'Enable two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-success' = link_to 'Enable two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-success'
%hr %hr
- if button_based_providers.any? - if display_providers_on_profile?
.row.prepend-top-default .row.prepend-top-default
.col-lg-4.profile-settings-sidebar .col-lg-4.profile-settings-sidebar
%h4.prepend-top-0 %h4.prepend-top-0
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
- else - else
= link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn not-active' do = link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn not-active' do
Connect Connect
= render_if_exists 'profiles/accounts/group_saml_unlink_buttons', group_saml_identities: local_assigns[:group_saml_identities]
%hr %hr
- if current_user.can_change_username? - if current_user.can_change_username?
.row.prepend-top-default .row.prepend-top-default
...@@ -66,7 +68,7 @@ ...@@ -66,7 +68,7 @@
%h4.prepend-top-0.danger-title %h4.prepend-top-0.danger-title
= s_('Profiles|Delete account') = s_('Profiles|Delete account')
.col-lg-8 .col-lg-8
- if @user.can_be_removed? && can?(current_user, :destroy_user, @user) - if user.can_be_removed? && can?(current_user, :destroy_user, user)
%p %p
= s_('Profiles|Deleting an account has the following effects:') = s_('Profiles|Deleting an account has the following effects:')
= render 'users/deletion_guidance', user: current_user = render 'users/deletion_guidance', user: current_user
...@@ -79,10 +81,10 @@ ...@@ -79,10 +81,10 @@
confirm_with_password: ('true' if current_user.confirm_deletion_with_password?), confirm_with_password: ('true' if current_user.confirm_deletion_with_password?),
username: current_user.username } } username: current_user.username } }
- else - else
- if @user.solo_owned_groups.present? - if user.solo_owned_groups.present?
%p %p
= s_('Profiles|Your account is currently an owner in these groups:') = s_('Profiles|Your account is currently an owner in these groups:')
%strong= @user.solo_owned_groups.map(&:name).join(', ') %strong= user.solo_owned_groups.map(&:name).join(', ')
%p %p
= s_('Profiles|You must transfer ownership or delete these groups before you can delete your account.') = s_('Profiles|You must transfer ownership or delete these groups before you can delete your account.')
- else - else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment