aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/clean_up.rb15
-rw-r--r--app/models/clean_up_result.rb6
-rw-r--r--app/views/lines/_line.erb11
-rw-r--r--app/views/lines/index.html.erb18
-rw-r--r--config/locales/clean_ups.yml4
-rw-r--r--config/locales/lines.yml6
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