diff options
| -rw-r--r-- | app/controllers/breadcrumb_controller.rb | 41 | ||||
| -rw-r--r-- | app/controllers/chouette_controller.rb | 2 | ||||
| -rw-r--r-- | app/controllers/organisations_controller.rb | 4 | ||||
| -rw-r--r-- | app/controllers/referentials_controller.rb | 7 | ||||
| -rw-r--r-- | app/controllers/users_controller.rb | 4 | ||||
| -rw-r--r-- | app/helpers/breadcrumb_helper.rb | 44 | ||||
| -rw-r--r-- | app/views/vehicle_journeys/_sidebar.html.erb | 10 | ||||
| -rw-r--r-- | config/locales/breadcrumbs.yml | 10 | ||||
| -rw-r--r-- | config/locales/vehicle_journeys.yml | 2 |
9 files changed, 89 insertions, 35 deletions
diff --git a/app/controllers/breadcrumb_controller.rb b/app/controllers/breadcrumb_controller.rb new file mode 100644 index 000000000..022636709 --- /dev/null +++ b/app/controllers/breadcrumb_controller.rb @@ -0,0 +1,41 @@ +class BreadcrumbController < InheritedResources::Base + + include BreadcrumbHelper + + def show + show! do + build_breadcrumb :show + end + end + + def index + index! do + build_breadcrumb :index + end + end + + def edit + edit! do + build_breadcrumb :edit + end + end + + def update + update! do |success, failure| + build_breadcrumb :edit + end + end + + def new + new! do + build_breadcrumb :show + end + end + + def create + create! do |success, failure| + build_breadcrumb :show + end + end + +end diff --git a/app/controllers/chouette_controller.rb b/app/controllers/chouette_controller.rb index 6e87a4bf6..4aeb2aa09 100644 --- a/app/controllers/chouette_controller.rb +++ b/app/controllers/chouette_controller.rb @@ -1,4 +1,4 @@ -class ChouetteController < InheritedResources::Base +class ChouetteController < BreadcrumbController include ApplicationHelper include BreadcrumbHelper diff --git a/app/controllers/organisations_controller.rb b/app/controllers/organisations_controller.rb index 7e2edb220..9faea18a5 100644 --- a/app/controllers/organisations_controller.rb +++ b/app/controllers/organisations_controller.rb @@ -1,4 +1,6 @@ -class OrganisationsController < InheritedResources::Base +class OrganisationsController < BreadcrumbController + + defaults :resource_class => Organisation respond_to :html def update diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb index de0b209ca..bf8a2f1ef 100644 --- a/app/controllers/referentials_controller.rb +++ b/app/controllers/referentials_controller.rb @@ -1,4 +1,7 @@ -class ReferentialsController < InheritedResources::Base +class ReferentialsController < BreadcrumbController + + defaults :resource_class => Referential + respond_to :html respond_to :json, :only => :show respond_to :js, :only => :show @@ -13,6 +16,8 @@ class ReferentialsController < InheritedResources::Base :time_tables_count => resource.time_tables.count, :referential_id => resource.id} } + format.html { build_breadcrumb :show} + end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index b57b9d54a..2b1c2bd14 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -1,4 +1,6 @@ -class UsersController < InheritedResources::Base +class UsersController < BreadcrumbController + + defaults :resource_class => User def create @user = current_organisation.users.build(params[:user]) diff --git a/app/helpers/breadcrumb_helper.rb b/app/helpers/breadcrumb_helper.rb index 718147ce7..3b1bcca95 100644 --- a/app/helpers/breadcrumb_helper.rb +++ b/app/helpers/breadcrumb_helper.rb @@ -36,30 +36,32 @@ module BreadcrumbHelper compliance_breadcrumb action when "RuleParameterSet" rule_parameter_breadcrumb action + when "User" + user_breadcrumb action else Rails.logger.info "---------" Rails.logger.info ">>>>>>> "+resource_class.to_s+" unmapped" Rails.logger.info "---------" - referential_breadcrumb + referential_breadcrumb action end end def network_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("networks"), referential_networks_path(@referential) unless action == :index + add_breadcrumb Chouette::Network.model_name.human(:count => 2), referential_networks_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@network), referential_line_path(@referential, @network),:title => breadcrumb_tooltip(@network) if action == :edit end def group_of_line_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("group_of_lines"), referential_group_of_lines_path(@referential) unless action == :index + add_breadcrumb Chouette::GroupOfLine.model_name.human(:count => 2), referential_group_of_lines_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@group_of_line), referential_group_of_line_path(@referential, @group_of_line),:title => breadcrumb_tooltip(@group_of_line) if action == :edit end def stop_area_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("stop_areas"), referential_stop_areas_path(@referential) unless action == :index + add_breadcrumb Chouette::StopArea.model_name.human(:count => 2), referential_stop_areas_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@stop_area), referential_stop_area_path(@referential, @stop_area),:title => breadcrumb_tooltip(@stop_area) if action == :edit end @@ -76,19 +78,19 @@ module BreadcrumbHelper def connection_link_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("connection_links"), referential_connection_links_path(@referential) unless action == :index + add_breadcrumb Chouette::ConnectionLink.model_name.human(:count => 2), referential_connection_links_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@connection_link), referential_connection_link_path(@referential, @connection_link),:title => breadcrumb_tooltip(@connection_link) if action == :edit end def time_table_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("time_tables"), referential_time_tables_path(@referential) unless action == :index + add_breadcrumb Chouette::TimeTable.model_name.human(:count => 2), referential_time_tables_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@time_table), referential_time_table_path(@referential, @time_table),:title => breadcrumb_tooltip(@time_table) if action == :edit end def line_breadcrumb(action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("lines"), referential_lines_path(@referential) unless action == :index + add_breadcrumb Chouette::Line.model_name.human(:count => 2), referential_lines_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@line), referential_line_path(@referential, @line),:title => breadcrumb_tooltip(@line) if action == :edit end @@ -103,13 +105,8 @@ module BreadcrumbHelper end def vehicle_journey_breadcrumb(action) - if action == :index - route_breadcrumb :edit - else - @journey_pattern = @vehicle_journey.journey_pattern - journey_pattern_breadcrumb :edit - add_breadcrumb Referential.human_attribute_name("vehicle_journeys"), referential_line_route_vehicle_journeys_path(@referential, @line,@route) - end + route_breadcrumb :edit + add_breadcrumb I18n.t("breadcrumbs.vehicle_journeys"), referential_line_route_vehicle_journeys_path(@referential, @line,@route) unless action == :index add_breadcrumb breadcrumb_label(@vehicle_journey), referential_line_route_vehicle_journey_path(@referential, @line,@route,@vehicle_journey),:title => breadcrumb_tooltip(@vehicle_journey) if action == :edit end @@ -119,7 +116,7 @@ module BreadcrumbHelper def company_breadcrumb (action) referential_breadcrumb - add_breadcrumb Referential.human_attribute_name("companies"), referential_companies_path(@referential) unless action == :index + add_breadcrumb Chouette::Company.model_name.human(:count => 2), referential_companies_path(@referential) unless action == :index add_breadcrumb breadcrumb_label(@company), referential_company_path(@referential, @company),:title => breadcrumb_tooltip(@company) if action == :edit end @@ -146,16 +143,21 @@ module BreadcrumbHelper add_breadcrumb Referential.human_attribute_name("rule_parameter_sets"), referential_rule_parameter_sets_path(@referential) unless action == :index end - def referential_breadcrumb - if @referential.present? - add_breadcrumb breadcrumb_label(@referential), referential_path(@referential),:title => breadcrumb_tooltip(@referential) - end + def referential_breadcrumb (action = :edit) + add_breadcrumb I18n.t("breadcrumbs.referentials"), referentials_path + add_breadcrumb breadcrumb_label(@referential), referential_path(@referential),:title => breadcrumb_tooltip(@referential) if action != :index && @referential.present? end + def user_breadcrumb (action) + referential_breadcrumb + add_breadcrumb I18n.t("breadcrumbs.users"), organisation_path unless action == :index + add_breadcrumb breadcrumb_label(@user), organisation_user_path(@user),:title => breadcrumb_tooltip(@user) unless action == :index + end + def breadcrumb_label(obj) label = breadcrumb_name(obj) if label.blank? - label = obj.id.to_s + label = obj.class.model_name.human+" "+obj.id.to_s end if label.length > 12 @@ -168,7 +170,7 @@ module BreadcrumbHelper def breadcrumb_tooltip(obj) label = breadcrumb_name(obj) if label.blank? - label = obj.class.model_name.human+"("+obj.id.to_s+")" + label = obj.class.model_name.human+" ("+obj.id.to_s+")" else label = obj.class.model_name.human+" : "+label end diff --git a/app/views/vehicle_journeys/_sidebar.html.erb b/app/views/vehicle_journeys/_sidebar.html.erb index cb3236c18..80f70d574 100644 --- a/app/views/vehicle_journeys/_sidebar.html.erb +++ b/app/views/vehicle_journeys/_sidebar.html.erb @@ -1,14 +1,6 @@ <ul class="actions"> <li><%= link_to t('vehicle_journeys.actions.new'), new_referential_line_route_vehicle_journey_path(@referential, @line, @route), :class => "add" %></li> <li><%= link_to t('vehicle_journey_imports.new.title'), new_referential_line_route_vehicle_journey_import_path( @referential, @line, @route ), :class => "import" %></li> + <li><%= link_to image_tag("icons/file_csv.png") + t('vehicle_journey_exports.new.title'), referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :zip), :class => "with_fa" %></li> </ul> - <div class="btn-group"> - <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> - <%= t('vehicle_journey_imports.new.export_vehicle_journeys') %><span class="caret"></span> - </button> - <ul class="dropdown-menu" role="menu"> - <li><%= link_to image_tag("icons/file_csv.png") + " Csv" , referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :csv) %></li> - <li><%= link_to image_tag("icons/file_excel.png") + " Excel", referential_line_route_vehicle_journey_exports_path(@referential, @line, @route, :format => :xls) %></li> - </ul> - </div> diff --git a/config/locales/breadcrumbs.yml b/config/locales/breadcrumbs.yml new file mode 100644 index 000000000..ccf97c414 --- /dev/null +++ b/config/locales/breadcrumbs.yml @@ -0,0 +1,10 @@ +en: + breadcrumbs: + vehicle_journeys: "Passing times" + referentials: "Home" + users: "Users" +fr: + breadcrumbs: + vehicle_journeys: "Horaires" + referentials: "Accueil" + users: "Utilisateurs" diff --git a/config/locales/vehicle_journeys.yml b/config/locales/vehicle_journeys.yml index d9768048a..8eec6657d 100644 --- a/config/locales/vehicle_journeys.yml +++ b/config/locales/vehicle_journeys.yml @@ -139,7 +139,7 @@ fr: bounding: "De %{start} à %{end}" translation_form: "Cloner la course" index: - title: "Courses de la séquence d'arrêts %{route}" + title: "Horaires de la séquence d'arrêts %{route}" vehicle_journeys: "Horaires de départ aux arrêts" selection: "Filtrer sur" selection_all: "Tous" |
