From 65041c78c5fee27e6e44b7618f7c295dc272967e Mon Sep 17 00:00:00 2001 From: wvengen Date: Fri, 17 Jan 2014 15:03:46 +0100 Subject: [PATCH] allow to preselect order view --- app/controllers/orders_controller.rb | 13 +++++++------ app/helpers/orders_helper.rb | 3 ++- app/views/orders/show.html.haml | 13 +++---------- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb index 7d326c40..72507567 100644 --- a/app/controllers/orders_controller.rb +++ b/app/controllers/orders_controller.rb @@ -28,16 +28,17 @@ class OrdersController < ApplicationController # Renders also the pdf def show @order= Order.find(params[:id]) + @view = (params[:view] or 'default').gsub(/[^-_a-zA-Z0-9]/, '') respond_to do |format| + @partial = case @view + when 'default' then "articles" + when 'groups'then 'shared/articles_by_groups' + when 'articles'then 'shared/articles_by_articles' + else 'articles' + end format.html format.js do - @partial = case params[:view] - when 'default' then "articles" - when 'groups'then 'shared/articles_by_groups' - when 'articles'then 'shared/articles_by_articles' - else 'articles' - end render :layout => false end format.pdf do diff --git a/app/helpers/orders_helper.rb b/app/helpers/orders_helper.rb index 886e7bda..cb4aebba 100644 --- a/app/helpers/orders_helper.rb +++ b/app/helpers/orders_helper.rb @@ -2,7 +2,8 @@ module OrdersHelper def update_articles_link(order, text, view, options={}) - options.merge!({remote: true, id: "view_#{view}_btn"}) + options = {remote: true, id: "view_#{view}_btn", class: ''}.merge(options) + options[:class] += ' active' if view.to_s == @view.to_s link_to text, order_path(order, view: view), options end diff --git a/app/views/orders/show.html.haml b/app/views/orders/show.html.haml index e7ed7ae0..24006336 100644 --- a/app/views/orders/show.html.haml +++ b/app/views/orders/show.html.haml @@ -41,7 +41,7 @@ .btn-toolbar .btn-group.view_buttons - = update_articles_link @order, t('.articles'), :default, class: 'btn active' + = update_articles_link @order, t('.articles'), :default, class: 'btn' = update_articles_link @order, t('.sort_group'), :groups, class: 'btn' = update_articles_link @order, t('.sort_article'), :articles, class: 'btn' @@ -69,15 +69,8 @@ class: 'btn btn-danger' --# unless @order.open? - %ul.nav.nav-pills - %li= update_articles_link(@order, t('.articles'), :default) - %li= update_articles_link(@order, t('.sort_group'), :groups) - %li= update_articles_link(@order, t('.sort_article'), :articles) - %li= link_to t('.comments_link'), '#comments' - %section#articles_table - = render 'articles', order: @order + = render @partial, order: @order %h2= t '.comments.title' #comments @@ -103,5 +96,5 @@ $('#query').attr('placeholder', placeholder); } $(function() { - activate_search('default', '#{j t('.search_placeholder.default')}'); + activate_search('#{j @view}', '#{j t(".search_placeholder.#{@view}")}'); });