From 86586dca5d7a8fb6678dc8f0623e6820ee023ac9 Mon Sep 17 00:00:00 2001 From: vlatka pavisic Date: Fri, 18 Nov 2016 17:51:53 +0100 Subject: Refs #1974 : Refactor Line transport mode --- app/controllers/lines_controller.rb | 4 +- app/controllers/referential_lines_controller.rb | 4 +- .../vehicle_journey_frequencies_controller.rb | 2 +- app/controllers/vehicle_journeys_controller.rb | 2 +- app/exporters/chouette/hub/exporter.rb | 46 +++++++++++----------- app/models/chouette/line.rb | 18 +-------- app/models/chouette/vehicle_journey.rb | 19 +-------- app/models/chouette_transport_mode_enumerations.rb | 6 +++ app/models/stif_transport_mode_enumerations.rb | 5 +++ app/views/api/v1/lines/show.rabl | 4 +- app/views/lines/_form.html.slim | 2 +- app/views/referential_lines/_form.html.slim | 2 +- app/views/rule_parameter_sets/_form.html.slim | 2 +- app/views/rule_parameter_sets/show.html.slim | 2 +- app/views/shared/_lines_search_form.html.slim | 2 +- app/views/vehicle_journeys/_form.html.slim | 2 +- 16 files changed, 51 insertions(+), 71 deletions(-) create mode 100644 app/models/chouette_transport_mode_enumerations.rb create mode 100644 app/models/stif_transport_mode_enumerations.rb (limited to 'app') diff --git a/app/controllers/lines_controller.rb b/app/controllers/lines_controller.rb index 1a5c30787..eb38352be 100644 --- a/app/controllers/lines_controller.rb +++ b/app/controllers/lines_controller.rb @@ -73,7 +73,7 @@ class LinesController < BreadcrumbController end def collection - %w(network_id company_id group_of_lines_id comment_id transport_mode_name).each do |filter| + %w(network_id company_id group_of_lines_id comment_id transport_mode).each do |filter| if params[:q] && params[:q]["#{filter}_eq"] == '-1' params[:q]["#{filter}_eq"] = '' params[:q]["#{filter}_blank"] = '1' @@ -91,7 +91,7 @@ class LinesController < BreadcrumbController end def line_params - params.require(:line).permit( :transport_mode, :network_id, :company_id, :objectid, :object_version, :creation_time, :creator_id, :name, :number, :published_name, :transport_mode_name, :registration_number, :comment, :mobility_restricted_suitability, :int_user_needs, :flexible_service, :group_of_lines, :group_of_line_ids, :group_of_line_tokens, :url, :color, :text_color, :stable_id, { footnotes_attributes: [ :code, :label, :_destroy, :id ] } ) + params.require(:line).permit( :transport_mode, :network_id, :company_id, :objectid, :object_version, :creation_time, :creator_id, :name, :number, :published_name, :transport_mode, :registration_number, :comment, :mobility_restricted_suitability, :int_user_needs, :flexible_service, :group_of_lines, :group_of_line_ids, :group_of_line_tokens, :url, :color, :text_color, :stable_id, { footnotes_attributes: [ :code, :label, :_destroy, :id ] } ) end end diff --git a/app/controllers/referential_lines_controller.rb b/app/controllers/referential_lines_controller.rb index c53819dd2..d767cb151 100644 --- a/app/controllers/referential_lines_controller.rb +++ b/app/controllers/referential_lines_controller.rb @@ -67,7 +67,7 @@ class ReferentialLinesController < ChouetteController end def collection - %w(network_id company_id group_of_lines_id comment_id transport_mode_name).each do |filter| + %w(network_id company_id group_of_lines_id comment_id transport_mode).each do |filter| if params[:q] && params[:q]["#{filter}_eq"] == '-1' params[:q]["#{filter}_eq"] = '' params[:q]["#{filter}_blank"] = '1' @@ -92,7 +92,7 @@ class ReferentialLinesController < ChouetteController :creator_id, :name, :number, :published_name, - :transport_mode_name, + :transport_mode, :registration_number, :comment, :mobility_restricted_suitability, diff --git a/app/controllers/vehicle_journey_frequencies_controller.rb b/app/controllers/vehicle_journey_frequencies_controller.rb index 683bd6d5a..9626bd36d 100644 --- a/app/controllers/vehicle_journey_frequencies_controller.rb +++ b/app/controllers/vehicle_journey_frequencies_controller.rb @@ -12,7 +12,7 @@ class VehicleJourneyFrequenciesController < VehicleJourneysController def vehicle_journey_frequency_params params.require(:vehicle_journey_frequency).permit( { footnote_ids: [] } , :journey_pattern_id, :number, :published_journey_name, - :published_journey_identifier, :comment, :transport_mode_name, + :published_journey_identifier, :comment, :transport_mode, :mobility_restricted_suitability, :flexible_service, :status_value, :facility, :vehicle_type_identifier, :objectid, :time_table_tokens, { date: [ :hour, :minute ] }, :button, :referential_id, :line_id, diff --git a/app/controllers/vehicle_journeys_controller.rb b/app/controllers/vehicle_journeys_controller.rb index 036816b21..d1c54827b 100644 --- a/app/controllers/vehicle_journeys_controller.rb +++ b/app/controllers/vehicle_journeys_controller.rb @@ -81,7 +81,7 @@ class VehicleJourneysController < ChouetteController def vehicle_journey_params params.require(:vehicle_journey).permit( { footnote_ids: [] } , :journey_pattern_id, :number, :published_journey_name, - :published_journey_identifier, :comment, :transport_mode_name, + :published_journey_identifier, :comment, :transport_mode, :mobility_restricted_suitability, :flexible_service, :status_value, :facility, :vehicle_type_identifier, :objectid, :time_table_tokens, { date: [ :hour, :minute ] }, :button, :referential_id, :line_id, diff --git a/app/exporters/chouette/hub/exporter.rb b/app/exporters/chouette/hub/exporter.rb index 3a9313762..d098ad15e 100644 --- a/app/exporters/chouette/hub/exporter.rb +++ b/app/exporters/chouette/hub/exporter.rb @@ -16,7 +16,7 @@ class Chouette::Hub::Exporter end def select_time_tables(start_date, end_date) - all_time_tables = Chouette::TimeTable.all + all_time_tables = Chouette::TimeTable.all time_tables = [] s_date = Date.strptime(start_date, "%Y-%m-%d") e_date = Date.strptime(end_date, "%Y-%m-%d") @@ -82,21 +82,21 @@ class Chouette::Hub::Exporter Dir.mktmpdir(nil, "/tmp") { |temp_dir| @time_tables = select_time_tables(options[:start_date], options[:end_date]) @lines = select_lines(options[:o], options[:id]) - + @routes = [] if @lines @lines.each { |line| @routes << Chouette::Route.where("line_id = ?", line.id).order(:wayback) } end - + @journey_patterns = [] if @routes @routes.each { |subroutes| @journey_patterns << Chouette::JourneyPattern.where(:route_id => subroutes.map(&:id)).order(:objectid) } end @journey_patterns = @journey_patterns.flatten - + @routes = @routes.flatten @vehicle_journeys = Chouette::VehicleJourney.where(:route_id => @routes.map(&:id)).order(:objectid) if routes_exportable? - + rts = [] jps = [] vjs = [] @@ -113,18 +113,18 @@ class Chouette::Hub::Exporter @vehicle_journeys = vjs.uniq rts = rts.flatten.uniq jps = jps.flatten.uniq - + @routes.delete_if {|r| !(rts.include?(r.id)) } @journey_patterns.delete_if {|jp| !(jps.include?(jp.id)) } - + vehicle_journey_at_stops = Chouette::VehicleJourneyAtStop.where( :vehicle_journey_id => @vehicle_journeys.map(&:id) ) #.order(:id) if vehicle_journeys_exportable? - + if time_tables_exportable? Chouette::Hub::TimeTableExporter.save(@time_tables, temp_dir, hub_export) else log_overflow_warning(Chouette::TimeTable) end - + if journey_patterns_exportable? Chouette::Hub::RouteExporter.save(@routes, temp_dir, hub_export) Chouette::Hub::ItlExporter.save(@routes, temp_dir, hub_export) @@ -133,7 +133,7 @@ class Chouette::Hub::Exporter else log_overflow_warning(Chouette::JourneyPattern) if routes_exportable? end - + if vehicle_journeys_exportable? Chouette::Hub::VehicleJourneyExporter.save(@vehicle_journeys, temp_dir, hub_export) Chouette::Hub::VehicleJourneyOperationExporter.save(@vehicle_journeys, temp_dir, hub_export) @@ -141,40 +141,40 @@ class Chouette::Hub::Exporter else log_overflow_warning(Chouette::VehicleJourney) end - + stop_points = Chouette::StopPoint.where( :id => vehicle_journey_at_stops.map(&:stop_point_id)) #.order(:id) physical_stop_areas = Chouette::StopArea.where( :id => stop_points.map(&:stop_area_id)) #.order(:parent_id) commercial_stop_areas = Chouette::StopArea.where( :id => physical_stop_areas.map(&:parent_id)).order(:objectid) - + physical_stop_areas = [] commercial_stop_areas.each { |commercial_stop_area| physical_stop_areas << Chouette::StopArea.where( :parent_id => [commercial_stop_area.id] ).order(:objectid) } physical_stop_areas = physical_stop_areas.flatten - + city_codes = Hash.new commercial_stop_areas.each { |commercial_stop_area| city_codes[commercial_stop_area.zip_code] = commercial_stop_area.city_name if commercial_stop_area.zip_code } physical_stop_areas.each { |physical_stop_area| city_codes[physical_stop_area.zip_code] = physical_stop_area.city_name if physical_stop_area.zip_code } - + Chouette::Hub::CityCodeExporter.save(city_codes, temp_dir, hub_export) Chouette::Hub::CommercialStopAreaExporter.save(commercial_stop_areas, temp_dir, hub_export) Chouette::Hub::PhysicalStopAreaExporter.save(physical_stop_areas, temp_dir, hub_export) - + connection_links = Chouette::ConnectionLink.where( "departure_id IN (?) AND arrival_id IN (?)", (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)), (physical_stop_areas.map(&:id) + commercial_stop_areas.map(&:id)) ).order(:id) - + Chouette::Hub::ConnectionLinkExporter.save(connection_links, temp_dir, hub_export) - + if lines_exportable? Chouette::Hub::LineExporter.save(@lines, temp_dir, hub_export) transport_modes = Hash.new @lines.each do |l| - if l.transport_mode_name - case l.transport_mode_name - when "Coach" + if l.transport_mode + case l.transport_mode + when 'coach' if transport_modes["CAR"] transport_modes["CAR"] += "|"+l.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') else transport_modes["CAR"] = l.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') end - when "Bus" + when 'bus' if transport_modes["BUS"] transport_modes["BUS"] += "|"+l.objectid.sub(/(\w*\:\w*\:)(\w*)/, '\2') else @@ -195,12 +195,12 @@ class Chouette::Hub::Exporter else log_overflow_warning(Chouette::Line) end - + if lines_exportable? stop_areas = Chouette::StopArea.joins( :stop_points => [:route => :line]).where(:lines => {:id => lines.map(&:id)}).uniq.order(:name) commercial_stop_areas = Chouette::StopArea.where( :id => stop_areas.map(&:parent_id).compact.uniq).order(:name) end - + ::Zip::File.open(zip_file_path, ::Zip::File::CREATE) do |zipfile| Dir[File.join(temp_dir, '*.TXT')].each do |f| #Rails.logger.error("Adding File #{File.basename(f)}") diff --git a/app/models/chouette/line.rb b/app/models/chouette/line.rb index b47f7d6f9..9b18f0ffb 100644 --- a/app/models/chouette/line.rb +++ b/app/models/chouette/line.rb @@ -2,6 +2,7 @@ class Chouette::Line < Chouette::ActiveRecord include DefaultNetexAttributesSupport include LineRestrictions include LineReferentialSupport + include StifTransportModeEnumerations extend Enumerize extend ActiveModel::Naming @@ -35,6 +36,7 @@ class Chouette::Line < Chouette::ActiveRecord validates_format_of :text_color, :with => %r{\A[0-9a-fA-F]{6}\Z}, :allow_nil => true, :allow_blank => true validates_presence_of :name + validates :transport_mode, inclusion: { in: self.transport_mode.values } scope :by_text, ->(text) { where('lower(name) LIKE :t or lower(published_name) LIKE :t or lower(objectid) LIKE :t or lower(comment) LIKE :t or lower(number) LIKE :t', t: "%#{text.downcase}%") } @@ -47,22 +49,6 @@ class Chouette::Line < Chouette::ActiveRecord Chouette::Geometry::LinePresenter.new self end - def transport_mode - # return nil if transport_mode_name is nil - transport_mode_name && Chouette::TransportMode.new( transport_mode_name.underscore) - end - - def transport_mode=(transport_mode) - self.transport_mode_name = (transport_mode ? transport_mode.camelcase : nil) - end - - @@transport_modes = nil - def self.transport_modes - @@transport_modes ||= Chouette::TransportMode.all.select do |transport_mode| - transport_mode.to_i > 0 - end - end - def commercial_stop_areas Chouette::StopArea.joins(:children => [:stop_points => [:route => :line] ]).where(:lines => {:id => self.id}).uniq end diff --git a/app/models/chouette/vehicle_journey.rb b/app/models/chouette/vehicle_journey.rb index 17d4d952f..b4bd38850 100644 --- a/app/models/chouette/vehicle_journey.rb +++ b/app/models/chouette/vehicle_journey.rb @@ -1,6 +1,7 @@ module Chouette class VehicleJourney < TridentActiveRecord include VehicleJourneyRestrictions + include StifTransportModeEnumerations # FIXME http://jira.codehaus.org/browse/JRUBY-6358 self.primary_key = "id" @@ -8,7 +9,6 @@ module Chouette default_scope { where(journey_category: journey_categories[:timed]) } - attr_accessor :transport_mode_name attr_reader :time_table_tokens def self.nullable_attributes @@ -43,27 +43,10 @@ module Chouette accepts_nested_attributes_for :vehicle_journey_at_stops, :allow_destroy => true - def presenter @presenter ||= ::VehicleJourneyPresenter.new( self) end - def transport_mode_name - # return nil if transport_mode is nil - transport_mode && Chouette::TransportMode.new( transport_mode.underscore) - end - - def transport_mode_name=(transport_mode_name) - self.transport_mode = (transport_mode_name ? transport_mode_name.camelcase : nil) - end - - @@transport_mode_names = nil - def self.transport_mode_names - @@transport_mode_names ||= Chouette::TransportMode.all.select do |transport_mode_name| - transport_mode_name.to_i > 0 - end - end - def increasing_times previous = nil vehicle_journey_at_stops.select{|vjas| vjas.departure_time && vjas.arrival_time}.each do |vjas| diff --git a/app/models/chouette_transport_mode_enumerations.rb b/app/models/chouette_transport_mode_enumerations.rb new file mode 100644 index 000000000..30e9100fc --- /dev/null +++ b/app/models/chouette_transport_mode_enumerations.rb @@ -0,0 +1,6 @@ +module ChouetteTransportModeEnumerations + extend Enumerize + + enumerize :transport_mode, in: %w(interchange unknown coach air waterborne bus ferry walk + metro shuttle rapid_transit taxi local_train train long_distance_train tramway trolleybus private_vehicle bicycle other) +end diff --git a/app/models/stif_transport_mode_enumerations.rb b/app/models/stif_transport_mode_enumerations.rb new file mode 100644 index 000000000..a9a3fc3e0 --- /dev/null +++ b/app/models/stif_transport_mode_enumerations.rb @@ -0,0 +1,5 @@ +module StifTransportModeEnumerations + extend Enumerize + + enumerize :transport_mode, in: %w(air bus coach ferry metro rail trolleyBus tram water cableway funicular other) +end diff --git a/app/views/api/v1/lines/show.rabl b/app/views/api/v1/lines/show.rabl index dcd497aa5..16a265dfe 100644 --- a/app/views/api/v1/lines/show.rabl +++ b/app/views/api/v1/lines/show.rabl @@ -1,6 +1,6 @@ object @line extends "api/v1/trident_objects/show" -[ :name, :number, :published_name, :transport_mode_name, :registration_number, :comment, :mobility_restricted_suitability].each do |attr| +[ :name, :number, :published_name, :transport_mode, :registration_number, :comment, :mobility_restricted_suitability].each do |attr| attributes attr, :unless => lambda { |m| m.send( attr).nil?} end @@ -9,6 +9,6 @@ node :network_short_description do |line| end unless root_object.network.nil? node :company_short_description do |line| - partial("api/v1/companies/short_description", :object => line.company) + partial("api/v1/companies/short_description", :object => line.company) end unless root_object.company.nil? diff --git a/app/views/lines/_form.html.slim b/app/views/lines/_form.html.slim index 6c847b275..cbb50ae28 100644 --- a/app/views/lines/_form.html.slim +++ b/app/views/lines/_form.html.slim @@ -6,7 +6,7 @@ = form.input :published_name = form.input :registration_number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.line.registration_number")} = form.input :number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@line_referential)}.line.number") } - = form.input :transport_mode, as: :select, :collection => @line.line_referential.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") } + = form.input :transport_mode, include_blank: false = form.input :color, as: :string = form.input :text_color = form.input :stable_id diff --git a/app/views/referential_lines/_form.html.slim b/app/views/referential_lines/_form.html.slim index 08a011017..ca90ef8c3 100644 --- a/app/views/referential_lines/_form.html.slim +++ b/app/views/referential_lines/_form.html.slim @@ -6,7 +6,7 @@ = form.input :published_name = form.input :registration_number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.line.registration_number") } = form.input :number, :input_html => { :title => t("formtastic.titles#{format_restriction_for_locales(@referential)}.line.number") } - = form.input :transport_mode, as: :select, :collection => @line.line_referential.transport_modes, :include_blank => false, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") } + = form.input :transport_mode, include_blank: false = form.input :color, as: :string = form.input :text_color = form.input :stable_id diff --git a/app/views/rule_parameter_sets/_form.html.slim b/app/views/rule_parameter_sets/_form.html.slim index de3368a1b..b93caae58 100644 --- a/app/views/rule_parameter_sets/_form.html.slim +++ b/app/views/rule_parameter_sets/_form.html.slim @@ -36,7 +36,7 @@ tbody / To be removed, see #1936 - - Chouette::Line.transport_modes.map(&:to_s).each do |mode| + - Chouette::Line.transport_mode.values.each do |mode| tr == render partial: "mode_fields", :locals => { f: form, mode: mode } diff --git a/app/views/rule_parameter_sets/show.html.slim b/app/views/rule_parameter_sets/show.html.slim index af7ecb0a4..6adfeab89 100644 --- a/app/views/rule_parameter_sets/show.html.slim +++ b/app/views/rule_parameter_sets/show.html.slim @@ -96,7 +96,7 @@ - unless prefix == "allowed_transport" th = RuleParameterSet.human_attribute_name(prefix) / To be removed, see #1936 - - Chouette::Line.transport_modes.map(&:to_s).each do |mode| + - Chouette::Line.transport_mode.values.each do |mode| - if @rule_parameter_set.allowed(mode) tr td = t("transport_modes.label.#{mode}") diff --git a/app/views/shared/_lines_search_form.html.slim b/app/views/shared/_lines_search_form.html.slim index 30cdb1483..f7c3dc4ee 100644 --- a/app/views/shared/_lines_search_form.html.slim +++ b/app/views/shared/_lines_search_form.html.slim @@ -19,6 +19,6 @@ - options_container = (referential_type == 'referential' && filter == 'transport_modes') ? referential.line_referential : referential - if options_container && options_container.send(filter).any? - options = options_container.send(filter).collect { |f| [f.name, filter == 'transport_modes' ? f.name : f.id] }.unshift([t("lines.index.no_#{filter}"), -1]) - - matcher = filter == 'transport_modes' ? :transport_mode_name_eq : :"#{filter == 'group_of_lines' ? filter : filter.singularize}_id_eq" + - matcher = filter == 'transport_modes' ? :transport_mode_eq : :"#{filter == 'group_of_lines' ? filter : filter.singularize}_id_eq" .col-xs-3 = f.select(matcher, options, { include_blank: '' }, { class: 'form-control', style: 'width: 100%', 'data-select2ed': 'true', 'data-select2ed-placeholder': t("lines.index.all_#{filter}") }) diff --git a/app/views/vehicle_journeys/_form.html.slim b/app/views/vehicle_journeys/_form.html.slim index 61d6b0e06..c738b8b00 100644 --- a/app/views/vehicle_journeys/_form.html.slim +++ b/app/views/vehicle_journeys/_form.html.slim @@ -7,7 +7,7 @@ = form.input :published_journey_name = form.input :published_journey_identifier = form.input :comment - = form.input :transport_mode_name, as: :select, :collection => @line.line_referential.transport_modes, :include_blank => true, :member_label => Proc.new { |mode| t("transport_modes.label.#{mode}") } + = form.input :transport_mode, include_blank: false = form.input :mobility_restricted_suitability, as: :select, :collection => [[vehicle_journey.human_attribute_name("accessible"), true], [vehicle_journey.human_attribute_name("not_accessible"), false]], :include_blank => true = form.input :flexible_service, as: :select, :collection => [[vehicle_journey.human_attribute_name("on_demand_fs"), true], [vehicle_journey.human_attribute_name("regular_fs"), false]], :include_blank => true = form.input :status_value -- cgit v1.2.3 From 3037777de01ce7cc78493031e0242a81af5d3872 Mon Sep 17 00:00:00 2001 From: Alban Peignier Date: Fri, 18 Nov 2016 18:07:41 +0100 Subject: Save Organisation#sso_attributes only when functional_scope changes. Refs #1941 --- app/models/organisation.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'app') diff --git a/app/models/organisation.rb b/app/models/organisation.rb index 4d93b0ba6..af1042081 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -44,8 +44,11 @@ class Organisation < ActiveRecord::Base org = Organisation.find_or_initialize_by(code: code) if scope org.sso_attributes ||= {} - org.sso_attributes['functional_scope'] = scope - org.sso_attributes_will_change! + if org.sso_attributes['functional_scope'] != scope + org.sso_attributes['functional_scope'] = scope + # FIXME see #1941 + org.sso_attributes_will_change! + end end org.name = name org.synced_at = Time.now -- cgit v1.2.3 From a6f8318aa267e3723eb4c10647447ff08cd5fdca Mon Sep 17 00:00:00 2001 From: jpl Date: Fri, 18 Nov 2016 18:15:06 +0100 Subject: Refs #1989: Adding and fixing actions --- app/controllers/referentials_controller.rb | 18 +++++++++++------ app/controllers/workbenches_controller.rb | 2 +- app/views/referentials/show.html.slim | 12 ------------ app/views/workbenches/show.html.slim | 31 +++++++++++++++--------------- 4 files changed, 28 insertions(+), 35 deletions(-) (limited to 'app') diff --git a/app/controllers/referentials_controller.rb b/app/controllers/referentials_controller.rb index ab494ac2e..74eb36aa6 100644 --- a/app/controllers/referentials_controller.rb +++ b/app/controllers/referentials_controller.rb @@ -15,10 +15,9 @@ class ReferentialsController < BreadcrumbController end end - def create - - create! - end + # def create + # create! + # end def show resource.switch @@ -34,13 +33,20 @@ class ReferentialsController < BreadcrumbController end end + def destroy + workbench = referential.workbench_id + + referential.destroy! + redirect_to workbench_path(workbench), notice: t('notice.referential.deleted') + end + def archive referential.archive! - redirect_to referential_path, notice: t('notice.referential.archived') + redirect_to workbench_path(referential.workbench_id), notice: t('notice.referential.archived') end def unarchive referential.unarchive! - redirect_to referential_path, notice: t('notice.referential.unarchived') + redirect_to workbench_path(referential.workbench_id), notice: t('notice.referential.unarchived') end protected diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb index b23e9202e..b2bf5eab8 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -4,7 +4,7 @@ class WorkbenchesController < BreadcrumbController respond_to :html, :only => [:show] def show - @wbench_refs = Workbench.find(params[:id]).referentials.paginate(page: params[:page], per_page: 2) + @wbench_refs = Workbench.find(params[:id]).referentials.paginate(page: params[:page], per_page: 20) show! do build_breadcrumb :show diff --git a/app/views/referentials/show.html.slim b/app/views/referentials/show.html.slim index 56d7bd728..ac119bf29 100644 --- a/app/views/referentials/show.html.slim +++ b/app/views/referentials/show.html.slim @@ -57,18 +57,6 @@ h2 ul.actions li = link_to t('referentials.actions.edit'), edit_referential_path(@referential), class: 'edit' - li - - if @referential.archived? - = link_to unarchive_referential_path(@referential), method: :put do - span.fa-stack - span.fa.fa-archive.fa-stack-1x - span.fa.fa-ban.fa-stack-2x - = " Désarchiver cet espace de données" - - else - = link_to archive_referential_path(@referential), method: :put do - span.fa.fa-archive - = " Archiver cet espace de données" - li = link_to t('referentials.actions.destroy'), referential_path(@referential), method: :delete, data: {:confirm => t('referentials.actions.destroy_confirm')}, class: "remove" li = link_to t('api_keys.actions.new'), new_referential_api_key_path(@referential), class: 'add' li = link_to t('referentials.actions.clone'), new_referential_path(from: @referential.id), class: 'add' diff --git a/app/views/workbenches/show.html.slim b/app/views/workbenches/show.html.slim index cb83b028c..c2d6a71c8 100644 --- a/app/views/workbenches/show.html.slim +++ b/app/views/workbenches/show.html.slim @@ -2,7 +2,7 @@ .referentials.paginated_content h4 Liste des jeux de données - + table.table.table-bordered.table-hover thead tr @@ -43,23 +43,22 @@ / Actions td.text-center .btn-group.btn-group-xs - = link_to referential_path(referential), class: 'btn btn-default' do - span.fa.fa-eye - - = link_to edit_referential_path(referential), class: 'btn btn-default' do - span.fa.fa-pencil + .btn-primary.btn.dropdown-toggle data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" + span.fa.fa-bars + span.caret - - if referential.archived? - = link_to unarchive_referential_path(referential), class: 'btn btn-default', method: :put do - span.fa-stack title="Désarchiver" - span.fa.fa-archive.fa-stack-1x - span.fa.fa-ban.fa-stack-2x - - else - = link_to archive_referential_path(referential), class: 'btn btn-default', method: :put do - span.fa.fa-archive title="Archiver" + ul.dropdown-menu + li = link_to "Voir", referential_path(referential) + + li = link_to "Editer", edit_referential_path(referential) + + li + - if referential.archived? + = link_to "Désarchiver", unarchive_referential_path(referential), method: :put + - else + = link_to "Archiver", archive_referential_path(referential), method: :put - = link_to referential_path(referential), method: :delete, :data => {:confirm => t('referentials.actions.destroy_confirm')}, class: 'btn btn-danger' do - span.fa.fa-trash-o + li = link_to "Supprimer", referential_path(referential), method: :delete, :data => {:confirm => t('referentials.actions.destroy_confirm')} .text-center = will_paginate @wbench_refs, container: false, renderer: RemoteBootstrapPaginationLinkRenderer -- cgit v1.2.3