Allow to hide macros with macro button and add help for hide role
This commit is contained in:
parent
7406678a3f
commit
9b7c0a1810
@ -7,8 +7,14 @@ class AdditionalsMacro
|
||||
# needs to run every request (for each user once)
|
||||
permissions = build_permissions(options)
|
||||
|
||||
if options[:filtered].present?
|
||||
options[:filtered] << 'hello_world'
|
||||
else
|
||||
options[:filtered] = ['hello_world']
|
||||
end
|
||||
|
||||
all.each do |macro, macro_options|
|
||||
next if macro == :hello_world
|
||||
next if options[:filtered].include?(macro.to_s)
|
||||
next unless macro_allowed(macro, permissions)
|
||||
|
||||
macro_list << macro.to_s
|
||||
@ -38,8 +44,6 @@ class AdditionalsMacro
|
||||
permission[:controller].present? &&
|
||||
options[:controller_only].to_sym != permission[:controller]
|
||||
false
|
||||
elsif options[:project]
|
||||
User.current.allowed_to?(permission[:permission], options[:project])
|
||||
else
|
||||
User.current.allowed_to?(permission[:permission], nil, global: true)
|
||||
end
|
||||
|
15
app/views/additionals/settings/_macros.html.slim
Normal file
15
app/views/additionals/settings/_macros.html.slim
Normal file
@ -0,0 +1,15 @@
|
||||
em.info
|
||||
= l(:hidden_macros_in_toolbar_info)
|
||||
|
||||
br
|
||||
|
||||
p
|
||||
= content_tag(:label, l(:label_hidden_macros_in_toolbar))
|
||||
= hidden_field_tag('settings[hidden_macros_in_toolbar][]', '')
|
||||
- @available_macros = AdditionalsMacro.all(only_names: true).each do |m|
|
||||
label.block
|
||||
- value = @settings[:hidden_macros_in_toolbar].present? ? @settings[:hidden_macros_in_toolbar].include?(m) : false
|
||||
= check_box_tag('settings[hidden_macros_in_toolbar][]', m, value, id: nil)
|
||||
= m
|
||||
|
||||
br
|
@ -1,2 +1,17 @@
|
||||
p
|
||||
= f.check_box :hide
|
||||
= f.check_box :hide, disabled: @role.users_visibility != 'members_of_visible_projects'
|
||||
em.info
|
||||
= t(:info_hidden_roles_html)
|
||||
|
||||
javascript:
|
||||
$(function() {
|
||||
$('#role_users_visibility').change(function() {
|
||||
var uv = $("#role_users_visibility").val();
|
||||
if (uv == 'members_of_visible_projects') {
|
||||
$("#role_hide").prop('disabled', false);
|
||||
} else {
|
||||
$("#role_hide").prop('checked', false);
|
||||
$("#role_hide").prop('disabled', true);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
@ -169,3 +169,6 @@ de:
|
||||
additionals_query_list_defaults: Standard-Spalten Listenansicht
|
||||
additionals_query_list_default_totals: Standard-Summen in der Listenansicht
|
||||
field_hide: Verstecken
|
||||
label_hidden_macros_in_toolbar: Versteckte Makros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ en:
|
||||
additionals_query_list_defaults: Default columns for list view
|
||||
additionals_query_list_default_totals: Default sums for list view
|
||||
field_hide: Hide
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ es:
|
||||
additionals_query_list_defaults: Columnas predeterminadas para la vista de lista
|
||||
additionals_query_list_default_totals: Sumas predeterminadas para la vista de lista
|
||||
field_hide: "Ocultar"
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ fr:
|
||||
additionals_query_list_defaults: "Colonnes par défaut pour la vue en liste"
|
||||
additionals_query_list_default_totals: "Montants par défaut pour la vue en liste"
|
||||
field_hide: "Cuir"
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ it:
|
||||
additionals_query_list_defaults: "Colonne predefinite per la vista elenco"
|
||||
additionals_query_list_default_totals: "Importi predefiniti per la vista elenco"
|
||||
field_hide: "Nascondi"
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ ja:
|
||||
additionals_query_list_defaults: Default columns for list view
|
||||
additionals_query_list_default_totals: Default sums for list view
|
||||
field_hide: Hide
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@
|
||||
additionals_query_list_defaults: Default columns for list view
|
||||
additionals_query_list_default_totals: Default sums for list view
|
||||
field_hide: Hide
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -169,3 +169,6 @@ zh:
|
||||
additionals_query_list_defaults: Default columns for list view
|
||||
additionals_query_list_default_totals: Default sums for list view
|
||||
field_hide: Hide
|
||||
label_hidden_macros_in_toolbar: Hidden macros
|
||||
hidden_macros_in_toolbar_info: Alle verfübaren Makros, die der angemeldete Benutzer verwenden kann, werden über den Makro-Button in der Wiki-Toolbar aufgelistet. Die hier markierten Makros werden nicht zur Auswahl angeboten.
|
||||
info_hidden_roles_html: Versteckte Rollen können nur zusammen mit der Benutzersichtbarkeit "Mitglieder von sichtbaren Projekten" verwendet werden. Sofern der Benutzer in keiner Rolle ist, die dem aktuellen Benutzer sichtbar ist, wird diese Rolle inkl. Benutzer auf der Projektübersichtsseite und in Abfragelisten ausgeblendet.
|
||||
|
@ -9,6 +9,7 @@ global_wiki_footer: ''
|
||||
global_wiki_header: ''
|
||||
global_wiki_sidebar: ''
|
||||
google_maps_api_key: ''
|
||||
hidden_macros_in_toolbar:
|
||||
invisible_captcha: 0
|
||||
issue_assign_to_me: 0
|
||||
issue_assign_to_x: ''
|
||||
|
@ -41,6 +41,7 @@ module Additionals
|
||||
tabs << { name: 'general', partial: 'additionals/settings/general', label: :label_general }
|
||||
tabs << { name: 'content', partial: 'additionals/settings/overview', label: :label_overview_page }
|
||||
tabs << { name: 'wiki', partial: 'additionals/settings/wiki', label: :label_wiki }
|
||||
tabs << { name: 'macros', partial: 'additionals/settings/macros', label: :label_macro_plural }
|
||||
tabs << { name: 'rules', partial: 'additionals/settings/issues', label: :label_issue_plural }
|
||||
tabs << { name: 'projects', partial: 'additionals/settings/projects', label: :label_project_plural }
|
||||
tabs << { name: 'users', partial: 'additionals/settings/users', label: :label_user_plural }
|
||||
|
@ -15,7 +15,7 @@ module Additionals
|
||||
|
||||
return if @additionals_macro_list
|
||||
|
||||
@additionals_macro_list = AdditionalsMacro.all(project: @project,
|
||||
@additionals_macro_list = AdditionalsMacro.all(filtered: Additionals.settings[:hidden_macros_in_toolbar].to_a,
|
||||
only_names: true,
|
||||
controller_only: controller_name)
|
||||
|
||||
|
@ -27,8 +27,8 @@ class AdditionalsMacroTest < Additionals::TestCase
|
||||
assert available_macros.include?('child_pages')
|
||||
end
|
||||
|
||||
def test_with_project
|
||||
available_macros = AdditionalsMacro.all(project: projects(:projects_004), only_names: true)
|
||||
def test_with_filter
|
||||
available_macros = AdditionalsMacro.all(filtered: 'child_pages', only_names: true)
|
||||
assert available_macros.exclude?('child_pages')
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user