From 1278a1fb29d95cd8c515d016d81b41c37c3015fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20D=C3=A1vila?= Date: Mon, 23 Nov 2015 14:08:05 -0500 Subject: [PATCH] Discourage users from clicking 'Clear LDAP permission cache'. #280 --- app/assets/javascripts/application.js.coffee | 3 ++- app/assets/javascripts/confirm_danger_modal.js.coffee | 5 +++-- app/helpers/group_members_helper.rb | 11 +++++++++++ app/views/groups/group_members/index.html.haml | 7 +++++-- app/views/shared/_confirm_modal.html.haml | 5 +++-- 5 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 app/helpers/group_members_helper.rb diff --git a/app/assets/javascripts/application.js.coffee b/app/assets/javascripts/application.js.coffee index c46a63fa0c..5d47650476 100644 --- a/app/assets/javascripts/application.js.coffee +++ b/app/assets/javascripts/application.js.coffee @@ -195,7 +195,8 @@ $ -> e.preventDefault() btn = $(e.target) text = btn.data("confirm-danger-message") + warningMessage = btn.data("warning-message") form = btn.closest("form") - new ConfirmDangerModal(form, text) + new ConfirmDangerModal(form, text, warningMessage: warningMessage) new Aside() diff --git a/app/assets/javascripts/confirm_danger_modal.js.coffee b/app/assets/javascripts/confirm_danger_modal.js.coffee index 66e34dd4a0..80f01cee88 100644 --- a/app/assets/javascripts/confirm_danger_modal.js.coffee +++ b/app/assets/javascripts/confirm_danger_modal.js.coffee @@ -1,7 +1,8 @@ class @ConfirmDangerModal - constructor: (form, text) -> + constructor: (form, text, {warningMessage} = {}) -> @form = form - $('.js-confirm-text').text(text || '') + $('.js-confirm-text').html(text || '') + $('.js-warning-text').html(warningMessage) if warningMessage $('.js-confirm-danger-input').val('') $('#modal-confirm-danger').modal('show') project_path = $('.js-confirm-danger-match').text() diff --git a/app/helpers/group_members_helper.rb b/app/helpers/group_members_helper.rb new file mode 100644 index 0000000000..17b063afc6 --- /dev/null +++ b/app/helpers/group_members_helper.rb @@ -0,0 +1,11 @@ +module GroupMembersHelper + def clear_ldap_permission_cache_message + markdown(<<-EOT.strip_heredoc + Be careful, all members of this group (except you) will have their + **access level temporarily downgraded** to `Guest`. The next time that a group member + signs in to GitLab (or after one hour, whichever occurs first) their access level will + be updated to the one specified on the Group settings page. + EOT + ) + end +end diff --git a/app/views/groups/group_members/index.html.haml b/app/views/groups/group_members/index.html.haml index a943d10f46..f3f1d4fe77 100644 --- a/app/views/groups/group_members/index.html.haml +++ b/app/views/groups/group_members/index.html.haml @@ -18,8 +18,10 @@ - if current_user && current_user.can?(:admin_group_member, @group) .pull-right - if @group.ldap_synced? - = link_to reset_access_group_ldap_path(@group), class: 'btn btn-grouped', data: { confirm: "Force GitLab to do LDAP permission checks for all group members? All members besides yourself will be reduced to 'Guest' access until their next interaction with GitLab." }, method: :put do - Clear LDAP permission cache + = form_tag(reset_access_group_ldap_path(@group), method: :put, class: 'inline') do + = button_to 'Clear LDAP permission cache', '#', class: "btn btn-remove js-confirm-danger", + data: { "confirm-danger-message" => clear_ldap_permission_cache_message, + 'warning-message' => 'If you made manual permission tweaks for some group members they will be lost.' } = button_tag class: 'btn btn-new js-toggle-button', type: 'button' do Add members @@ -52,6 +54,7 @@ = render 'groups/group_members/group_member', member: member, show_roles: show_roles, show_controls: true = paginate @members, theme: 'gitlab' += render 'shared/confirm_modal', phrase: 'reset' :javascript $('form.member-search-form').on('submit', function(event) { diff --git a/app/views/shared/_confirm_modal.html.haml b/app/views/shared/_confirm_modal.html.haml index 5f51b0d450..cc7c3142f5 100644 --- a/app/views/shared/_confirm_modal.html.haml +++ b/app/views/shared/_confirm_modal.html.haml @@ -9,8 +9,9 @@ %p.cred.lead.js-confirm-text %p - This action can lead to data loss. - To prevent accidental actions we ask you to confirm your intention. + %span.js-warning-text + This action can lead to data loss. + To prevent accidental actions we ask you to confirm your intention. %br Please type %code.js-confirm-danger-match #{phrase}