diff --git a/app/assets/javascripts/forms.js.coffee b/app/assets/javascripts/forms.js.coffee
index 34ea71916..5cf403e59 100644
--- a/app/assets/javascripts/forms.js.coffee
+++ b/app/assets/javascripts/forms.js.coffee
@@ -40,14 +40,15 @@ App.Forms =
hideOrShowFieldsAfterSelection: ->
$("[name='progress_bar[kind]']").on
change: ->
- title_field = $("[name^='progress_bar'][name$='[title]']").parent()
+ locale = App.Globalize.selected_language()
+ title_field = $(".translatable-fields[data-locale=#{locale}]")
if this.value == "primary"
title_field.hide()
- $("#globalize_locales").hide()
+ $(".globalize-languages").hide()
else
title_field.show()
- $("#globalize_locales").show()
+ $(".globalize-languages").show()
$("[name='progress_bar[kind]']").change()
diff --git a/app/assets/javascripts/globalize.js.coffee b/app/assets/javascripts/globalize.js.coffee
index 1238402a2..af320e2e1 100644
--- a/app/assets/javascripts/globalize.js.coffee
+++ b/app/assets/javascripts/globalize.js.coffee
@@ -1,37 +1,47 @@
App.Globalize =
+ selected_language: ->
+ $("#select_language").val()
+
display_locale: (locale) ->
App.Globalize.enable_locale(locale)
- $(".js-globalize-locale-link").each ->
- if $(this).data("locale") == locale
- $(this).show()
- App.Globalize.highlight_locale($(this))
- $(".js-globalize-locale option:selected").removeAttr("selected")
- return
+ App.Globalize.add_language(locale)
+ $(".js-add-language option:selected").removeAttr("selected")
display_translations: (locale) ->
+ $(".js-select-language option[value=#{locale}]").prop("selected", true)
$(".js-globalize-attribute").each ->
if $(this).data("locale") == locale
$(this).show()
else
$(this).hide()
$(".js-delete-language").hide()
- $("#js_delete_#{locale}").show()
+ $(".js-delete-" + locale).show()
- highlight_locale: (element) ->
- $(".js-globalize-locale-link").removeClass("is-active")
- element.addClass("is-active")
+ add_language: (locale) ->
+ language_option = $(".js-add-language [value=#{locale}]")
+ if $(".js-select-language option[value=#{locale}]").length == 0
+ option = new Option(language_option.text(), language_option.val())
+ $(".js-select-language").append(option)
+ $(".js-select-language option[value=#{locale}]").prop("selected", true)
remove_language: (locale) ->
$(".js-globalize-attribute[data-locale=#{locale}]").each ->
$(this).val("").hide()
- if CKEDITOR.instances[$(this).attr("id")]
- CKEDITOR.instances[$(this).attr("id")].setData("")
- $(".js-globalize-locale-link[data-locale=#{locale}]").hide()
- next = $(".js-globalize-locale-link:visible").first()
- App.Globalize.highlight_locale(next)
- App.Globalize.display_translations(next.data("locale"))
+ App.Globalize.resetEditor(this)
+
+ $(".js-select-language option[value=#{locale}]").remove()
+ next = $(".js-select-language option:not([value=''])").first()
+ App.Globalize.display_translations(next.val())
App.Globalize.disable_locale(locale)
+ App.Globalize.update_description()
+
+ if $(".js-select-language option").length == 1
+ $(".js-select-language option").prop("selected", true)
+
+ resetEditor: (element) ->
+ if CKEDITOR.instances[$(element).attr("id")]
+ CKEDITOR.instances[$(element).attr("id")].setData("")
enable_locale: (locale) ->
App.Globalize.destroy_locale_field(locale).val(false)
@@ -43,8 +53,8 @@ App.Globalize =
enabled_locales: ->
$.map(
- $(".js-globalize-locale-link:visible"),
- (element) -> $(element).data("locale")
+ $(".js-select-language:first option:not([value=''])"),
+ (element) -> $(element).val()
)
destroy_locale_field: (locale) ->
@@ -54,20 +64,34 @@ App.Globalize =
$("#enabled_translations_#{locale}")
refresh_visible_translations: ->
- locale = $(".js-globalize-locale-link.is-active").data("locale")
+ locale = $(".js-select-language").val()
App.Globalize.display_translations(locale)
+ update_description: ->
+ count = App.Globalize.enabled_locales().length
+ description = App.Globalize.language_description(count)
+ $(".js-languages-description").html(description)
+ $(".js-languages-count").text(count)
+
+ language_description: (count) ->
+ switch count
+ when 0 then $(".globalize-languages").data("zero-languages-description")
+ when 1 then $(".globalize-languages").data("one-languages-description")
+ else $(".globalize-languages").data("other-languages-description")
+
initialize: ->
- $(".js-globalize-locale").on "change", ->
- App.Globalize.display_translations($(this).val())
- App.Globalize.display_locale($(this).val())
-
- $(".js-globalize-locale-link").on "click", ->
- locale = $(this).data("locale")
+ $(".js-add-language").on "change", ->
+ locale = $(this).val()
App.Globalize.display_translations(locale)
- App.Globalize.highlight_locale($(this))
+ App.Globalize.display_locale(locale)
+ App.Globalize.update_description()
- $(".js-delete-language").on "click", ->
+ $(".js-select-language").on "change", ->
+ locale = $(this).val()
+ App.Globalize.display_translations(locale)
+
+ $(".js-delete-language").on "click", (e) ->
+ e.preventDefault()
locale = $(this).data("locale")
$(this).hide()
App.Globalize.remove_language(locale)
diff --git a/app/assets/stylesheets/layout.scss b/app/assets/stylesheets/layout.scss
index b7d5a9647..c65fbe03c 100644
--- a/app/assets/stylesheets/layout.scss
+++ b/app/assets/stylesheets/layout.scss
@@ -197,6 +197,10 @@ a {
padding-top: $line-height;
}
+.padding-top {
+ padding-top: $line-height;
+}
+
.light {
background: $light;
}
@@ -1080,6 +1084,19 @@ form {
}
}
+.translatable-fields {
+
+ &.highlight {
+ display: inline-block;
+ padding-top: $line-height;
+ width: 100%;
+ }
+}
+
+.translation-locale {
+ padding-top: $line-height;
+}
+
// 07. Callout
// -----------
diff --git a/app/helpers/globalize_helper.rb b/app/helpers/globalize_helper.rb
index 92d02b63e..74ebc5ba0 100644
--- a/app/helpers/globalize_helper.rb
+++ b/app/helpers/globalize_helper.rb
@@ -1,17 +1,76 @@
module GlobalizeHelper
- def options_for_locale_select
- options_for_select(locale_options, nil)
+ def options_for_select_language(resource)
+ options_for_select(available_locales(resource), first_available_locale(resource))
end
- def locale_options
- I18n.available_locales.map do |locale|
- [name_for_locale(locale), locale]
+ def available_locales(resource)
+ I18n.available_locales.select{ |locale| enabled_locale?(resource, locale) }.map do |locale|
+ [name_for_locale(locale), locale , { data: { locale: locale } }]
end
end
+ def enabled_locale?(resource, locale)
+ return site_customization_enable_translation?(locale) if resource.blank?
+
+ if resource.translations.empty?
+ locale == I18n.locale
+ else
+ resource.locales_not_marked_for_destruction.include?(locale)
+ end
+ end
+
+ def first_available_locale(resource)
+ return first_i18n_content_translation_locale if resource.blank?
+
+ if translations_for_locale?(resource, I18n.locale)
+ I18n.locale
+ elsif resource.translations.any?
+ resource.translations.first.locale
+ else
+ I18n.locale
+ end
+ end
+
+ def first_i18n_content_translation_locale
+ if I18nContentTranslation.existing_languages.count == 0 ||
+ I18nContentTranslation.existing_languages.include?(I18n.locale)
+ I18n.locale
+ else
+ I18nContentTranslation.existing_languages.first
+ end
+ end
+
+ def translations_for_locale?(resource, locale)
+ resource.present? && resource.translations.any? &&
+ resource.locales_not_marked_for_destruction.include?(locale)
+ end
+
+ def selected_languages_description(resource)
+ t("shared.translations.languages_in_use_html", count: active_languages_count(resource))
+ end
+
+ def active_languages_count(resource)
+ if resource.blank?
+ languages_count
+ elsif resource.locales_not_marked_for_destruction.size > 0
+ resource.locales_not_marked_for_destruction.size
+ else
+ 1
+ end
+ end
+
+ def languages_count
+ count = I18nContentTranslation.existing_languages.count
+ count > 0 ? count : 1
+ end
+
+ def display_translation_style(resource, locale)
+ "display: none;" unless display_translation?(resource, locale)
+ end
+
def display_translation?(resource, locale)
- if !resource || resource.translations.blank? ||
+ if !resource || resource.translations.empty? ||
resource.locales_not_marked_for_destruction.include?(I18n.locale)
locale == I18n.locale
else
@@ -19,38 +78,31 @@ module GlobalizeHelper
end
end
- def display_translation_style(resource, locale)
- "display: none;" unless display_translation?(resource, locale)
+ def display_destroy_locale_style(resource, locale)
+ "display: none;" unless display_destroy_locale_link?(resource, locale)
+ end
+
+ def display_destroy_locale_link?(resource, locale)
+ first_available_locale(resource) == locale
+ end
+
+ def options_for_add_language
+ options_for_select(all_language_options, nil)
+ end
+
+ def all_language_options
+ I18n.available_locales.map do |locale|
+ [name_for_locale(locale), locale]
+ end
end
def translation_enabled_tag(locale, enabled)
hidden_field_tag("enabled_translations[#{locale}]", (enabled ? 1 : 0))
end
- def enable_translation_style(resource, locale)
- "display: none;" unless enable_locale?(resource, locale)
- end
-
- def enable_locale?(resource, locale)
- if resource.translations.any?
- resource.locales_not_marked_for_destruction.include?(locale)
- else
- locale == I18n.locale
- end
- end
-
- def highlight_class(resource, locale)
- "is-active" if display_translation?(resource, locale)
- end
-
def globalize(locale, &block)
Globalize.with_locale(locale) do
yield
end
end
-
- def same_locale?(locale1, locale2)
- locale1 == locale2
- end
-
end
diff --git a/app/helpers/translatable_form_helper.rb b/app/helpers/translatable_form_helper.rb
index 934ab19b0..807fa8d6f 100644
--- a/app/helpers/translatable_form_helper.rb
+++ b/app/helpers/translatable_form_helper.rb
@@ -11,7 +11,11 @@ module TranslatableFormHelper
end
def backend_translations_enabled?
- (controller.class.parents & [Admin, Management, Valuation]).any?
+ (controller.class.parents & [Admin, Management, Valuation, Tracking]).any?
+ end
+
+ def highlight_translation_html_class
+ "highlight" if translations_interface_enabled?
end
class TranslatableFormBuilder < FoundationRailsHelper::FormBuilder
@@ -66,9 +70,13 @@ module TranslatableFormHelper
end
end
+ def highlight_translation_html_class
+ @template.highlight_translation_html_class
+ end
+
def translations_options(resource, locale)
{
- class: "translatable-fields js-globalize-attribute",
+ class: "translatable-fields js-globalize-attribute #{highlight_translation_html_class}",
style: @template.display_translation_style(resource.globalized_model, locale),
data: { locale: locale }
}
diff --git a/app/views/admin/admin_notifications/_form.html.erb b/app/views/admin/admin_notifications/_form.html.erb
index 0048c93a5..d671c2517 100644
--- a/app/views/admin/admin_notifications/_form.html.erb
+++ b/app/views/admin/admin_notifications/_form.html.erb
@@ -1,19 +1,33 @@
-<%= render "admin/shared/globalize_locales", resource: @admin_notification %>
+<%= render "shared/globalize_locales", resource: @admin_notification %>
<%= translatable_form_for [:admin, @admin_notification] do |f| %>
<%= render "shared/errors", resource: @admin_notification %>
- <%= f.select :segment_recipient, options_for_select(user_segments_options,
- @admin_notification[:segment_recipient]) %>
- <%= f.text_field :link %>
+
+
+ <%= f.select :segment_recipient, options_for_select(user_segments_options,
+ @admin_notification[:segment_recipient]) %>
+
+
+ <%= f.text_field :link %>
+
+
- <%= f.translatable_fields do |translations_form| %>
- <%= translations_form.text_field :title %>
- <%= translations_form.text_area :body %>
- <% end %>
+
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title %>
+
+
+ <%= translations_form.text_area :body %>
+
+ <% end %>
+
-
- <%= f.submit t("admin.admin_notifications.#{admin_submit_action(@admin_notification)}.submit_button"),
- class: "button success" %>
+
+
+ <%= f.submit t("admin.admin_notifications.#{admin_submit_action(@admin_notification)}.submit_button"),
+ class: "button success" %>
+
<% end %>
diff --git a/app/views/admin/banners/_form.html.erb b/app/views/admin/banners/_form.html.erb
index dc01b2918..4bb19e227 100644
--- a/app/views/admin/banners/_form.html.erb
+++ b/app/views/admin/banners/_form.html.erb
@@ -1,4 +1,4 @@
-<%= render "admin/shared/globalize_locales", resource: @banner %>
+<%= render "shared/globalize_locales", resource: @banner %>
<%= translatable_form_for [:admin, @banner] do |f| %>
diff --git a/app/views/admin/budget_groups/_form.html.erb b/app/views/admin/budget_groups/_form.html.erb
index 06a185ae9..bd3cb7d12 100644
--- a/app/views/admin/budget_groups/_form.html.erb
+++ b/app/views/admin/budget_groups/_form.html.erb
@@ -1,24 +1,34 @@
-<%= render "admin/shared/globalize_locales", resource: @group %>
+<%= render "shared/globalize_locales", resource: @group %>
-
- <%= translatable_form_for [:admin, @budget, @group], url: path do |f| %>
+<%= translatable_form_for [:admin, @budget, @group], url: path do |f| %>
- <%= render "shared/errors", resource: @group %>
+ <%= render "shared/errors", resource: @group %>
+
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.text_field :name,
- label: t("admin.budget_groups.form.name"),
- maxlength: 50,
- placeholder: t("admin.budget_groups.form.name") %>
+
+ <%= translations_form.text_field :name,
+ label: t("admin.budget_groups.form.name"),
+ maxlength: 50,
+ placeholder: t("admin.budget_groups.form.name") %>
+
<% end %>
+
- <% if @group.persisted? %>
+ <% if @group.persisted? %>
+
+
<%= f.select :max_votable_headings,
(1..@group.headings.count),
label: t("admin.budget_groups.max_votable_headings"),
placeholder: t("admin.budget_groups.max_votable_headings") %>
- <% end %>
-
- <%= f.submit t("admin.budget_groups.form.#{action}"), class: "button success" %>
+
+
<% end %>
-
+
+
+
+ <%= f.submit t("admin.budget_groups.form.#{action}"), class: "button success" %>
+
+
+<% end %>
diff --git a/app/views/admin/budget_headings/_form.html.erb b/app/views/admin/budget_headings/_form.html.erb
index 4fe3b75da..45f927ed3 100644
--- a/app/views/admin/budget_headings/_form.html.erb
+++ b/app/views/admin/budget_headings/_form.html.erb
@@ -1,52 +1,57 @@
-<%= render "admin/shared/globalize_locales", resource: @heading %>
+<%= render "shared/globalize_locales", resource: @heading %>
-
+<%= translatable_form_for [:admin, @budget, @group, @heading], url: path do |f| %>
- <%= translatable_form_for [:admin, @budget, @group, @heading], url: path do |f| %>
-
- <%= render "shared/errors", resource: @heading %>
+ <%= render "shared/errors", resource: @heading %>
+
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.text_field :name,
- label: t("admin.budget_headings.form.name"),
- maxlength: 50,
- placeholder: t("admin.budget_headings.form.name") %>
+
+ <%= translations_form.text_field :name,
+ label: t("admin.budget_headings.form.name"),
+ maxlength: 50,
+ placeholder: t("admin.budget_headings.form.name") %>
+
<% end %>
+
- <%= f.text_field :price,
- label: t("admin.budget_headings.form.amount"),
- maxlength: 8,
- placeholder: t("admin.budget_headings.form.amount") %>
+
+
+ <%= f.text_field :price,
+ label: t("admin.budget_headings.form.amount"),
+ maxlength: 8,
+ placeholder: t("admin.budget_headings.form.amount") %>
- <%= f.label :population, t("admin.budget_headings.form.population") %>
-
- <%= t("admin.budget_headings.form.population_info") %>
-
- <%= f.text_field :population,
- label: false,
- maxlength: 8,
- placeholder: t("admin.budget_headings.form.population"),
- data: {toggle_focus: "population-info"},
- aria: {describedby: "budgets-population-help-text"} %>
+ <%= f.label :population, t("admin.budget_headings.form.population") %>
+
+ <%= t("admin.budget_headings.form.population_info") %>
+
+ <%= f.text_field :population,
+ label: false,
+ maxlength: 8,
+ placeholder: t("admin.budget_headings.form.population"),
+ data: {toggle_focus: "population-info"},
+ aria: {describedby: "budgets-population-help-text"} %>
- <%= f.text_field :latitude,
- label: t("admin.budget_headings.form.latitude"),
- maxlength: 22,
- placeholder: "latitude" %>
+ <%= f.text_field :latitude,
+ label: t("admin.budget_headings.form.latitude"),
+ maxlength: 22,
+ placeholder: "latitude" %>
- <%= f.text_field :longitude,
- label: t("admin.budget_headings.form.longitude"),
- maxlength: 22,
- placeholder: "longitude" %>
-
- <%= t("admin.budget_headings.form.coordinates_info") %>
-
+ <%= f.text_field :longitude,
+ label: t("admin.budget_headings.form.longitude"),
+ maxlength: 22,
+ placeholder: "longitude" %>
+
+ <%= t("admin.budget_headings.form.coordinates_info") %>
+
- <%= f.check_box :allow_custom_content, label: t("admin.budget_headings.form.allow_content_block") %>
-
- <%= t("admin.budget_headings.form.content_blocks_info") %>
-
+ <%= f.check_box :allow_custom_content, label: t("admin.budget_headings.form.allow_content_block") %>
+
+ <%= t("admin.budget_headings.form.content_blocks_info") %>
+
- <%= f.submit t("admin.budget_headings.form.#{action}"), class: "button success" %>
- <% end %>
-
+ <%= f.submit t("admin.budget_headings.form.#{action}"), class: "button success" %>
+
+
+<% end %>
diff --git a/app/views/admin/budget_investments/edit.html.erb b/app/views/admin/budget_investments/edit.html.erb
index 8b94f5cac..ef6540c9e 100644
--- a/app/views/admin/budget_investments/edit.html.erb
+++ b/app/views/admin/budget_investments/edit.html.erb
@@ -2,132 +2,134 @@
<%= t("shared.back") %>
<% end %>
-<%= render "admin/shared/globalize_locales", resource: @investment %>
+<%= render "shared/globalize_locales", resource: @investment %>
-<%= translatable_form_for @investment,
- url: admin_budget_budget_investment_path(@budget, @investment) do |f| %>
+
+ <%= translatable_form_for @investment,
+ url: admin_budget_budget_investment_path(@budget, @investment) do |f| %>
- <%= render "shared/errors", resource: @investment %>
+ <%= render "shared/errors", resource: @investment %>
- <% Budget::Investment.filter_params(params).to_h.each do |filter_name, filter_value| %>
- <%= hidden_field_tag filter_name, filter_value %>
- <% end %>
-
-
- <%= f.translatable_fields do |translations_form| %>
-
- <%= translations_form.text_field :title,
- maxlength: Budget::Investment.title_max_length %>
-
-
-
- <%= translations_form.cktext_area :description,
- maxlength: Budget::Investment.description_max_length,
- ckeditor: { language: I18n.locale } %>
-
+ <% Budget::Investment.filter_params(params).to_h.each do |filter_name, filter_value| %>
+ <%= hidden_field_tag filter_name, filter_value %>
<% end %>
-
- <%= f.label :tag_list, t("admin.budget_investments.edit.user_tags") %>
- <%= f.text_field :tag_list,
- value: @investment.tag_list.sort.join(","),
- label: false %>
-
+
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title,
+ maxlength: Budget::Investment.title_max_length %>
+
-
-
- <%= f.text_field :external_url %>
+
+ <%= translations_form.cktext_area :description,
+ maxlength: Budget::Investment.description_max_length,
+ ckeditor: { language: I18n.locale } %>
+
+ <% end %>
+
+
+ <%= f.label :tag_list, t("admin.budget_investments.edit.user_tags") %>
+ <%= f.text_field :tag_list,
+ value: @investment.tag_list.sort.join(","),
+ label: false %>
-
- <%= f.select :heading_id, budget_heading_select_options(@budget), include_blank: t("admin.budget_investments.edit.select_heading") %>
-
-
-
+
+
+ <%= f.text_field :external_url %>
+
-
-
-
-
<%= t("admin.budget_investments.edit.classification") %>
-
-
- <%= f.select(:administrator_id,
- @admins.collect{ |a| [a.description_or_name_and_email, a.id ] },
- { include_blank: t("admin.budget_investments.edit.undefined") }) %>
+
+ <%= f.select :heading_id, budget_heading_select_options(@budget), include_blank: t("admin.budget_investments.edit.select_heading") %>
+
-
- <%= f.label :valuation_tag_list, t("admin.budget_investments.edit.tags") %>
-
-
-
- <% if @investment.incompatible? || @investment.winner? %>
-
-
<%= t("admin.budget_investments.edit.compatibility") %>
- <%= f.label :incompatible do %>
- <%= f.check_box :incompatible, title: t("admin.budget_investments.edit.compatibility"), label: false %>
- <%= t("admin.budget_investments.edit.mark_as_incompatible") %>
- <% end %>
-
- <% end %>
-
-
<%= t("admin.budget_investments.edit.selection") %>
- <%= f.label :selected do %>
- <%= f.check_box :selected, title: t("admin.budget_investments.edit.selection"), label: false %>
- <%= t("admin.budget_investments.edit.mark_as_selected") %>
- <% end %>
-
-
-
-
- <%= f.text_field :milestone_tag_list,
- value: @investment.milestone_tag_list.sort.join(", "),
- label: t("admin.budget_investments.edit.milestone_tags") %>
-
-
-
-
- <%= f.submit(class: "button", value: t("admin.budget_investments.edit.submit_button")) %>
-
-<% end %>
+ <% end %>
+
diff --git a/app/views/admin/budget_phases/_form.html.erb b/app/views/admin/budget_phases/_form.html.erb
index 05b4139be..4bb746219 100644
--- a/app/views/admin/budget_phases/_form.html.erb
+++ b/app/views/admin/budget_phases/_form.html.erb
@@ -1,65 +1,74 @@
-<%= render "admin/shared/globalize_locales", resource: @phase %>
+<%= render "shared/globalize_locales", resource: @phase %>
<%= translatable_form_for [:admin, @phase.budget, @phase] do |f| %>
<%= render "shared/errors", resource: @phase %>
-
- <%= f.label :starts_at, t("admin.budget_phases.edit.start_date") %>
- <%= f.text_field :starts_at,
- value: format_date_for_calendar_form(@phase.starts_at),
- class: "js-calendar-full",
- id: "start_date",
- label: false %>
-
-
- <%= f.label :ends_at, t("admin.budget_phases.edit.end_date") %>
- <%= f.text_field :ends_at,
- value: format_date_for_calendar_form(@phase.ends_at),
- class: "js-calendar-full",
- id: "end_date",
- label: false %>
+
+
+ <%= f.label :starts_at, t("admin.budget_phases.edit.start_date") %>
+ <%= f.text_field :starts_at,
+ value: format_date_for_calendar_form(@phase.starts_at),
+ class: "js-calendar-full",
+ id: "start_date",
+ label: false %>
+
+
+ <%= f.label :ends_at, t("admin.budget_phases.edit.end_date") %>
+ <%= f.text_field :ends_at,
+ value: format_date_for_calendar_form(@phase.ends_at),
+ class: "js-calendar-full",
+ id: "end_date",
+ label: false %>
+
-
+
<%= f.translatable_fields do |translations_form| %>
+
+ <%= f.label :description, t("admin.budget_phases.edit.description") %>
- <%= f.label :description, t("admin.budget_phases.edit.description") %>
+
+ <%= t("admin.budget_phases.edit.description_help_text") %>
+
-
- <%= t("admin.budget_phases.edit.description_help_text") %>
-
-
-
- <%= translations_form.cktext_area :description,
- maxlength: Budget::Phase::DESCRIPTION_MAX_LENGTH,
- label: false %>
+
+ <%= translations_form.cktext_area :description,
+ maxlength: Budget::Phase::DESCRIPTION_MAX_LENGTH,
+ label: false %>
+
- <%= f.label :summary, t("admin.budget_phases.edit.summary") %>
+
+ <%= f.label :summary, t("admin.budget_phases.edit.summary") %>
-
- <%= t("admin.budget_phases.edit.summary_help_text") %>
-
+
+ <%= t("admin.budget_phases.edit.summary_help_text") %>
+
-
- <%= translations_form.cktext_area :summary,
- maxlength: Budget::Phase::SUMMARY_MAX_LENGTH,
- label: false%>
+
+ <%= translations_form.cktext_area :summary,
+ maxlength: Budget::Phase::SUMMARY_MAX_LENGTH,
+ label: false %>
+
<% end %>
-
- <%= f.check_box :enabled, label: t("admin.budget_phases.edit.enabled") %>
+
+
+ <%= f.check_box :enabled, label: t("admin.budget_phases.edit.enabled") %>
-
- <%= t("admin.budget_phases.edit.enabled_help_text") %>
-
+
+ <%= t("admin.budget_phases.edit.enabled_help_text") %>
+
+
-
- <%= f.submit t("admin.budget_phases.edit.save_changes"), class: "button success expanded" %>
+
+
+ <%= f.submit t("admin.budget_phases.edit.save_changes"), class: "button success expanded" %>
+
<% end %>
diff --git a/app/views/admin/budget_phases/edit.html.erb b/app/views/admin/budget_phases/edit.html.erb
index 7161abc88..9cf9a6745 100644
--- a/app/views/admin/budget_phases/edit.html.erb
+++ b/app/views/admin/budget_phases/edit.html.erb
@@ -1,7 +1,9 @@
<%= back_link_to edit_admin_budget_path(@phase.budget) %>
-
-
<%= t("admin.budgets.edit.title") %> - <%= t("budgets.phase.#{@phase.kind}") %>
+
+
+
<%= t("admin.budgets.edit.title") %> - <%= t("budgets.phase.#{@phase.kind}") %>
+
<%= render "/admin/budget_phases/form" %>
diff --git a/app/views/admin/budgets/_form.html.erb b/app/views/admin/budgets/_form.html.erb
index b552821e1..e8337e551 100644
--- a/app/views/admin/budgets/_form.html.erb
+++ b/app/views/admin/budgets/_form.html.erb
@@ -1,4 +1,4 @@
-<%= render "admin/shared/globalize_locales", resource: @budget %>
+<%= render "shared/globalize_locales", resource: @budget %>
<%= translatable_form_for [:admin, @budget] do |f| %>
@@ -6,16 +6,18 @@
<%= render "shared/errors", resource: @budget %>
-
+
<%= f.translatable_fields do |translations_form| %>
- <%= translations_form.text_field :name,
- label: t("activerecord.attributes.budget.name"),
- maxlength: Budget.title_max_length,
- placeholder: t("activerecord.attributes.budget.name") %>
+
+ <%= translations_form.text_field :name,
+ label: t("activerecord.attributes.budget.name"),
+ maxlength: Budget.title_max_length,
+ placeholder: t("activerecord.attributes.budget.name") %>
+
<% end %>
-
+
<%= f.select :phase, budget_phases_select_options %>
@@ -58,76 +60,80 @@
<% if @budget.phases.present? %>
-
-
-
-
- | <%= t("admin.budgets.edit.phase") %> |
- <%= t("admin.budgets.edit.dates") %> |
- <%= t("admin.budgets.edit.enabled") %> |
- <%= t("admin.budgets.edit.actions") %> |
-
-
+
+
+
+
+
+ | <%= t("admin.budgets.edit.phase") %> |
+ <%= t("admin.budgets.edit.dates") %> |
+ <%= t("admin.budgets.edit.enabled") %> |
+ <%= t("admin.budgets.edit.actions") %> |
+
+
- <% @budget.phases.order(:id).each do |phase| %>
-
- |
- <%= t("budgets.phase.#{phase.kind}") %>
- <% if @budget.current_phase == phase %>
- <%= t("admin.budgets.edit.active") %>
- <% end %>
- |
-
- <% if phase.starts_at.present? || phase.ends_at.present? %>
- <%= l(phase.starts_at.to_date) if phase.starts_at.present? %>
- -
- <%= l(phase.ends_at.to_date) if phase.ends_at.present? %>
- <% else %>
- <%= t("admin.budgets.edit.blank_dates") %>
- <% end %>
- |
-
- ">
- |
-
- <%= link_to t("admin.budgets.edit.edit_phase"),
- edit_admin_budget_budget_phase_path(@budget, phase),
- method: :get, class: "button hollow expanded" %>
- |
-
- <% end %>
-
+ <% @budget.phases.order(:id).each do |phase| %>
+
+ |
+ <%= t("budgets.phase.#{phase.kind}") %>
+ <% if @budget.current_phase == phase %>
+ <%= t("admin.budgets.edit.active") %>
+ <% end %>
+ |
+
+ <% if phase.starts_at.present? || phase.ends_at.present? %>
+ <%= l(phase.starts_at.to_date) if phase.starts_at.present? %>
+ -
+ <%= l(phase.ends_at.to_date) if phase.ends_at.present? %>
+ <% else %>
+ <%= t("admin.budgets.edit.blank_dates") %>
+ <% end %>
+ |
+
+ ">
+ |
+
+ <%= link_to t("admin.budgets.edit.edit_phase"),
+ edit_admin_budget_budget_phase_path(@budget, phase),
+ method: :get, class: "button hollow expanded" %>
+ |
+
+ <% end %>
+
+
<% end %>
-
- <%= render "admin/shared/show_results_fields", form: f %>
-
-
-
-
- <%= f.submit nil, class: "button success" %>
+
+
+ <%= render "admin/shared/show_results_fields", form: f %>
-
- <% if display_calculate_winners_button?(@budget) %>
- <%= link_to calculate_winner_button_text(@budget),
- calculate_winners_admin_budget_path(@budget),
- method: :put,
- class: "button hollow" %>
- <% end %>
+
+
+ <%= f.submit nil, class: "button success" %>
+
- <% if @budget.has_winning_investments? %>
- <%= link_to t("budgets.show.see_results"),
- budget_results_path(@budget),
- class: "button hollow margin-left" %>
- <% end %>
- <% if @budget.persisted? %>
- <%= link_to t("admin.budgets.edit.delete"),
- admin_budget_path(@budget),
- method: :delete,
- class: "delete float-right margin-left" %>
- <% end %>
+
+ <% if display_calculate_winners_button?(@budget) %>
+ <%= link_to calculate_winner_button_text(@budget),
+ calculate_winners_admin_budget_path(@budget),
+ method: :put,
+ class: "button hollow" %>
+ <% end %>
+
+ <% if @budget.has_winning_investments? %>
+ <%= link_to t("budgets.show.see_results"),
+ budget_results_path(@budget),
+ class: "button hollow margin-left" %>
+ <% end %>
+ <% if @budget.persisted? %>
+ <%= link_to t("admin.budgets.edit.delete"),
+ admin_budget_path(@budget),
+ method: :delete,
+ class: "delete float-right margin-left" %>
+ <% end %>
+
<% end %>
diff --git a/app/views/admin/budgets/edit.html.erb b/app/views/admin/budgets/edit.html.erb
index 508279796..2ccbba53a 100644
--- a/app/views/admin/budgets/edit.html.erb
+++ b/app/views/admin/budgets/edit.html.erb
@@ -1,7 +1,9 @@
<%= back_link_to admin_budgets_path %>
-
-
<%= t("admin.budgets.edit.title") %>
+
+
+
<%= t("admin.budgets.edit.title") %>
+
<%= render "/admin/budgets/form" %>
diff --git a/app/views/admin/budgets/new.html.erb b/app/views/admin/budgets/new.html.erb
index aca444559..a9d08340c 100644
--- a/app/views/admin/budgets/new.html.erb
+++ b/app/views/admin/budgets/new.html.erb
@@ -1,5 +1,3 @@
-
-
<%= t("admin.budgets.new.title") %>
-
+
<%= t("admin.budgets.new.title") %>
<%= render "/admin/budgets/form" %>
diff --git a/app/views/admin/legislation/draft_versions/_form.html.erb b/app/views/admin/legislation/draft_versions/_form.html.erb
index 754b420ca..3ef7247b4 100644
--- a/app/views/admin/legislation/draft_versions/_form.html.erb
+++ b/app/views/admin/legislation/draft_versions/_form.html.erb
@@ -1,4 +1,4 @@
-<%= render "admin/shared/globalize_locales", resource: @draft_version %>
+<%= render "shared/globalize_locales", resource: @draft_version %>
<%= translatable_form_for [:admin, @process, @draft_version], url: url, html: {data: {watch_changes: true}} do |f| %>
@@ -15,73 +15,77 @@
<% end %>
- <%= f.translatable_fields do |translations_form| %>
-
- <%= translations_form.text_field :title,
- placeholder: t("admin.legislation.draft_versions.form.title_placeholder") %>
-
+
+ <%= f.translatable_fields do |translations_form| %>
+
+ <%= translations_form.text_field :title,
+ placeholder: t("admin.legislation.draft_versions.form.title_placeholder") %>
+
-
- <%= translations_form.text_area :changelog,
- hint: t("admin.legislation.draft_versions.form.use_markdown"),
- rows: 5,
- placeholder: t("admin.legislation.draft_versions.form.changelog_placeholder") %>
-
+
+ <%= translations_form.text_area :changelog,
+ hint: t("admin.legislation.draft_versions.form.use_markdown"),
+ rows: 5,
+ placeholder: t("admin.legislation.draft_versions.form.changelog_placeholder") %>
+
-
- <%= translations_form.label :body, nil, hint: t("admin.legislation.draft_versions.form.use_markdown") %>
-
+
+ <%= translations_form.label :body, nil, hint: t("admin.legislation.draft_versions.form.use_markdown") %>
+
-