diff options
| -rw-r--r-- | app/controllers/workbenches_controller.rb | 15 | ||||
| -rw-r--r-- | app/views/referentials/_form.html.slim | 2 | ||||
| -rw-r--r-- | app/views/workbenches/show.html.slim | 7 | ||||
| -rw-r--r-- | config/locales/actions.fr.yml | 1 |
4 files changed, 18 insertions, 7 deletions
diff --git a/app/controllers/workbenches_controller.rb b/app/controllers/workbenches_controller.rb index a3370192b..cbbf1b058 100644 --- a/app/controllers/workbenches_controller.rb +++ b/app/controllers/workbenches_controller.rb @@ -10,8 +10,17 @@ class WorkbenchesController < BreadcrumbController @q = scope.ransack(params[:q]) @q.organisation_name_eq_any ||= current_organisation.name unless params[:q] - @collection = @q.result(distinct: true) - @wbench_refs = @collection.order(sort_column + ' ' + sort_direction).paginate(page: params[:page], per_page: 30) + @wbench_refs = @q.result + # @wbench_refs = Workbench.find(params[:id]).referentials + + case sort_column + when "lines" + @wbench_refs = @wbench_refs.joins(:metadatas).group("referentials.id").order("sum(array_length(referential_metadata.line_ids,1)) #{sort_direction}") + else + @wbench_refs = @wbench_refs.order("#{sort_column} #{sort_direction}") + end + + @wbench_refs = @wbench_refs.paginate(page: params[:page], per_page: 30) show! do build_breadcrumb :show @@ -30,7 +39,7 @@ class WorkbenchesController < BreadcrumbController private def sort_column - Workbench.find(params[:id]).referentials.include?(params[:sort]) ? params[:sort] : 'name' + (Workbench.find(params[:id]).referentials.column_names + %w{lines}).include?(params[:sort]) ? params[:sort] : 'name' end def sort_direction diff --git a/app/views/referentials/_form.html.slim b/app/views/referentials/_form.html.slim index a33c2fab0..f209b278e 100644 --- a/app/views/referentials/_form.html.slim +++ b/app/views/referentials/_form.html.slim @@ -69,4 +69,4 @@ .hidden = form.input :workbench_id, as: :hidden - = form.button :submit, class: 'btn btn-default formSubmitr', form: 'referential_form' + = form.button :submit, t('actions.submit'), class: 'btn btn-default formSubmitr', form: 'referential_form' diff --git a/app/views/workbenches/show.html.slim b/app/views/workbenches/show.html.slim index f6c4c9c10..cbc9f3493 100644 --- a/app/views/workbenches/show.html.slim +++ b/app/views/workbenches/show.html.slim @@ -15,17 +15,18 @@ - if params[:q].present? or @wbench_refs.any? .row.mb-sm .col-lg-12.text-right - = new_pagination @wbench_refs + / = new_pagination @wbench_refs .row .col-lg-12 - = render 'filters' + / = render 'filters' - if @wbench_refs.any? .row .col-lg-12 = table_builder @wbench_refs, - { :name => 'name', :status => Proc.new {|w| w.archived? ? ("<span class='fa fa-archive'></span> Conservé").html_safe : '-'}, + { :name => 'name', + :status => Proc.new {|w| w.archived? ? ("<span class='fa fa-archive'></span> Conservé").html_safe : '-'}, :organisation => Proc.new {|w| w.organisation.name}, :validity_period => Proc.new {|w| w.validity_period.nil? ? '-' : t('validity_range', debut: l(w.try(:validity_period).try(:begin), format: :short), end: l(w.try(:validity_period).try(:end), format: :short))}, :lines => Proc.new {|w| w.lines.count}, diff --git a/config/locales/actions.fr.yml b/config/locales/actions.fr.yml index 6ac5744df..0cd3de8e5 100644 --- a/config/locales/actions.fr.yml +++ b/config/locales/actions.fr.yml @@ -4,6 +4,7 @@ fr: destroy: 'Supprimer' delete: 'Supprimer' search: "Chercher" + submit: "Valider" add: 'Ajouter' show: 'Consulter' archive: 'Conserver' |
