aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/stylesheets/responsive/_new_request_layout.scss5
-rw-r--r--app/controllers/admin_controller.rb3
-rw-r--r--app/controllers/application_controller.rb8
-rw-r--r--app/models/info_request.rb13
-rw-r--r--app/models/public_body.rb20
-rw-r--r--app/views/admin_public_body/import_csv.html.erb18
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