diff options
| author | Luc Donnet | 2015-05-12 16:24:48 +0200 |
|---|---|---|
| committer | Luc Donnet | 2015-05-12 16:24:48 +0200 |
| commit | 1ee52cce4c325a58368f3e28e8070f7b3bb4f4f2 (patch) | |
| tree | 6c7ca311fcbdc54199dbb5527cd03895081901f1 | |
| parent | 42cda208c4413053c0462aff2eb623b45204be80 (diff) | |
| download | chouette-core-1ee52cce4c325a58368f3e28e8070f7b3bb4f4f2.tar.bz2 | |
Fix locales design and bugs Refs #0035551 #0035504
23 files changed, 123 insertions, 54 deletions
diff --git a/app/assets/stylesheets/main/exports.css.scss b/app/assets/stylesheets/main/exports.css.scss index d8ed70b50..4c02738b8 100644 --- a/app/assets/stylesheets/main/exports.css.scss +++ b/app/assets/stylesheets/main/exports.css.scss @@ -9,9 +9,10 @@ #workspace.exports.show { @import "../partials/ie_report"; @import "../modules/job_status_colors"; + @import "../modules/links"; - .links{ - margin: 0 0 20px 0; - img{ margin: 0 5px 0 15px; } + h2{ + i{ margin: 0 5px 0 0; } } + } diff --git a/app/assets/stylesheets/main/imports.css.scss b/app/assets/stylesheets/main/imports.css.scss index 9fc6d300c..c45d5361c 100644 --- a/app/assets/stylesheets/main/imports.css.scss +++ b/app/assets/stylesheets/main/imports.css.scss @@ -5,11 +5,10 @@ #workspace.imports.show { @import "../partials/ie_report"; @import "../modules/job_status_colors"; - - .links{ - margin: 0 0 20px 0; - img{ margin: 0 5px 0 15px; } - } + @import "../modules/links"; + h2{ + i{ margin: 0 5px 0 0; } + } } diff --git a/app/assets/stylesheets/modules/index_item.css.scss b/app/assets/stylesheets/modules/index_item.css.scss index 968eb12c4..fe0ba8940 100644 --- a/app/assets/stylesheets/modules/index_item.css.scss +++ b/app/assets/stylesheets/modules/index_item.css.scss @@ -56,7 +56,8 @@ } i{ - margin-right: 5px; + color: $gray; + margin-right: 5px; } span.included_day_type { diff --git a/app/assets/stylesheets/modules/links.css.scss b/app/assets/stylesheets/modules/links.css.scss new file mode 100644 index 000000000..ab9e1fbaf --- /dev/null +++ b/app/assets/stylesheets/modules/links.css.scss @@ -0,0 +1,7 @@ +.links{ + margin: 0 0 20px 0; + i{ + color: $gray; + margin: 0 3px 0 15px; + } +} diff --git a/app/assets/stylesheets/partials/ie_report.css.scss b/app/assets/stylesheets/partials/ie_report.css.scss index 0015746b2..a254b788b 100644 --- a/app/assets/stylesheets/partials/ie_report.css.scss +++ b/app/assets/stylesheets/partials/ie_report.css.scss @@ -39,7 +39,7 @@ } } - div.files_error{ + .files_error{ color: #e22b1b; display: none; } @@ -60,6 +60,9 @@ th, td{ text-align: center; } + + .fa-check{ color: $brand-success; } + .fa-times{ color: $brand-danger; } } } diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index eee3e1864..df2cb696b 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,4 +1,13 @@ module ApplicationHelper + + def font_awesome_classic_tag(name, size = "") + if name == "fa-file-csv-o" + name = "fa-file-text-o" + elsif name == "fa-file-xml-o" + name = "fa-file-code-o" + end + "<i class='fa #{name} #{size}'></i>".html_safe + end def stop_area_picture_url(stop_area) image_path("map/#{stop_area.area_type.underscore}.png") diff --git a/app/helpers/job_status_icon_helper.rb b/app/helpers/job_status_icon_helper.rb index b7648536a..7dc325d30 100644 --- a/app/helpers/job_status_icon_helper.rb +++ b/app/helpers/job_status_icon_helper.rb @@ -6,11 +6,11 @@ module JobStatusIconHelper title = "" if %w{ aborted canceled }.include?(status) - title += "<span class='name aborted'><i class='fa fa-times'></i>" + title += "<span class='aborted'><i class='fa fa-times'></i>" elsif %w{ created scheduled }.include?(status) - title += "<span class='name processed'><i class='fa fa-spinner fa-spin'></i>" + title += "<span class='processed'><i class='fa fa-spinner fa-spin'></i>" elsif %w{ terminated}.include?(status) - title += "<span class='name terminated'><i class='fa fa-check'></i>" + title += "<span class='terminated'><i class='fa fa-check'></i>" end title += "#{truncate(name, :length => 20)}</span>" diff --git a/app/models/concerns/report_concern.rb b/app/models/concerns/report_concern.rb index 2c4901566..7d3efff24 100644 --- a/app/models/concerns/report_concern.rb +++ b/app/models/concerns/report_concern.rb @@ -101,13 +101,31 @@ module ReportConcern class LineItem - attr_reader :name, :status, :stats + attr_reader :options def initialize( options ) - @name = options.name if options.name? - @status = options.status if options.status? - @stats = options.stats if options.stats? + @options = options end + + def name + @name ||= options.name if options.name? + end + + def stats + @stats ||= options.stats if options.stats? + end + + def status + @status ||= if options.status? + if %w{ok warning}.include? options.status.downcase + true + else + false + end + else + false + end + end def routes stats ? stats.route_count : 0 diff --git a/app/models/export.rb b/app/models/export.rb index ee008d590..c3895ffc5 100644 --- a/app/models/export.rb +++ b/app/models/export.rb @@ -1,5 +1,9 @@ class Export include JobConcern + + def report? + links["action_report"].present? + end def report Rails.cache.fetch("#{cache_key}/action_report", expires_in: cache_expiration) do @@ -26,6 +30,10 @@ class Export end end + def file_path? + links["data"].present? + end + def file_path links["data"] end diff --git a/app/models/gtfs_import.rb b/app/models/gtfs_import.rb index a0e5ee10b..25eb670df 100644 --- a/app/models/gtfs_import.rb +++ b/app/models/gtfs_import.rb @@ -5,7 +5,6 @@ class GtfsImport < ImportTask attr_accessor :object_id_prefix, :max_distance_for_commercial, :ignore_last_word, :ignore_end_chars, :max_distance_for_connection_link, :references_type validates_presence_of :object_id_prefix - validates_presence_of :references_type def references_types self.references_type.values diff --git a/app/models/hub_export.rb b/app/models/hub_export.rb index c0709cc1d..dcbfc01a1 100644 --- a/app/models/hub_export.rb +++ b/app/models/hub_export.rb @@ -2,9 +2,6 @@ class HubExport < ExportTask attr_accessor :start_date, :end_date enumerize :references_type, in: %w( network line company group_of_line ) - - validates :start_date, presence: true , if: "end_date.present?" - validates :end_date, presence: true, if: "start_date.present?" after_initialize :init_period diff --git a/app/models/import.rb b/app/models/import.rb index be469d282..733795bd8 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -2,17 +2,24 @@ require 'open-uri' class Import include JobConcern + + # def compliance_check_validation_report? + # end - def compliance_check_validation_report - Rails.cache.fetch("#{cache_key}/validation_report", expires_in: cache_expiration) do - report_path = links["validation_report"] - if report_path - response = Ievkit.get(report_path) - ComplianceCheckResult.new(response) - else - raise Ievkit::IevError("Impossible to access report path link for validation of import") - end - end + # def compliance_check_validation_report + # Rails.cache.fetch("#{cache_key}/validation_report", expires_in: cache_expiration) do + # report_path = links["validation_report"] + # if report_path + # response = Ievkit.get(report_path) + # ComplianceCheckResult.new(response) + # else + # raise Ievkit::IevError("Impossible to access report path link for validation of import") + # end + # end + # end + + def report? + links["action_report"].present? end def report @@ -27,6 +34,10 @@ class Import end end + def rule_parameter_set? + links["validation_params"].present? + end + def rule_parameter_set Rails.cache.fetch("#{cache_key}/validation_params", expires_in: cache_expiration) do rule_parameter_set_path = links["validation_params"] @@ -37,6 +48,10 @@ class Import end end end + + def compliance_check? + links["validation_report"].present? + end def compliance_check Rails.cache.fetch("#{cache_key}/validation_report", expires_in: cache_expiration) do @@ -62,6 +77,10 @@ class Import end end + def file_path? + links["data"].present? + end + def file_path links["data"] end diff --git a/app/models/neptune_export.rb b/app/models/neptune_export.rb index 45c2aa4ea..8e9d91557 100644 --- a/app/models/neptune_export.rb +++ b/app/models/neptune_export.rb @@ -2,9 +2,6 @@ class NeptuneExport < ExportTask attr_accessor :start_date, :end_date, :extensions, :export_type enumerize :references_type, in: %w( network line company group_of_line ) - - validates :start_date, presence: true , if: "end_date.present?" - validates :end_date, presence: true, if: "start_date.present?" def action_params { diff --git a/app/views/export_tasks/_fields_gtfs_export.html.erb b/app/views/export_tasks/_fields_gtfs_export.html.erb index 3ec95c181..b5dca732b 100644 --- a/app/views/export_tasks/_fields_gtfs_export.html.erb +++ b/app/views/export_tasks/_fields_gtfs_export.html.erb @@ -1,2 +1,2 @@ -<%= form.input :time_zone, :as => :time_zone, :input_html => { :title => t("formtastic.titles.export.time_zone")} %> -<%= form.input :object_id_prefix, :input_html => { :value => @referential.prefix ,:title => t("formtastic.titles.export.object_id_prefix")} %>
\ No newline at end of file +<%= form.input :time_zone, :as => :time_zone, :input_html => { :title => t("formtastic.titles.export_task.time_zone")} %> +<%= form.input :object_id_prefix, :input_html => { :value => @referential.prefix ,:title => t("formtastic.titles.export_task.object_id_prefix")} %> diff --git a/app/views/export_tasks/_fields_hub_export.html.erb b/app/views/export_tasks/_fields_hub_export.html.erb index fc7cf7112..48e9ef172 100644 --- a/app/views/export_tasks/_fields_hub_export.html.erb +++ b/app/views/export_tasks/_fields_hub_export.html.erb @@ -1,2 +1,2 @@ -<%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export.start_date")} %> -<%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export.end_date")} %> +<%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.start_date")} %> +<%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.end_date")} %> diff --git a/app/views/export_tasks/_fields_neptune_export.html.erb b/app/views/export_tasks/_fields_neptune_export.html.erb index 57826d972..e1ef631a5 100644 --- a/app/views/export_tasks/_fields_neptune_export.html.erb +++ b/app/views/export_tasks/_fields_neptune_export.html.erb @@ -1,4 +1,4 @@ -<%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export.start_date")} %> -<%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export.end_date")} %> +<%= form.input :start_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.start_date")} %> +<%= form.input :end_date, :as => :date_picker, :input_html => { :title => t("formtastic.titles.export_task.end_date")} %> <%= form.input :projection_type, :as => :hidden, :input_html => { :value => @referential.projection_type || "" } %> <%= form.input :extensions , :as => :boolean%> diff --git a/app/views/exports/_export.erb b/app/views/exports/_export.erb index 5cf924960..7d8e24e39 100644 --- a/app/views/exports/_export.erb +++ b/app/views/exports/_export.erb @@ -14,7 +14,7 @@ </div> </div> <div class="panel-body"> - <p><%= link_to( image_tag("icons/file_#{export.filename_extension}.png") + t("exports.show.exported_file"), exported_file_referential_export_path(@referential, export.id) ) if export.file_path %></p> + <p><%= link_to( font_awesome_classic_tag("fa-file-#{export.filename_extension}-o") + t("exports.show.exported_file"), exported_file_referential_export_path(@referential, export.id) ) if export.file_path %></p> </div> <div class="panel-footer"> <div class="history"> diff --git a/app/views/exports/show.html.erb b/app/views/exports/show.html.erb index 7852635aa..d79b3f3cf 100644 --- a/app/views/exports/show.html.erb +++ b/app/views/exports/show.html.erb @@ -4,7 +4,7 @@ <div class="export_show"> <div class="links"> - <%= link_to( image_tag("icons/file_#{@export.filename_extension}.png") + t("exports.show.exported_file"), exported_file_referential_export_path(@referential, @export.id) ) if @export.file_path %> + <%= link_to( font_awesome_classic_tag("fa-file-#{@export.filename_extension}-o") + t("exports.show.exported_file"), exported_file_referential_export_path(@referential, @export.id) ) if @export.file_path %> </div> <%= render( :partial => "shared/ie_report.html", :locals => { :referential => @referential, :job => @export} ) %> </div> diff --git a/app/views/imports/_import.erb b/app/views/imports/_import.erb index 717e51b75..b74c59e17 100644 --- a/app/views/imports/_import.erb +++ b/app/views/imports/_import.erb @@ -14,9 +14,9 @@ </div> </div> <div class="panel-body"> - <p><%= link_to image_tag("icons/file_#{import.filename_extension}.png") + t("imports.show.imported_file"), imported_file_referential_import_path(@referential, import.id) if import.file_path %></p> - <p><%= link_to image_tag("icons/link_page.png") + t("imports.show.rule_parameter_set"), rule_parameter_set_referential_import_path(@referential, import.id) if import.rule_parameter_set %></p> - <p><%= link_to image_tag("icons/link_page.png") + t("imports.show.compliance_check"), compliance_check_referential_import_path(@referential, import.id) if import.compliance_check %></p> + <p><%= link_to font_awesome_classic_tag("fa-file-#{import.filename_extension}-o") + t("imports.show.imported_file"), imported_file_referential_import_path(@referential, import.id) if import.file_path? %></p> + <p><%= link_to font_awesome_classic_tag("fa-external-link") + t("imports.show.rule_parameter_set"), rule_parameter_set_referential_import_path(@referential, import.id) if import.rule_parameter_set? %></p> + <p><%= link_to font_awesome_classic_tag("fa-external-link") + t("imports.show.compliance_check"), compliance_check_referential_import_path(@referential, import.id) if import.compliance_check? %></p> </div> <div class="panel-footer"> <div class="history"> diff --git a/app/views/imports/show.html.erb b/app/views/imports/show.html.erb index 4e94f111d..025580c34 100644 --- a/app/views/imports/show.html.erb +++ b/app/views/imports/show.html.erb @@ -4,9 +4,9 @@ <div class="import_show"> <div class="links"> - <%= link_to image_tag("icons/file_#{@import.filename_extension}.png") + t("imports.show.imported_file"), imported_file_referential_import_path(@referential, @import.id) if @import.file_path %> - <%= link_to image_tag("icons/link_page.png") + t("imports.show.rule_parameter_set"), rule_parameter_set_referential_import_path(@referential, @import.id) if @import.rule_parameter_set %> - <%= link_to image_tag("icons/link_page.png") + t("imports.show.compliance_check"), compliance_check_referential_import_path(@referential, @import.id) if @import.compliance_check %> + <%= link_to font_awesome_classic_tag("fa-file-#{@import.filename_extension}-o") + t("imports.show.imported_file"), imported_file_referential_import_path(@referential, @import.id) if @import.file_path? %> + <%= link_to font_awesome_classic_tag("fa-external-link") + t("imports.show.rule_parameter_set"), rule_parameter_set_referential_import_path(@referential, @import.id) if @import.rule_parameter_set? %> + <%= link_to font_awesome_classic_tag("fa-external-link") + t("imports.show.compliance_check"), compliance_check_referential_import_path(@referential, @import.id) if @import.compliance_check? %> </div> <%= render( :partial => "shared/ie_report.html", :locals => { :referential => @referential, :job => @import} ) %> </div> diff --git a/app/views/shared/_ie_report.html.erb b/app/views/shared/_ie_report.html.erb index b8d09ccd4..51cb51706 100644 --- a/app/views/shared/_ie_report.html.erb +++ b/app/views/shared/_ie_report.html.erb @@ -35,8 +35,8 @@ <table class="table table-hover table-striped" data-label="<%= t('.graph.lines.objects_label') %>" data-total-lines="<%= job.report.lines %>" data-total-routes="<%= job.report.routes %>" data-total-connection_links="<%= job.report.connection_links %>", data-total-time_tables="<%= job.report.time_tables %>" data-total-stop_areas="<%= job.report.stop_areas %>" data-total-access_points="<%= job.report.access_points %>" data-total-vehicle_journeys="<%= job.report.vehicle_journeys %>" data-total-journey_patterns="<%= job.report.journey_patterns %>" > <thead> <tr> + <th class="save"><%= t(".table.line.save") %></th> <th class="lines"><%= t(".table.line.lines") %></th> - <th class="save"><%= t(".table.line.save") %></th> <th class="routes"><%= t(".table.line.routes") %></th> <th class="connection_links"><%= t(".table.line.connection_links") %></th> <th class="time_tables"><%= t(".table.line.time_tables") %></th> @@ -47,11 +47,10 @@ </tr> </thead> <tbody> - <% job.report.line_items.each_with_index do |line_item, index| %> - <% tr_class = (line_item.status == "saved") ? '' : 'class=\'danger\''%> - <tr <%= tr_class %>> - <td><%= line_item.name %></td> - <td><%= t(".table.line." + line_item.status ) %></td> + <% job.report.line_items.each_with_index do |line_item, index| %> + <tr> + <td><%= line_item.status ? font_awesome_classic_tag("fa-check") : font_awesome_classic_tag("fa-times") %></td> + <td><%= line_item.name %></td> <td><%= line_item.routes %></td> <td><%= line_item.connection_links %></td> <td><%= line_item.time_tables %></td> diff --git a/config/locales/export_tasks.en.yml b/config/locales/export_tasks.en.yml index 77fbf46da..b8ec0ad9b 100644 --- a/config/locales/export_tasks.en.yml +++ b/config/locales/export_tasks.en.yml @@ -44,6 +44,12 @@ en: formtastic: titles: export_task: + time_zone: "according to TZ encoding (see http://en.wikipedia.org/wiki/Tz_database)" + object_id_prefix: "when prefix has this value, it will be removed to build GTFS id" + start_date: "reduce import to vehicle journeys running from this date" + end_date: "reduce import to vehicle journeys running until this date" + dates: + not_nul: "HUB Export interrupted. Start date and end date must be provided." max_distance_for_commercial: "Maximal distance to merge homonymous stops in commercial stop in meter" max_distance_for_connection_link: "Maximal distance to link stops by connection link stop in meter" ignore_last_word: "ignore last word on stop name in homonymous detection (inappliable when just one word occurs)" diff --git a/config/locales/export_tasks.fr.yml b/config/locales/export_tasks.fr.yml index 7698e03e2..4d6ab74b1 100644 --- a/config/locales/export_tasks.fr.yml +++ b/config/locales/export_tasks.fr.yml @@ -44,6 +44,12 @@ fr: formtastic: titles: export_task: + time_zone: "selon le codage TZ (http://fr.wikipedia.org/wiki/Tz_database)" + object_id_prefix: "lorsque le préfixe d'identifiant Netpune prend cette valeur, il n'est pas utilisé pour composer l'identifiant GTFS" + start_date: "limite l'export aux courses circulant à partir de cette date" + end_date: "limite l'export aux courses circulant jusqu'à cette date" + dates: + not_nul: "Export HUB interrompu. Les dates de début et de fin doivent êtres renseignées." max_distance_for_commercial: "Distance maximale entre deux arrêts homonymes pour créer les zones d'arrêt (en mètre)" max_distance_for_connection_link: "Distance maximale entre deux arrêts pour créer les correspondances (en mètre)" ignore_last_word: "Ignorer le dernier mot pour détecter l'homonymie des noms d'arrêt (inapplicable quand le nom ne comporte qu'un mot)" |
