diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/assets/stylesheets/responsive/_new_request_layout.scss | 5 | ||||
-rw-r--r-- | app/controllers/admin_controller.rb | 3 | ||||
-rw-r--r-- | app/controllers/application_controller.rb | 8 | ||||
-rw-r--r-- | app/models/info_request.rb | 13 | ||||
-rw-r--r-- | app/models/public_body.rb | 20 | ||||
-rw-r--r-- | app/views/admin_public_body/import_csv.html.erb | 18 |
6 files changed, 43 insertions, 24 deletions
diff --git a/app/assets/stylesheets/responsive/_new_request_layout.scss b/app/assets/stylesheets/responsive/_new_request_layout.scss index eec95ae77..aba4ffc29 100644 --- a/app/assets/stylesheets/responsive/_new_request_layout.scss +++ b/app/assets/stylesheets/responsive/_new_request_layout.scss @@ -29,6 +29,11 @@ @include lte-ie7 { width: 26.188em; } + /* Don't nest public body grid row in this context */ + #public_body_show { + @include grid-row(); + } + } /* Hide some elements of the public body that aren't appropriate in this diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb index 8b606ea85..3bf40b8f9 100644 --- a/app/controllers/admin_controller.rb +++ b/app/controllers/admin_controller.rb @@ -25,8 +25,7 @@ class AdminController < ApplicationController def expire_for_request(info_request) # Clear out cached entries, by removing files from disk (the built in # Rails fragment cache made doing this and other things too hard) - cache_subpath = foi_fragment_cache_all_for_request(info_request) - FileUtils.rm_rf(cache_subpath) + info_request.foi_fragment_cache_directories.each{ |dir| FileUtils.rm_rf(dir) } # Remove any download zips FileUtils.rm_rf(info_request.download_zip_dir) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 0c5f5bd02..4d3f40d40 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -189,14 +189,6 @@ class ApplicationController < ActionController::Base return File.join(File.split(path).map{|x| x[0...max_file_length]}) end - def foi_fragment_cache_all_for_request(info_request) - # return stub path so admin can expire it - first_three_digits = info_request.id.to_s()[0..2] - path = "views/request/#{first_three_digits}/#{info_request.id}" - foi_cache_path = File.expand_path(File.join(File.dirname(__FILE__), '../../cache')) - return File.join(foi_cache_path, path) - end - def foi_fragment_cache_exists?(key_path) return File.exists?(key_path) end diff --git a/app/models/info_request.rb b/app/models/info_request.rb index aed651ad3..d0052603a 100644 --- a/app/models/info_request.rb +++ b/app/models/info_request.rb @@ -1048,6 +1048,19 @@ public File.join(Rails.root, "cache", "zips", "#{Rails.env}") end + def foi_fragment_cache_directories + # return stub path so admin can expire it + directories = [] + path = File.join("request", request_dirs) + foi_cache_path = File.expand_path(File.join(Rails.root, 'cache', 'views')) + directories << File.join(foi_cache_path, path) + I18n.available_locales.each do |locale| + directories << File.join(foi_cache_path, locale.to_s, path) + end + + directories + end + def request_dirs first_three_digits = id.to_s()[0..2] File.join(first_three_digits.to_s, id.to_s) diff --git a/app/models/public_body.rb b/app/models/public_body.rb index b22482541..87b5c2227 100644 --- a/app/models/public_body.rb +++ b/app/models/public_body.rb @@ -60,6 +60,21 @@ class PublicBody < ActiveRecord::Base translates :name, :short_name, :request_email, :url_name, :notes, :first_letter, :publication_scheme + # Default fields available for importing from CSV, in the format + # [field_name, 'short description of field (basic html allowed)'] + cattr_accessor :csv_import_fields do + [ + ['name', '(i18n)<strong>Existing records cannot be renamed</strong>'], + ['short_name', '(i18n)'], + ['request_email', '(i18n)'], + ['notes', '(i18n)'], + ['publication_scheme', '(i18n)'], + ['disclosure_log', '(i18n)'], + ['home_page', ''], + ['tag_string', '(tags separated by spaces)'], + ] + end + # Public: Search for Public Bodies whose name, short_name, request_email or # tags contain the given query # @@ -477,7 +492,10 @@ class PublicBody < ActiveRecord::Base next end - field_list = ['name', 'short_name', 'request_email', 'notes', 'publication_scheme', 'disclosure_log', 'home_page', 'tag_string'] + field_list = [] + self.csv_import_fields.each do |field_name, field_notes| + field_list.push field_name + end if public_body = bodies_by_name[name] # Existing public body available_locales.each do |locale| diff --git a/app/views/admin_public_body/import_csv.html.erb b/app/views/admin_public_body/import_csv.html.erb index d15ef1791..c690f0fc2 100644 --- a/app/views/admin_public_body/import_csv.html.erb +++ b/app/views/admin_public_body/import_csv.html.erb @@ -51,19 +51,11 @@ Another One,another@example.com,Otro organismo,a_tag </pre> <p><strong>Supported fields:</strong> - <ul> - <li> - <code>name</code> (i18n) - <strong>Existing records cannot be renamed</strong> - </li> - <li><code>short_name</code> (i18n)</li> - <li><code>request_email</code> (i18n)</li> - <li><code>notes</code> (i18n)</li> - <li><code>publication_scheme</code> (i18n)</li> - <li><code>disclosure_log</code> (i18n)</li> - <li><code>home_page</code></li> - <li><code>tag_string</code> (tags separated by spaces)</li> - </ul> + <ul> + <% PublicBody.csv_import_fields.each do |field, notes| %> + <li><code><%= field %></code> <%= sanitize(notes) %></li> + <% end %> + </ul> </p> <p><strong>Note:</strong> Choose <strong>dry run</strong> to test, without |