From 71aa651f6feb5f887c1c9b6e7e0cd97b4a2c1b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Fri, 20 Aug 2021 22:03:57 +0200 Subject: [PATCH] Fix invalid HTML in admin settings page There were duplicate IDs and the `lines` attribute doesn't do anything for textareas (I guess it was accidentally used instead of the `rows` attribute; I'm just removing it so the page looks the same way it did until now). Even though the `value` field didn't generate duplicate IDs, we're also changing it because we usually set an element with the `dom_id` of a record when it contains the whole information about a record, and not just one piece of it. For instance, in some places we assign this ID to the table row related to the record. --- .../settings/featured_settings_form_component.html.erb | 4 ++-- .../settings/_content_types_settings_form.html.erb | 2 +- app/views/admin/settings/_settings_form.html.erb | 4 ++-- spec/system/admin/settings_spec.rb | 10 +++++----- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/components/admin/settings/featured_settings_form_component.html.erb b/app/components/admin/settings/featured_settings_form_component.html.erb index 5ba0c392e..e3b5c6f46 100644 --- a/app/components/admin/settings/featured_settings_form_component.html.erb +++ b/app/components/admin/settings/featured_settings_form_component.html.erb @@ -1,6 +1,6 @@ <%= form_for([:admin, feature]) do |f| %> - <%= f.hidden_field :tab, value: tab if tab %> - <%= f.hidden_field :value, id: dom_id(feature), value: (feature.enabled? ? "" : "active") %> + <%= f.hidden_field :tab, id: dom_id(feature, :tab), value: tab if tab %> + <%= f.hidden_field :value, id: dom_id(feature, :value), value: (feature.enabled? ? "" : "active") %> <%= f.submit(t("admin.settings.index.features.#{feature.enabled? ? "disable" : "enable"}"), class: "button expanded #{feature.enabled? ? "hollow alert" : "success"}", data: { confirm: t("admin.actions.confirm") }) %> diff --git a/app/views/admin/settings/_content_types_settings_form.html.erb b/app/views/admin/settings/_content_types_settings_form.html.erb index 0711adbb4..4c3cb347b 100644 --- a/app/views/admin/settings/_content_types_settings_form.html.erb +++ b/app/views/admin/settings/_content_types_settings_form.html.erb @@ -1,5 +1,5 @@ <%= form_tag admin_update_content_types_path, method: :put, id: "edit_#{dom_id(setting)}" do %> - <%= hidden_field_tag "id", setting.id %> + <%= hidden_field_tag "id", setting.id, id: dom_id(setting, :id) %>
<% group = setting.content_type_group %> diff --git a/app/views/admin/settings/_settings_form.html.erb b/app/views/admin/settings/_settings_form.html.erb index 5a57e413c..1b8bc2027 100644 --- a/app/views/admin/settings/_settings_form.html.erb +++ b/app/views/admin/settings/_settings_form.html.erb @@ -1,7 +1,7 @@ <%= form_for([:admin, setting]) do |f| %> - <%= f.hidden_field :tab, value: tab if defined?(tab) %> + <%= f.hidden_field :tab, id: dom_id(setting, :tab), value: tab if defined?(tab) %>
- <%= f.text_area :value, label: false, id: dom_id(setting), lines: 1 %> + <%= f.text_area :value, label: false, id: dom_id(setting, :value) %>
<%= f.submit(t("admin.settings.index.update_setting"), class: "button hollow expanded") %> diff --git a/spec/system/admin/settings_spec.rb b/spec/system/admin/settings_spec.rb index 4c06b9251..95f7831d3 100644 --- a/spec/system/admin/settings_spec.rb +++ b/spec/system/admin/settings_spec.rb @@ -19,7 +19,7 @@ describe "Admin settings", :admin do visit admin_settings_path within("#edit_setting_#{setting.id}") do - fill_in "setting_#{setting.id}", with: "Super Users of level 1" + fill_in "value_setting_#{setting.id}", with: "Super Users of level 1" click_button "Update" end @@ -179,7 +179,7 @@ describe "Admin settings", :admin do find("#remote-census-tab").click within("#edit_setting_#{remote_census_setting.id}") do - fill_in "setting_#{remote_census_setting.id}", with: "New value" + fill_in "value_setting_#{remote_census_setting.id}", with: "New value" click_button "Update" end @@ -195,7 +195,7 @@ describe "Admin settings", :admin do find("#tab-configuration").click within("#edit_setting_#{configuration_setting.id}") do - fill_in "setting_#{configuration_setting.id}", with: "New value" + fill_in "value_setting_#{configuration_setting.id}", with: "New value" click_button "Update" end @@ -215,7 +215,7 @@ describe "Admin settings", :admin do click_link "Map configuration" within("#edit_setting_#{map_setting.id}") do - fill_in "setting_#{map_setting.id}", with: "New value" + fill_in "value_setting_#{map_setting.id}", with: "New value" click_button "Update" end @@ -231,7 +231,7 @@ describe "Admin settings", :admin do find("#proposals-tab").click within("#edit_setting_#{proposal_dashboard_setting.id}") do - fill_in "setting_#{proposal_dashboard_setting.id}", with: "New value" + fill_in "value_setting_#{proposal_dashboard_setting.id}", with: "New value" click_button "Update" end