Fix various in the user role management UI (#18777)
* Reword priority description * Disable checkboxes for permissions you can't enable in role edition interface * Set max priority in HTML attribute * Explicitly link to role edition, do not link when you can't edit * Reword priority description based on review
This commit is contained in:
parent
25e076505e
commit
befbac3f1c
3 changed files with 22 additions and 10 deletions
|
@ -9,7 +9,7 @@
|
||||||
= f.input :name, wrapper: :with_label
|
= f.input :name, wrapper: :with_label
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :position, wrapper: :with_label
|
= f.input :position, wrapper: :with_label, input_html: { max: current_user.role.position - 1 }
|
||||||
|
|
||||||
.fields-group
|
.fields-group
|
||||||
= f.input :color, wrapper: :with_label, input_html: { placeholder: '#000000' }
|
= f.input :color, wrapper: :with_label, input_html: { placeholder: '#000000' }
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
- (@role.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
|
- (@role.everyone? ? UserRole::Flags::CATEGORIES.slice(:invites) : UserRole::Flags::CATEGORIES).each do |category, permissions|
|
||||||
%h4= t(category, scope: 'admin.roles.categories')
|
%h4= t(category, scope: 'admin.roles.categories')
|
||||||
|
|
||||||
= f.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: lambda { |privilege| safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false
|
= f.input :permissions_as_keys, collection: permissions, wrapper: :with_block_label, include_blank: false, label_method: lambda { |privilege| safe_join([t("admin.roles.privileges.#{privilege}"), content_tag(:span, t("admin.roles.privileges.#{privilege}_description"), class: 'hint')]) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', label: false, hint: false, disabled: permissions.filter { |privilege| UserRole::FLAGS[privilege] & current_user.role.computed_permissions == 0 }
|
||||||
|
|
||||||
%hr.spacer/
|
%hr.spacer/
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
.announcements-list__item
|
.announcements-list__item
|
||||||
|
- if can?(:update, role)
|
||||||
= link_to edit_admin_role_path(role), class: 'announcements-list__item__title' do
|
= link_to edit_admin_role_path(role), class: 'announcements-list__item__title' do
|
||||||
%span.user-role{ class: "user-role-#{role.id}" }
|
%span.user-role{ class: "user-role-#{role.id}" }
|
||||||
= fa_icon 'users fw'
|
= fa_icon 'users fw'
|
||||||
|
@ -7,6 +8,15 @@
|
||||||
= t('admin.roles.everyone')
|
= t('admin.roles.everyone')
|
||||||
- else
|
- else
|
||||||
= role.name
|
= role.name
|
||||||
|
- else
|
||||||
|
%span.announcements-list__item__title
|
||||||
|
%span.user-role{ class: "user-role-#{role.id}" }
|
||||||
|
= fa_icon 'users fw'
|
||||||
|
|
||||||
|
- if role.everyone?
|
||||||
|
= t('admin.roles.everyone')
|
||||||
|
- else
|
||||||
|
= role.name
|
||||||
|
|
||||||
.announcements-list__item__action-bar
|
.announcements-list__item__action-bar
|
||||||
.announcements-list__item__meta
|
.announcements-list__item__meta
|
||||||
|
@ -16,3 +26,5 @@
|
||||||
= link_to t('admin.roles.assigned_users', count: role.users.count), admin_accounts_path(role_ids: role.id)
|
= link_to t('admin.roles.assigned_users', count: role.users.count), admin_accounts_path(role_ids: role.id)
|
||||||
•
|
•
|
||||||
%abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size)
|
%abbr{ title: role.permissions_as_keys.map { |privilege| I18n.t("admin.roles.privileges.#{privilege}") }.join(', ') }= t('admin.roles.permissions_count', count: role.permissions_as_keys.size)
|
||||||
|
%div
|
||||||
|
= table_link_to 'pencil', t('admin.accounts.edit'), edit_admin_role_path(role) if can?(:update, role)
|
||||||
|
|
|
@ -102,7 +102,7 @@ en:
|
||||||
highlighted: This makes the role publicly visible
|
highlighted: This makes the role publicly visible
|
||||||
name: Public name of the role, if role is set to be displayed as a badge
|
name: Public name of the role, if role is set to be displayed as a badge
|
||||||
permissions_as_keys: Users with this role will have access to...
|
permissions_as_keys: Users with this role will have access to...
|
||||||
position: Higher role decides conflict resolution in certain situations
|
position: Higher role decides conflict resolution in certain situations. Certain actions can only be performed on roles with alower priority
|
||||||
webhook:
|
webhook:
|
||||||
events: Select events to send
|
events: Select events to send
|
||||||
url: Where events will be sent to
|
url: Where events will be sent to
|
||||||
|
|
Loading…
Reference in a new issue