diff options
| author | jpl | 2017-08-14 16:27:56 +0200 |
|---|---|---|
| committer | jpl | 2017-08-14 16:27:56 +0200 |
| commit | 5fcf1824d56f965262d5df1ece582c129fbe806b (patch) | |
| tree | 0ecde41ac478081d2956277c3cbd0352fdf39755 | |
| parent | 70c04d2727179308e98d704c78a668c425b223b9 (diff) | |
| download | chouette-core-5fcf1824d56f965262d5df1ece582c129fbe806b.tar.bz2 | |
Refs #4256: starting with table_builder2 on imports#index
| -rw-r--r-- | app/helpers/table_builder_helper/url.rb | 7 | ||||
| -rw-r--r-- | app/models/import.rb | 4 | ||||
| -rw-r--r-- | app/policies/import_policy.rb | 7 | ||||
| -rw-r--r-- | app/views/imports/index.html.slim | 61 | ||||
| -rw-r--r-- | config/locales/imports.en.yml | 3 | ||||
| -rw-r--r-- | config/locales/imports.fr.yml | 5 | ||||
| -rw-r--r-- | db/schema.rb | 4 |
7 files changed, 77 insertions, 14 deletions
diff --git a/app/helpers/table_builder_helper/url.rb b/app/helpers/table_builder_helper/url.rb index 0894df0fe..f7ba703ae 100644 --- a/app/helpers/table_builder_helper/url.rb +++ b/app/helpers/table_builder_helper/url.rb @@ -12,7 +12,12 @@ module TableBuilderHelper polymorph_url << item.stop_area if item.respond_to? :stop_area polymorph_url << item if item.respond_to?(:stop_points) || item.is_a?(Chouette::TimeTable) elsif item.respond_to? :referential - polymorph_url << item.referential + if item.respond_to? :workbench + polymorph_url << item.workbench + polymorph_url << item + else + polymorph_url << item.referential + end end else polymorph_url << item diff --git a/app/models/import.rb b/app/models/import.rb index f8702c115..17899cc82 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -13,6 +13,10 @@ class Import < ActiveRecord::Base before_create :initialize_fields + def self.model_name + ActiveModel::Name.new Import, Import, "Import" + end + def self.failing_statuses symbols_with_indifferent_access(%i(failed aborted canceled)) end diff --git a/app/policies/import_policy.rb b/app/policies/import_policy.rb new file mode 100644 index 000000000..9e1d99a66 --- /dev/null +++ b/app/policies/import_policy.rb @@ -0,0 +1,7 @@ +class ImportPolicy < ApplicationPolicy + class Scope < Scope + def resolve + scope + end + end +end diff --git a/app/views/imports/index.html.slim b/app/views/imports/index.html.slim index 6e2d49f73..a3e06840f 100644 --- a/app/views/imports/index.html.slim +++ b/app/views/imports/index.html.slim @@ -1,12 +1,49 @@ -= title_tag t('.title') -- @imports.each do |import| - .import - li = link_to import.name, workbench_import_path(@workbench, import) - li = import.referential.name if import.referential - li = link_to import.file.file.filename, import.file.url, target: :_blank - hr - -.warning = t('.warning') -- content_for :sidebar do - ul.actions - li = link_to t('imports.actions.new'), new_workbench_import_path(workbench_id: @workbench), class: 'add' +/ PageHeader += pageheader 'map-marker', + t('.title'), + '', + '', + link_to(t('imports.actions.new'), new_workbench_import_path(workbench_id: @workbench), class: 'btn btn-primary') + +/ PageContent +.page_content + .container-fluid + - if @imports.any? + .row + .col-lg-12 + = table_builder_2 @imports, + [ \ + TableBuilderHelper::Column.new( \ + key: :status, \ + attribute: 'status' \ + ), \ + TableBuilderHelper::Column.new( \ + key: :started_at, \ + attribute: 'started_at' \ + ), \ + TableBuilderHelper::Column.new( \ + key: :name, \ + attribute: 'name' \ + ), \ + # TableBuilderHelper::Column.new( \ + # name: 'Opérateur', \ + # attribute: '' \ + # ) \ + ], + links: [], + cls: 'table has-search' + + / = new_pagination @imports, 'pull-right' + + - unless @imports.any? + .row + .col-lg-12 + = replacement_msg t('imports.search_no_results') + + .separator + + .alert.alert-info + - @imports.each do |import| + .import + li = link_to import.file.file.filename, import.file.url, target: '_blank' + hr diff --git a/config/locales/imports.en.yml b/config/locales/imports.en.yml index b20f0f1da..a841ac99c 100644 --- a/config/locales/imports.en.yml +++ b/config/locales/imports.en.yml @@ -1,5 +1,6 @@ en: imports: + search_no_results: "No import matching your query" actions: new: "New import" destroy: "Destroy" @@ -50,6 +51,8 @@ en: import: resources: "File to import" created_at: "Created on" + started_at: Started at + name: Name status: "Status" references_type: "Data to be imported" no_save: "No save" diff --git a/config/locales/imports.fr.yml b/config/locales/imports.fr.yml index 933025c82..911dfc56a 100644 --- a/config/locales/imports.fr.yml +++ b/config/locales/imports.fr.yml @@ -1,5 +1,6 @@ fr: imports: + search_no_results: "Aucun import ne correspond à votre recherche" actions: new: "Nouvel import" destroy: "Supprimer cet import" @@ -50,7 +51,9 @@ fr: import: resources: "Fichier à importer" created_at: "Créé le" - status: "Status" + started_at: Démarrage + name: "Nom de l'import" + status: "Statut" no_save: "Pas de sauvegarde" references_type: "Données à importer" rule_parameter_set_id: "Jeu de paramètres pour validation" diff --git a/db/schema.rb b/db/schema.rb index 01ed67d77..3abb47e8c 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -852,6 +852,10 @@ ActiveRecord::Schema.define(version: 20170808110333) do add_index "workbenches", ["organisation_id"], name: "index_workbenches_on_organisation_id", using: :btree add_index "workbenches", ["stop_area_referential_id"], name: "index_workbenches_on_stop_area_referential_id", using: :btree + create_table "yyy", id: false, force: :cascade do |t| + t.text "value" + end + add_foreign_key "access_links", "access_points", name: "aclk_acpt_fkey" add_foreign_key "group_of_lines_lines", "group_of_lines", name: "groupofline_group_fkey", on_delete: :cascade add_foreign_key "journey_frequencies", "timebands", on_delete: :nullify |
