diff options
| -rw-r--r-- | app/models/clean_up.rb | 15 | ||||
| -rw-r--r-- | app/models/clean_up_result.rb | 6 | ||||
| -rw-r--r-- | app/views/lines/_line.erb | 11 | ||||
| -rw-r--r-- | app/views/lines/index.html.erb | 18 | ||||
| -rw-r--r-- | config/locales/clean_ups.yml | 4 | ||||
| -rw-r--r-- | config/locales/lines.yml | 6 |
6 files changed, 56 insertions, 4 deletions
diff --git a/app/models/clean_up.rb b/app/models/clean_up.rb index 5b3d346ff..a6d26d882 100644 --- a/app/models/clean_up.rb +++ b/app/models/clean_up.rb @@ -4,7 +4,8 @@ class CleanUp extend ActiveModel::Naming - attr_accessor :expected_date, :keep_lines, :keep_stops , :keep_companies, :keep_networks + attr_accessor :expected_date, :keep_lines, :keep_stops , :keep_companies + attr_accessor :keep_networks, :keep_group_of_lines validates_presence_of :expected_date @@ -21,7 +22,7 @@ class CleanUp def clean result = CleanUpResult.new # find and remove time_tables - tms = Chouette::TimeTable.expired_on(Date.parse(expected_date)) + tms = Chouette::TimeTable.validity_out_from_on?(Date.parse(expected_date)) result.time_table_count = tms.size tms.each do |tm| tm.destroy @@ -108,6 +109,16 @@ class CleanUp end end end + + # if asked remove group_of_lines without lines + if keep_group_of_lines == "0" + Chouette::GroupOfLine.find_each do |n| + if n.lines.size == 0 + result.group_of_line_count += 1 + n.destroy + end + end + end result end diff --git a/app/models/clean_up_result.rb b/app/models/clean_up_result.rb index 9151decaf..92f326c0f 100644 --- a/app/models/clean_up_result.rb +++ b/app/models/clean_up_result.rb @@ -3,7 +3,7 @@ class CleanUpResult extend ActiveModel::Naming attr_accessor :time_table_count,:vehicle_journey_count,:journey_pattern_count,:route_count,:line_count - attr_accessor :stop_count,:company_count,:network_count + attr_accessor :stop_count,:company_count,:network_count,:group_of_line_count def initialize() self.time_table_count = 0 @@ -14,6 +14,7 @@ class CleanUpResult self.stop_count = 0 self.company_count = 0 self.network_count = 0 + self.group_of_line_count = 0 end def persisted? @@ -41,6 +42,9 @@ class CleanUpResult if (network_count > 0) a << I18n.t('clean_ups.success_n', :count => network_count.to_s) end + if (group_of_line_count > 0) + a << I18n.t('clean_ups.success_g', :count => group_of_line_count.to_s) + end if (stop_count > 0) a << I18n.t('clean_ups.success_sa', :count => stop_count.to_s) end diff --git a/app/views/lines/_line.erb b/app/views/lines/_line.erb index 444d5808f..88e222686 100644 --- a/app/views/lines/_line.erb +++ b/app/views/lines/_line.erb @@ -21,10 +21,19 @@ <% else %> <%= line.human_attribute_name('company') %> <%= link_to_if( line.company, line.company.name, referential_company_path(@referential, line.company), :title => "#{line.human_attribute_name('company')} #{line.company.name}" ) %> <% end %> + <br/> + <% if line.group_of_lines.count == 0 %> + <%= t('lines.form.no_group_of_line') %> + <% elsif line.group_of_lines.count == 1 %> + <%= line.human_attribute_name('group_of_line') %> + <%= link_to_if( line.group_of_lines.first, line.group_of_lines.first.name, referential_group_of_line_path(@referential, line.group_of_lines.first), :title => "#{line.human_attribute_name('group_of_line')} #{line.group_of_lines.first.name}") %> + <% else %> + <%= t('lines.form.several_group_of_lines', :count => line.group_of_lines.count) %> + <% end %> <% if @group_of_line.nil? %> <div class="actions"> <%= link_to t("actions.edit"), edit_referential_line_path(@referential, line), :class => "edit" %> | - <%= link_to t("actions.destroy"), referential_line_path(@referential, line), :method => :delete, :confirm => t('lines.actions.destroy_confirm'), :class => "remove" %> + <%= link_to t("actions.destroy"), referential_line_path(@referential, line), :method => :delete, :data => {:confirm => t('lines.actions.destroy_confirm')}, :class => "remove" %> </div> <% end %> </div> diff --git a/app/views/lines/index.html.erb b/app/views/lines/index.html.erb index 665411b1b..ff14e8749 100644 --- a/app/views/lines/index.html.erb +++ b/app/views/lines/index.html.erb @@ -6,6 +6,7 @@ <%= f.hidden_field :company_id_eq %> <%= f.hidden_field :network_id_eq %> + <%= f.hidden_field :group_of_lines_id_eq %> <%= f.submit t('actions.search') %> <%= t("or") %> <%= link_to t("cancel"), referential_lines_path(@referential) %> @@ -23,6 +24,12 @@ </p> <% end %> +<% if @q.group_of_lines_id_eq.present? %> +<p> + <%= Chouette::Line.human_attribute_name('group_of_line') %> : <%= @referential.group_of_lines.find(@q.group_of_lines_id_eq).name %> +</p> +<% end %> + <div class="page_info"> <span class="search"> <%= t("will_paginate.page_entries_info.search") %></span> <%= page_entries_info @lines %> </div> @@ -62,6 +69,17 @@ <li><%= link_with_search t(".selection_all"), {"network_id_eq" => nil}, :class => "all" %></li> </ul> +<% if @referential.group_of_lines.count > 0 %> + <h4><%= Chouette::GroupOfLine.model_name.human.pluralize %></h4> + + <ul class="selection"> + <% @referential.group_of_lines.each do |group_of_line| %> + <li><%= link_with_search group_of_line.name, "group_of_lines_id_eq" => group_of_line.id %></li> + <% end %> + <li><%= link_with_search t(".selection_all"), {"group_of_lines_id_eq" => nil}, :class => "all" %></li> + </ul> +<% end %> + <div id="multiple_selection_menu"> <h3><%= t(".multi_selection") %> </h3> <div class="disabled"> diff --git a/config/locales/clean_ups.yml b/config/locales/clean_ups.yml index 8ac843f49..1bb16d2ae 100644 --- a/config/locales/clean_ups.yml +++ b/config/locales/clean_ups.yml @@ -8,6 +8,7 @@ en: success_sa: "%{count} stop areas deleted" success_c: "%{count} companies deleted" success_n: "%{count} networks deleted" + success_g: "%{count} groups of lines deleted" failure: "Fail when clean_up" actions: clean_up: "clean up" @@ -20,6 +21,7 @@ en: keep_stops: keep stop areas keep_companies: keep companies keep_networks: keep networks + keep_group_of_lines: keep groups of lines formtastic: hints: clean_up: @@ -34,6 +36,7 @@ fr: success_sa: "%{count} arrêt(s) supprimé(s)" success_c: "%{count} transporteur(s) supprimé(s)" success_n: "%{count} réseau(x) supprimé(s)" + success_g: "%{count} groupe(s) de lignes supprimé(s)" failure: "Echec de la purge " actions: clean_up: "Purger" @@ -46,6 +49,7 @@ fr: keep_stops: conserver les arrêts keep_companies: conserver les transporteurs keep_networks: conserver les réseaux + keep_group_of_lines: conserver les groupes de lignes formtastic: hints: clean_up: diff --git a/config/locales/lines.yml b/config/locales/lines.yml index d46f30330..9670e88a2 100644 --- a/config/locales/lines.yml +++ b/config/locales/lines.yml @@ -29,6 +29,8 @@ en: unset: undefined form: group_of_lines: Associated groups of lines + no_group_of_line: No group of line + several_group_of_lines: "%{count} groups of lines" activerecord: models: line: @@ -44,6 +46,7 @@ en: published_name: Published name number: Number transport_mode: Transport mode + group_of_line: Group of lines comment: Comments objectid: Neptune identifier object_version: Version @@ -86,6 +89,8 @@ fr: unset: non défini form: group_of_lines: Groupes de lignes associés + no_group_of_line: Aucun groupe de lignes + several_group_of_lines: "%{count} groupes of lignes" activerecord: models: line: @@ -101,6 +106,7 @@ fr: published_name: Nom public number: Indice transport_mode: Mode de transport + group_of_line: Groupe de lignes comment: Commentaire objectid: Identifiant Neptune object_version: Version |
