aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/admin_public_body_controller.rb2
-rw-r--r--app/controllers/general_controller.rb4
-rw-r--r--app/mailers/request_mailer.rb3
-rw-r--r--app/models/public_body.rb30
-rw-r--r--app/views/admin_public_body/_form.html.erb12
-rw-r--r--app/views/comment/_single_comment.html.erb4
-rw-r--r--app/views/general/_footer.html.erb2
-rw-r--r--app/views/general/_stylesheet_includes.html.erb2
-rw-r--r--app/views/general/_topnav.html.erb2
-rw-r--r--app/views/layouts/no_chrome.html.erb1
-rw-r--r--app/views/request/_act.html.erb15
-rw-r--r--app/views/request/_bubble.html.erb2
-rw-r--r--app/views/request/_sidebar.html.erb17
13 files changed, 61 insertions, 35 deletions
diff --git a/app/controllers/admin_public_body_controller.rb b/app/controllers/admin_public_body_controller.rb
index e0da234b0..88e275960 100644
--- a/app/controllers/admin_public_body_controller.rb
+++ b/app/controllers/admin_public_body_controller.rb
@@ -143,6 +143,8 @@ class AdminPublicBodyController < AdminController
@errors = ""
if request.post?
dry_run_only = (params['commit'] == 'Upload' ? false : true)
+ # (FIXME: both of these cases could now be changed to use
+ # PublicBody.import_csv_from_file.)
# Read file from params
if params[:csv_file]
csv_contents = params[:csv_file].read
diff --git a/app/controllers/general_controller.rb b/app/controllers/general_controller.rb
index aac078829..b01a67027 100644
--- a/app/controllers/general_controller.rb
+++ b/app/controllers/general_controller.rb
@@ -17,6 +17,10 @@ class GeneralController < ApplicationController
# Display blog entries
def blog
+ if AlaveteliConfiguration::blog_feed.empty?
+ raise ActiveRecord::RecordNotFound.new("Page not enabled")
+ end
+
medium_cache
@feed_autodetect = []
@feed_url = AlaveteliConfiguration::blog_feed
diff --git a/app/mailers/request_mailer.rb b/app/mailers/request_mailer.rb
index c8a19afa8..af1a75df9 100644
--- a/app/mailers/request_mailer.rb
+++ b/app/mailers/request_mailer.rb
@@ -19,7 +19,8 @@ class RequestMailer < ApplicationMailer
end
mail(:from => from_user.name_and_email,
- :to => info_request.incoming_name_and_email)
+ :to => info_request.incoming_name_and_email,
+ :subject => info_request.email_subject_followup)
end
# Used when a response is uploaded using the API
diff --git a/app/models/public_body.rb b/app/models/public_body.rb
index 8e474c797..933825d2a 100644
--- a/app/models/public_body.rb
+++ b/app/models/public_body.rb
@@ -260,13 +260,13 @@ class PublicBody < ActiveRecord::Base
# When name or short name is changed, also change the url name
def short_name=(short_name)
- globalize.write(I18n.locale, :short_name, short_name)
+ globalize.write(Globalize.locale, :short_name, short_name)
self[:short_name] = short_name
self.update_url_name
end
def name=(name)
- globalize.write(I18n.locale, :name, name)
+ globalize.write(Globalize.locale, :name, name)
self[:name] = name
self.update_url_name
end
@@ -369,10 +369,24 @@ class PublicBody < ActiveRecord::Base
class ImportCSVDryRun < StandardError
end
- # Import from CSV. Just tests things and returns messages if dry_run is true.
- # Returns an array of [array of errors, array of notes]. If there are errors,
- # always rolls back (as with dry_run).
+ # Import from a string in CSV format.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
def self.import_csv(csv, tag, tag_behaviour, dry_run, editor, available_locales = [])
+ tmp_csv = nil
+ Tempfile.open('alaveteli') do |f|
+ f.write csv
+ tmp_csv = f
+ end
+ PublicBody.import_csv_from_file(tmp_csv.path, tag, tag_behaviour, dry_run, editor, available_locales)
+ end
+
+ # Import from a CSV file.
+ # Just tests things and returns messages if dry_run is true.
+ # Returns an array of [array of errors, array of notes]. If there
+ # are errors, always rolls back (as with dry_run).
+ def self.import_csv_from_file(csv_filename, tag, tag_behaviour, dry_run, editor, available_locales = [])
errors = []
notes = []
available_locales = [I18n.default_locale] if available_locales.empty?
@@ -398,7 +412,8 @@ class PublicBody < ActiveRecord::Base
set_of_importing = Set.new()
field_names = { 'name'=>1, 'request_email'=>2 } # Default values in case no field list is given
line = 0
- CSV.parse(csv) do |row|
+
+ CSV.foreach(csv_filename) do |row|
line = line + 1
# Parse the first line as a field list if it starts with '#'
@@ -727,7 +742,8 @@ class PublicBody < ActiveRecord::Base
# either from config, or based on a (slow!) query if not set
body_short_names = AlaveteliConfiguration::frontpage_publicbody_examples.split(/\s*;\s*/)
locale_condition = 'public_body_translations.locale = ?'
- conditions = [locale_condition, locale]
+ underscore_locale = locale.gsub '-', '_'
+ conditions = [locale_condition, underscore_locale]
bodies = []
I18n.with_locale(locale) do
if body_short_names.empty?
diff --git a/app/views/admin_public_body/_form.html.erb b/app/views/admin_public_body/_form.html.erb
index 18bf1d15b..5a80386ec 100644
--- a/app/views/admin_public_body/_form.html.erb
+++ b/app/views/admin_public_body/_form.html.erb
@@ -51,12 +51,6 @@
</div>
</div>
<div class="control-group">
- <label for="<%= form_tag_id(t.object_name, :disclosure_log, locale) %>" class="control-label"><%=_("Disclosure log URL")%></label>
- <div class="controls">
- <%= t.text_field :disclosure_log, :size => 60, :id => form_tag_id(t.object_name, :disclosure_log, locale), :class => "span3" %>
- </div>
- </div>
- <div class="control-group">
<label for="<%= form_tag_id(t.object_name, :notes, locale) %>" class="control-label"><%=_("Public notes")%></label>
<div class="controls">
<%= t.text_area :notes, :rows => 3, :id => form_tag_id(t.object_name, :notes, locale), :class => "span6" %>
@@ -89,6 +83,12 @@
</div>
</div>
<div class="control-group">
+ <label for="public_body_disclosure_log" class="control-label"><%=_("Disclosure log URL")%></label>
+ <div class="controls">
+ <%= f.text_field :disclosure_log, :size => 60, :class => "span4" %>
+ </div>
+</div>
+<div class="control-group">
<label for="public_body_last_edit_comment" class="control-label"><strong>Comment</strong> for this edit</label>
<div class="controls">
<%= f.text_area :last_edit_comment, :rows => 3, :class => "span6" %></p>
diff --git a/app/views/comment/_single_comment.html.erb b/app/views/comment/_single_comment.html.erb
index d2edc8dbe..a6d234b34 100644
--- a/app/views/comment/_single_comment.html.erb
+++ b/app/views/comment/_single_comment.html.erb
@@ -17,10 +17,10 @@
</div>
<p class="event_actions">
<% if !comment.id.nil? %>
- <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<% if !@user.nil? && @user.admin_page_links? %>
- | <%= link_to "Admin", admin_request_edit_comment_path(comment) %>
+ <%= link_to "Admin", admin_request_edit_comment_path(comment) %> |
<% end %>
+ <%= link_to "Link to this", comment_path(comment), :class => "link_to_this" %>
<!-- | <%= link_to _('Report abuse'), comment_path(comment) %> -->
<% end %>
</p>
diff --git a/app/views/general/_footer.html.erb b/app/views/general/_footer.html.erb
index 04c60be3d..2e10a0f94 100644
--- a/app/views/general/_footer.html.erb
+++ b/app/views/general/_footer.html.erb
@@ -1,6 +1,8 @@
<div id="footer">
<%= link_to _("Contact {{site_name}}", :site_name => site_name), help_contact_path %>
+<% unless AlaveteliConfiguration::twitter_username.blank? %>
| <%= image_tag "twitter-16.png", :alt => "twitter icon", :class => "twitter-icon" %> <a href="https://twitter.com/<%= AlaveteliConfiguration::twitter_username %>"><%= _("Follow us on twitter") %></a>
+<% end %>
<%= render :partial => 'general/credits' %>
</div>
<div class="after-footer">&nbsp;</div>
diff --git a/app/views/general/_stylesheet_includes.html.erb b/app/views/general/_stylesheet_includes.html.erb
index b3f32054c..7a1648efd 100644
--- a/app/views/general/_stylesheet_includes.html.erb
+++ b/app/views/general/_stylesheet_includes.html.erb
@@ -17,6 +17,6 @@
<%= stylesheet_link_tag 'ie7.css' %>
<![endif]-->
<% if AlaveteliConfiguration::force_registration_on_new_request %>
- <%= stylesheet_link_tag 'jquery.fancybox-1.3.4.pack.js', :rel => "stylesheet" %>
+ <%= stylesheet_link_tag 'jquery.fancybox-1.3.4.css', :rel => "stylesheet" %>
<% end %>
<% end %>
diff --git a/app/views/general/_topnav.html.erb b/app/views/general/_topnav.html.erb
index c7f2cedea..d37bd97d1 100644
--- a/app/views/general/_topnav.html.erb
+++ b/app/views/general/_topnav.html.erb
@@ -4,7 +4,9 @@
<li class="<%= 'selected' if params[:controller] == 'request' and ['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("Make a request"), select_authority_path, :id => 'make-request-link' %></li>
<li class="<%= 'selected' if params[:controller] == 'request' and !['new', 'select_authority'].include?(params[:action]) %>"><%= link_to _("View requests"), request_list_successful_path %></li>
<li class="<%= 'selected' if params[:controller] == 'public_body' %>"><%= link_to _("View authorities"), list_public_bodies_default_path %></li>
+<% unless AlaveteliConfiguration::blog_feed.empty? %>
<li class="<%= 'selected' if params[:controller] == 'general' and params[:action] == 'blog' %>"><%= link_to _("Read blog"), blog_path %></li>
+<% end %>
<li class="<%= 'selected' if params[:controller] == 'help' %>"><%= link_to _("Help"), help_about_path %></li>
</ul>
</div>
diff --git a/app/views/layouts/no_chrome.html.erb b/app/views/layouts/no_chrome.html.erb
index 589e1bb76..e613b8ca2 100644
--- a/app/views/layouts/no_chrome.html.erb
+++ b/app/views/layouts/no_chrome.html.erb
@@ -14,7 +14,6 @@
<%= stylesheet_link_tag 'application', :title => "Main", :rel => "stylesheet" %>
<%= stylesheet_link_tag 'fonts', :rel => "stylesheet" %>
- <%= stylesheet_link_tag 'theme', :rel => "stylesheet" %>
<!--[if LT IE 7]>
<%= stylesheet_link_tag 'ie6', :rel => "stylesheet" %>
<![endif]-->
diff --git a/app/views/request/_act.html.erb b/app/views/request/_act.html.erb
new file mode 100644
index 000000000..1199cb4a2
--- /dev/null
+++ b/app/views/request/_act.html.erb
@@ -0,0 +1,15 @@
+<h2><%= _("Act on what you've learnt") %></h2>
+
+<div class="act_link">
+ <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
+ <% link_to tweet_link do %>
+ <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
+ <% end %>
+ <%= link_to _("Tweet this request"), tweet_link %>
+</div>
+<div class="act_link">
+ <%= link_to "http://wordpress.com/" do %>
+ <%= image_tag "wordpress.png", :class => "rss" %>
+ <% end %>
+ <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
+</div>
diff --git a/app/views/request/_bubble.html.erb b/app/views/request/_bubble.html.erb
index 8827d114d..e038bb3dc 100644
--- a/app/views/request/_bubble.html.erb
+++ b/app/views/request/_bubble.html.erb
@@ -13,7 +13,7 @@
:file_name => a.display_filename + '.html')
%>
<% img_filename = "icon_" + a.content_type.sub('/', '_') + "_large.png"
- full_filename = File.expand_path(File.join(File.dirname(__FILE__), "../../assets/images", img_filename))
+ full_filename = File.expand_path(Rails.root.join('app', 'assets', 'images', img_filename))
if File.exist?(full_filename) %>
<%= link_to image_tag(img_filename, :class => "attachment_image", :alt => "Attachment"), attachment_path %>
<% else %>
diff --git a/app/views/request/_sidebar.html.erb b/app/views/request/_sidebar.html.erb
index 8400cd6ac..0f7965ffa 100644
--- a/app/views/request/_sidebar.html.erb
+++ b/app/views/request/_sidebar.html.erb
@@ -33,22 +33,7 @@
<%= link_to _("Report this request"), new_request_report_path(:request_id => @info_request.url_title) %>
<% end %>
<% end %>
- <h2><%= _("Act on what you've learnt") %></h2>
-
- <div class="act_link">
- <% tweet_link = "https://twitter.com/share?" + {:url => request.url, :via => AlaveteliConfiguration::twitter_username, :text => "'#{@info_request.title}'", :related => _('alaveteli_foi:The software that runs {{site_name}}', :site_name => site_name)}.to_query %>
- <% link_to tweet_link do %>
- <%= image_tag "twitter-16.png", :alt => "twitter icon" %>
- <% end %>
- <%= link_to _("Tweet this request"), tweet_link %>
- </div>
- <div class="act_link">
- <%= link_to "http://wordpress.com/" do %>
- <%= image_tag "wordpress.png", :class => "rss" %>
- <% end %>
- <%= link_to _("Start your own blog"), "http://wordpress.com/"%>
- </div>
-
+ <%= render :partial => 'request/act' %>
<%= render :partial => 'request/next_actions' %>
<% cache_if_caching_fragments(@similar_cache_key, :expires_in => 1.day) do %>