aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/helpers/admin_public_body_helper.rb22
-rw-r--r--app/views/admin_public_body/_form.html.erb26
2 files changed, 28 insertions, 20 deletions
diff --git a/app/helpers/admin_public_body_helper.rb b/app/helpers/admin_public_body_helper.rb
new file mode 100644
index 000000000..5139bd49f
--- /dev/null
+++ b/app/helpers/admin_public_body_helper.rb
@@ -0,0 +1,22 @@
+module AdminPublicBodyHelper
+
+ def public_body_form_object(public_body, locale)
+ if locale == I18n.default_locale
+ # The default locale is submitted as part of the bigger object...
+ prefix = 'public_body'
+ object = public_body
+ else
+ # ...but additional locales go "on the side"
+ prefix = 'public_body[translated_versions][]'
+ object = if public_body.new_record?
+ PublicBody::Translation.new
+ else
+ public_body.find_translation_by_locale(locale.to_s)
+ end
+ object ||= PublicBody::Translation.new
+ end
+
+ { :object => object, :prefix => prefix }
+ end
+
+end
diff --git a/app/views/admin_public_body/_form.html.erb b/app/views/admin_public_body/_form.html.erb
index 623922b08..6b573ac9e 100644
--- a/app/views/admin_public_body/_form.html.erb
+++ b/app/views/admin_public_body/_form.html.erb
@@ -9,22 +9,10 @@
<% end %>
</ul>
<div class="tab-content">
-<%
- I18n.available_locales.each do |locale|
- if locale==I18n.default_locale # The default locale is submitted as part of the bigger object...
- prefix = 'public_body'
- object = @public_body
- else # ...but additional locales go "on the side"
- prefix = "public_body[translated_versions][]"
- object = if @public_body.new_record?
- PublicBody::Translation.new
- else
- @public_body.find_translation_by_locale(locale.to_s)
- end
- object ||= PublicBody::Translation.new
- end
-%>
- <%= fields_for prefix, object do |t| %>
+<% I18n.available_locales.each do |locale| %>
+ <% context = public_body_form_object(@public_body, locale) %>
+
+ <%= fields_for context[:prefix], context[:object] do |t| %>
<div class="tab-pane" id="div-locale-<%=locale.to_s%>">
<div class="control-group">
<%= t.hidden_field :locale, :value => locale.to_s %>
@@ -63,10 +51,8 @@
</div>
</div>
</div>
-<%
- end
- end
-%>
+ <% end %>
+<% end %>
</div>
</div>