aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Gemfile.lock2
-rw-r--r--app/assets/stylesheets/connection_links.css.scss14
-rw-r--r--app/assets/stylesheets/layout.css.scss4
-rw-r--r--app/controllers/connection_link_areas_controller.rb21
-rw-r--r--app/controllers/connection_links_controller.rb11
-rw-r--r--app/views/connection_links/select_areas.html.erb40
-rw-r--r--app/views/connection_links/show.html.erb7
-rw-r--r--app/views/help/index.textile4
-rw-r--r--app/views/help/stop_areas.textile17
-rw-r--r--config/locales/connection_links.yml22
-rw-r--r--config/routes.rb11
11 files changed, 143 insertions, 10 deletions
diff --git a/Gemfile.lock b/Gemfile.lock
index 7a355d4ea..5a369b338 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -1,6 +1,6 @@
GIT
remote: git://chouette.dryade.priv/ninoxe
- revision: 341789ef66979138d36469284339e3076cb5fe87
+ revision: 2ac65f975c031bc6c1d69b6e9f2965c0484f2279
specs:
ninoxe (0.0.8)
GeoRuby
diff --git a/app/assets/stylesheets/connection_links.css.scss b/app/assets/stylesheets/connection_links.css.scss
index e3aedc918..e50145022 100644
--- a/app/assets/stylesheets/connection_links.css.scss
+++ b/app/assets/stylesheets/connection_links.css.scss
@@ -36,5 +36,19 @@
}
}
+#workspace.connection_links.select_departure
+{
+ .token-input-list{
+ display: inline-block;
+ }
+}
+
+#workspace.connection_links.select_arrival
+{
+ .token-input-list{
+ display: inline-block;
+ }
+}
+
diff --git a/app/assets/stylesheets/layout.css.scss b/app/assets/stylesheets/layout.css.scss
index 21640e266..80506e78a 100644
--- a/app/assets/stylesheets/layout.css.scss
+++ b/app/assets/stylesheets/layout.css.scss
@@ -44,4 +44,8 @@ $text_color: #222;
a.select_parent {
background: url(image-path('icons/select_parent.png')) no-repeat;
}
+
+ a.select_areas {
+ background: url(image-path('icons/select_parent.png')) no-repeat;
+ }
} \ No newline at end of file
diff --git a/app/controllers/connection_link_areas_controller.rb b/app/controllers/connection_link_areas_controller.rb
new file mode 100644
index 000000000..40f029801
--- /dev/null
+++ b/app/controllers/connection_link_areas_controller.rb
@@ -0,0 +1,21 @@
+class ConnectionLinkAreasController < ChouetteController
+
+ respond_to :json, :only => :index
+
+ def index
+ respond_to do |format|
+ format.json { render :json => areas_maps }
+ end
+ end
+
+ def areas_maps
+ areas.collect do |area|
+ { :id => area.id.to_s, :name => "#{area.name} #{area.country_code}" }
+ end
+ end
+
+ def areas
+ referential.connection_links.find(params[:connection_link_id]).possible_areas.select{ |p| p.name =~ /#{params[:q]}/i }
+ end
+
+end
diff --git a/app/controllers/connection_links_controller.rb b/app/controllers/connection_links_controller.rb
index 327fb7989..8790426f7 100644
--- a/app/controllers/connection_links_controller.rb
+++ b/app/controllers/connection_links_controller.rb
@@ -2,14 +2,21 @@ class ConnectionLinksController < ChouetteController
defaults :resource_class => Chouette::ConnectionLink
belongs_to :referential do
- #belongs_to :departure, :parent_class => Chouette::StopArea, :optional => false
- #belongs_to :arrival, :parent_class => Chouette::StopArea, :optional => false
+ belongs_to :departure, :parent_class => Chouette::StopArea, :optional => true
+ belongs_to :arrival, :parent_class => Chouette::StopArea, :optional => true
end
respond_to :html, :xml, :json
+ def select_areas
+ @connection_link = connection_link
+ @departure = connection_link.departure
+ @arrival = connection_link.arrival
+ end
protected
+
+ alias_method :connection_link, :resource
def collection
@q = referential.connection_links.search(params[:q])
diff --git a/app/views/connection_links/select_areas.html.erb b/app/views/connection_links/select_areas.html.erb
new file mode 100644
index 000000000..49e1ec623
--- /dev/null
+++ b/app/views/connection_links/select_areas.html.erb
@@ -0,0 +1,40 @@
+<%= title_tag t('connection_links.select_areas.title', :connection_link => @connection_link.name ) %>
+
+<%= semantic_form_for [@referential, @connection_link] do |form| %>
+<div>
+ <%= form.inputs do %>
+ <%= form.input :departure_id, :as => :text, :input_html => { :"data-pre" => ( @departure.present? ? [ { :id => @departure.id.to_s, :name => "#{@departure.name} #{@departure.country_code}" } ]: [] ).to_json } %>
+ <%= form.input :arrival_id, :as => :text, :input_html => { :"data-pre" => ( @arrival.present? ? [ { :id => @arrival.id.to_s, :name => "#{@arrival.name} #{@arrival.country_code}" } ]: [] ).to_json } %>
+ <% end %>
+
+ <%= form.buttons do %>
+ <%= form.commit_button %>
+ ou <%= link_to "revenir", [@referential, @connection_link] %>
+ <% end %>
+</div>
+<% end %>
+
+<script>
+ $(function() {
+ $( "#connection_link_departure_id" ).tokenInput('<%= referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json) %>', {
+ crossDomain: false,
+ prePopulate: $('#connection_link_departure_id').data('pre'),
+ tokenLimit: 1,
+ minChars: 3,
+ });
+ });
+
+ $(function() {
+ $( "#connection_link_arrival_id" ).tokenInput('<%= referential_connection_link_connection_link_areas_path(@referential, @connection_link, :format => :json) %>', {
+ crossDomain: false,
+ prePopulate: $('#connection_link_arrival_id').data('pre'),
+ tokenLimit: 1,
+ minChars: 3,
+ });
+ });
+</script>
+
+<% content_for :sidebar do %>
+<ul class="actions">
+</ul>
+<% end %>
diff --git a/app/views/connection_links/show.html.erb b/app/views/connection_links/show.html.erb
index 69aad91ea..c81159191 100644
--- a/app/views/connection_links/show.html.erb
+++ b/app/views/connection_links/show.html.erb
@@ -49,7 +49,12 @@
<% content_for :sidebar do %>
<ul class="actions">
<li><%= link_to t('connection_links.actions.edit'), edit_referential_connection_link_path(@referential, @connection_link), :class => "edit" %></li>
- <li><%= link_to t('connection_links.actions.destroy'), referential_connection_link_path(@referential, @connection_link), :method => :delete, :confirm => t('connection_links.actions.destroy_confirm'), :class => "remove" %></li>
+ <li><%= link_to t('connection_links.actions.destroy'), referential_connection_link_path(@referential, @connection_link), :method => :delete, :confirm => t('connection_links.actions.destroy_confirm'), :class => "remove" %></li>
+<!--
+ <li><%= link_to t('connection_links.actions.select_departure'), select_departure_referential_connection_link_path(@referential, @connection_link), :class => "select_departure" %></li>
+ <li><%= link_to t('connection_links.actions.select_arrival'), select_arrival_referential_connection_link_path(@referential, @connection_link), :class => "select_arrival" %></li>
+-->
+ <li><%= link_to t('connection_links.actions.select_areas'), select_areas_referential_connection_link_path(@referential, @connection_link), :class => "select_areas" %></li>
<br>
</ul>
<% end %>
diff --git a/app/views/help/index.textile b/app/views/help/index.textile
index a5e488cca..4d30f2e46 100644
--- a/app/views/help/index.textile
+++ b/app/views/help/index.textile
@@ -26,6 +26,8 @@ les action suivantes ne sont pas encore disponible :
* afficher le fond G&eacute;oportail
* ajouter ou supprimer des dates et des p&eacute;riodes aux calendriers
-* associer des arr&ecirc;ts à une s&eacute;quences d'arr&ecirc;ts
+* associer des arr&ecirc;ts &agrave; une s&eacute;quences d'arr&ecirc;ts
+* ajouter des fils &agrave; un arr&ecirc;t
* associer une ITL &agrave; une ligne
+* affichage de la carte des arr&ecirc;ts d'une correspondance
diff --git a/app/views/help/stop_areas.textile b/app/views/help/stop_areas.textile
index 94b73c574..3fff6c6e3 100644
--- a/app/views/help/stop_areas.textile
+++ b/app/views/help/stop_areas.textile
@@ -3,7 +3,11 @@ layout: default
title: Arrêts
---
-h3. D&eacute;finition
+* "D&eacute;finition":#def
+* "Attributs":#attr
+* "Mode op&eacute;ratoire":#ope
+
+h3(#def). D&eacute;finition
Le r&eacute;f&eacute;rentiel des arr&ecirc;ts constitue un maillon essentiel du r&eacute;seau, et se compose de plusieurs &eacute;l&eacute;ments de niveaux diff&eacute;rents.
@@ -33,7 +37,7 @@ Ainsi dans CHOUETTE:
* Une ITL est un regroupement d'arr&ecirc;ts repr&eacute;sentant le p&eacute;rim&egrave;tre d'interdiction.
* Une ITL est associ&eacute;e &agrave; une ou plusieurs lignes
-h3. Attributs
+h3(#attr). Attributs
- Type d'arr&ecirc;t := cat&eacute;gorie de l'arr&ecirc;t
@@ -74,7 +78,12 @@ il est possible aussi de ne renseigner que l'identifiant technique auquel cas la
- Version := version de l'objet (auto incr&eacute;ment&eacute; &agrave; chaque modification)
- Cr&eacute;&eacute; par := compte utilisateur ayant proc&eacute;d&eacute; &agrave; la derni&egrave;re modification
-h3. Impl&eacute;mentation
+h3(#ope). Mode op&eacute;ratoire
+
+h4. D&eacute;placement sur la carte
-p. TODO
+* activer le d&eacute;placement en cliquant sur l'arr&ecirc;t -> le curseur prend la forme d'une quadruple fl&ecirc;che
+* appuyer sur le bouton gauche de la souris et maintenir appuyer lors du d&eacute;placement -> l'arr&ecirc;t suit la souris
+* relacher le bouton -> l'arr&ecirc;t a une nouvelle position fixe
+* cliquer sur la carte -> sortie du mode d&eacute;placement; les coordonn&eacute;es sont actualis&eacute;es dans le formulaire
diff --git a/config/locales/connection_links.yml b/config/locales/connection_links.yml
index 15463e47c..387a205be 100644
--- a/config/locales/connection_links.yml
+++ b/config/locales/connection_links.yml
@@ -5,6 +5,9 @@ en:
edit: Edit this connection link
destroy: Remove this liconnection linkne
destroy_confirm: Are you sure you want destroy this connection link?
+ select_departure: Select start of link
+ select_arrival: Select end of link
+ select_areas: "Select stop areas"
new:
title: Add a new connection link
edit:
@@ -18,6 +21,12 @@ en:
arrival: End of link
selection: Selection
selection_all: All
+ select_departure:
+ title: Select start stop area for %{connection_link}
+ select_arrival:
+ title: Select end stop area for %{connection_link}
+ select_areas:
+ title: "Select start and end stops for %{connection_link}"
activerecord:
models:
connection_link: Connection link
@@ -25,6 +34,8 @@ en:
connection_link:
departure: Start of link
arrival: End of link
+ departure_id: Start of link
+ arrival_id: End of link
undefined: not yet set
name: Name
comment: Comment
@@ -53,6 +64,9 @@ fr:
edit: Modifier cette correspondance
destroy: Supprimer cette correspondance
destroy_confirm: Etes vous sûr de détruire cette correspondance ?
+ select_departure: "Sélectionner l'arrêt de départ"
+ select_arrival: "Sélectionner l'arrêt d'arrivée"
+ select_areas: "Sélectionner les arrêts"
new:
title: Ajouter une correspondance
edit:
@@ -66,6 +80,12 @@ fr:
arrival: "Arrêt d'arrivée"
selection: Sélection
selection_all: Tous
+ select_departure:
+ title: "Sélection de l'arrêt de départ de %{connection_link}"
+ select_arrival:
+ title: "Sélection de l'arrêt d'arrivée de %{connection_link}"
+ select_areas:
+ title: "Sélection des arrêts de départ et d'arrivée de %{connection_link}"
activerecord:
models:
connection_link: Correspondance
@@ -73,6 +93,8 @@ fr:
connection_link:
departure: Arrêt de départ
arrival: "Arrêt d'arrivée"
+ departure_id: Arrêt de départ
+ arrival_id: "Arrêt d'arrivée"
undefined: non défini
name: Nom
comment: Commentaire
diff --git a/config/routes.rb b/config/routes.rb
index 4e7bebfc2..eb7af8b9c 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -26,7 +26,7 @@ ChouetteIhm::Application.routes.draw do
resources :routes
end
- resources :companies, :stop_areas, :connection_links
+ resources :companies, :stop_areas
resources :time_tables do
resources :time_table_dates
@@ -41,6 +41,15 @@ ChouetteIhm::Application.routes.draw do
end
end
+ resources :connection_links do
+ resources :connection_link_areas
+ member do
+ get 'select_departure'
+ get 'select_arrival'
+ get 'select_areas'
+ end
+ end
+
end
match '/help/(*slug)' => 'help#show'