more abstract helper for check_box_tag

This commit is contained in:
Alexander Meindl 2021-03-25 11:55:06 +01:00
parent 23de02faa5
commit 4c55b54481
6 changed files with 16 additions and 11 deletions

View File

@ -90,7 +90,7 @@ class DashboardAsyncBlocksController < ApplicationController
end
def dashboard_with_invalid_block(exception)
logger&.error "Invalid dashboard block for #{@block}: #{exception.message}"
logger&.error "Invalid dashboard block for #{@block} (#{exception.class.name}): #{exception.message}"
respond_to do |format|
format.html do
render template: 'dashboards/block_error', layout: false

View File

@ -17,6 +17,7 @@ class DashboardsController < ApplicationController
helper :dashboards
helper :additionals_issues
helper :additionals_queries
helper :additionals_settings
include AdditionalsRoutesHelper
include AdditionalsQueriesHelper

View File

@ -14,6 +14,9 @@ module AdditionalsSettingsHelper
end
def additionals_settings_checkbox(name, options = {})
active_value = options.delete(:active_value).presence || @settings.present? && @settings[name]
tag_name = options.delete(:tag_name).presence || "settings[#{name}]"
label_title = options.delete(:label).presence || l("label_#{name}")
value = options.delete :value
value_is_bool = options.delete :value_is_bool
@ -26,14 +29,14 @@ module AdditionalsSettingsHelper
end
checked = if custom_value && !value_is_bool
@settings[name]
active_value
else
Additionals.true? @settings[name]
Additionals.true? active_value
end
s = [label_tag("settings[#{name}]", label_title)]
s << hidden_field_tag("settings[#{name}]", 0, id: nil) if !custom_value || value_is_bool
s << check_box_tag("settings[#{name}]", value, checked, options)
s = [label_tag(tag_name, label_title)]
s << hidden_field_tag(tag_name, 0, id: nil) if !custom_value || value_is_bool
s << check_box_tag(tag_name, value, checked, options)
safe_join s
end

View File

@ -1,6 +1,5 @@
div id="#{block}-settings" style="#{'display: none;' if hide}"
= form_tag(_update_layout_setting_dashboard_path(@project, @dashboard), remote: true) do
= hidden_field_tag "settings[#{block}][me_only]", '0'
.box
p
label
@ -10,10 +9,10 @@ div id="#{block}-settings" style="#{'display: none;' if hide}"
settings[:max_entries].presence || DashboardContent::DEFAULT_MAX_ENTRIES,
min: 1, max: 1000, required: true
p
label
= l :label_only_my_activities
' :
= check_box_tag "settings[#{block}][me_only]", '1', Additionals.true?(settings[:me_only])
= additionals_settings_checkbox :me_only,
label: l(:label_only_my_activities),
active_value: settings[:me_only],
tag_name: "settings[#{block}][me_only]"
p
= submit_tag l(:button_save)

View File

@ -15,6 +15,7 @@ module Additionals
helper :queries
helper :additionals_queries
helper :additionals_projects
helper :additionals_settings
helper :dashboards
include DashboardsHelper

View File

@ -14,6 +14,7 @@ module Additionals
helper :issues
helper :queries
helper :additionals_queries
helper :additionals_settings
helper :dashboards
include DashboardsHelper