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 | 
