57 lines
1.1 KiB
Ruby
57 lines
1.1 KiB
Ruby
module PsAdmin
|
|
# Order logic for admins
|
|
class OrderController < ApplicationController
|
|
before_action :authenticate_admin!
|
|
before_action :set_order, except: [:index]
|
|
layout 'admin'
|
|
def index
|
|
set_orders
|
|
end
|
|
|
|
def show
|
|
#otp = OrderToPdf.new(@order).call
|
|
#puts "#{otp.inspect}"
|
|
end
|
|
|
|
def destroy
|
|
return if @order.blank?
|
|
@order.destroy
|
|
set_orders
|
|
end
|
|
|
|
def anonimize
|
|
return if @order.blank?
|
|
@order.anonimize_data
|
|
set_orders
|
|
end
|
|
|
|
def gen_pdf_file
|
|
otp = OrderToPdf.new(@order).call
|
|
|
|
send_file otp
|
|
end
|
|
|
|
def status_histories
|
|
render layout: false
|
|
end
|
|
|
|
def change_status
|
|
return if params[:status].blank?
|
|
@order.status = params[:status]
|
|
@order.save
|
|
OrderMailer.status_change(@order).deliver_later
|
|
end
|
|
|
|
private
|
|
|
|
def set_order
|
|
@order = Order.where(id: params[:id]).first
|
|
end
|
|
|
|
def set_orders
|
|
@orders = Order.complete.page(params[:page]).per(ENV['order_per_page'])
|
|
.order('order_number DESC')
|
|
end
|
|
end
|
|
end
|