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 @@
.provider-btn-group {
display: inline-block;
margin-right: 10px;
margin-bottom: 10px;
border: 1px solid $border-color;
border-radius: 3px;
&:last-child {
margin-right: 0;
margin-bottom: 0;
}
}
......
......@@ -4,7 +4,7 @@ class Profiles::AccountsController < Profiles::ApplicationController
include AuthHelper
def show
@user = current_user
render(locals: show_view_variables)
end
# rubocop: disable CodeReuse/ActiveRecord
......@@ -23,4 +23,10 @@ class Profiles::AccountsController < Profiles::ApplicationController
redirect_to profile_account_path
end
# rubocop: enable CodeReuse/ActiveRecord
private
def show_view_variables
{ user: current_user }
end
end
......@@ -57,6 +57,10 @@ module AuthHelper
auth_providers.reject { |provider| form_based_provider?(provider) }
end
def display_providers_on_profile?
button_based_providers.any?
end
def providers_for_base_controller
auth_providers.reject { |provider| LDAP_PROVIDER === provider }
end
......
- page_title "Account"
- @content_class = "limit-container-width" unless fluid_layout
- user = local_assigns.fetch(:user)
- if current_user.ldap_user?
.alert.alert-info
......@@ -21,7 +22,7 @@
= link_to 'Enable two-factor authentication', profile_two_factor_auth_path, class: 'btn btn-success'
%hr
- if button_based_providers.any?
- if display_providers_on_profile?
.row.prepend-top-default
.col-lg-4.profile-settings-sidebar
%h4.prepend-top-0
......@@ -46,6 +47,7 @@
- else
= link_to omniauth_authorize_path(:user, provider), method: :post, class: 'provider-btn not-active' do
Connect
= render_if_exists 'profiles/accounts/group_saml_unlink_buttons', group_saml_identities: local_assigns[:group_saml_identities]
%hr
- if current_user.can_change_username?
.row.prepend-top-default
......@@ -66,7 +68,7 @@
%h4.prepend-top-0.danger-title
= s_('Profiles|Delete account')
.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
= s_('Profiles|Deleting an account has the following effects:')
= render 'users/deletion_guidance', user: current_user
......@@ -79,10 +81,10 @@
confirm_with_password: ('true' if current_user.confirm_deletion_with_password?),
username: current_user.username } }
- else
- if @user.solo_owned_groups.present?
- if user.solo_owned_groups.present?
%p
= 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
= s_('Profiles|You must transfer ownership or delete these groups before you can delete your account.')
- 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