Move sending of PDF into new ActiveSupport::Concern
This commit is contained in:
parent
e5f64cff8c
commit
5dab748fe3
2 changed files with 19 additions and 7 deletions
17
app/controllers/concerns/send_order_pdf.rb
Normal file
17
app/controllers/concerns/send_order_pdf.rb
Normal file
|
@ -0,0 +1,17 @@
|
|||
module Concerns::SendOrderPdf
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
protected
|
||||
|
||||
def send_order_pdf order, document
|
||||
klass = case document
|
||||
when 'groups' then OrderByGroups
|
||||
when 'articles' then OrderByArticles
|
||||
when 'fax' then OrderFax
|
||||
when 'matrix' then OrderMatrix
|
||||
end
|
||||
pdf = klass.new order
|
||||
send_data pdf.to_pdf, filename: pdf.filename, type: 'application/pdf'
|
||||
end
|
||||
|
||||
end
|
|
@ -3,6 +3,7 @@
|
|||
# Controller for managing orders, i.e. all actions that require the "orders" role.
|
||||
# Normal ordering actions of members of order groups is handled by the OrderingController.
|
||||
class OrdersController < ApplicationController
|
||||
include Concerns::SendOrderPdf
|
||||
|
||||
before_filter :authenticate_pickups_or_orders
|
||||
before_filter :authenticate_orders, except: [:receive, :receive_on_order_article_create, :receive_on_order_article_update, :show]
|
||||
|
@ -46,13 +47,7 @@ class OrdersController < ApplicationController
|
|||
render :layout => false
|
||||
end
|
||||
format.pdf do
|
||||
pdf = case params[:document]
|
||||
when 'groups' then OrderByGroups.new(@order)
|
||||
when 'articles' then OrderByArticles.new(@order)
|
||||
when 'fax' then OrderFax.new(@order)
|
||||
when 'matrix' then OrderMatrix.new(@order)
|
||||
end
|
||||
send_data pdf.to_pdf, filename: pdf.filename, type: 'application/pdf'
|
||||
send_order_pdf @order, params[:document]
|
||||
end
|
||||
format.csv do
|
||||
send_data OrderCsv.new(@order).to_csv, filename: @order.name+'.csv', type: 'text/csv'
|
||||
|
|
Loading…
Reference in a new issue