Add content to the Remote Census Configuration tab

- Render remote census configuration content on settings index.
 - Update type method from Setting
   On Admin::SettingsController#index we are using 'all_settings' to
   group all settings by 'type' method.
   'type' method return the first part of key when split by '.'
   To allow use by example: all_settings["remote_census.general"]
   and recover only settings related with this key we have added new
   'elsif' on 'type' method.
This commit is contained in:
taitus
2019-04-10 14:04:56 +02:00
committed by Javi Martín
parent 3df856ff7e
commit 637675a1f5
5 changed files with 29 additions and 0 deletions

View File

@@ -14,6 +14,9 @@ class Admin::SettingsController < Admin::BaseController
@participation_processes_settings = all_settings["process"] @participation_processes_settings = all_settings["process"]
@map_configuration_settings = all_settings["map"] @map_configuration_settings = all_settings["map"]
@proposals_settings = all_settings["proposals"] @proposals_settings = all_settings["proposals"]
@remote_census_general_settings = all_settings["remote_census.general"]
@remote_census_request_settings = all_settings["remote_census.request"]
@remote_census_response_settings = all_settings["remote_census.response"]
@uploads_settings = all_settings["uploads"] @uploads_settings = all_settings["uploads"]
end end

View File

@@ -10,6 +10,8 @@ class Setting < ApplicationRecord
def type def type
if %w[feature process proposals map html homepage uploads].include? prefix if %w[feature process proposals map html homepage uploads].include? prefix
prefix prefix
elsif %w[remote_census].include? prefix
key.rpartition(".").first
else else
"configuration" "configuration"
end end

View File

@@ -0,0 +1,5 @@
<h2><%= t("admin.settings.index.remote_census.title") %></h2>
<%= render "settings_table", settings: @remote_census_general_settings %>
<%= render "settings_table", settings: @remote_census_request_settings %>
<%= render "settings_table", settings: @remote_census_response_settings %>

View File

@@ -25,4 +25,8 @@
<div class="tabs-panel" id="tab-proposals"> <div class="tabs-panel" id="tab-proposals">
<%= render "proposals_dashboard" %> <%= render "proposals_dashboard" %>
</div> </div>
<div class="tabs-panel" id="tab-remote-census-configuration">
<%= render "remote_census_configuration_tab" %>
</div>
</div> </div>

View File

@@ -53,6 +53,21 @@ describe Setting do
expect(homepage_setting.type).to eq "homepage" expect(homepage_setting.type).to eq "homepage"
end end
it "returns the key prefix for 'remote_census.general' settings" do
remote_census_general_setting = Setting.create(key: "remote_census.general.whatever")
expect(remote_census_general_setting.type).to eq "remote_census.general"
end
it "returns the key prefix for 'remote_census_request' settings" do
remote_census_request_setting = Setting.create(key: "remote_census.request.whatever")
expect(remote_census_request_setting.type).to eq "remote_census.request"
end
it "returns the key prefix for 'remote_census_response' settings" do
remote_census_response_setting = Setting.create(key: "remote_census.response.whatever")
expect(remote_census_response_setting.type).to eq "remote_census.response"
end
it "returns 'configuration' for the rest of the settings" do it "returns 'configuration' for the rest of the settings" do
configuration_setting = Setting.create(key: "whatever") configuration_setting = Setting.create(key: "whatever")
expect(configuration_setting.type).to eq "configuration" expect(configuration_setting.type).to eq "configuration"