Add a printer job queue via the printer plugin
This commit is contained in:
parent
63e1541aa3
commit
c955a6ee40
24 changed files with 561 additions and 1 deletions
26
plugins/printer/lib/foodsoft_printer/engine.rb
Normal file
26
plugins/printer/lib/foodsoft_printer/engine.rb
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
module FoodsoftPrinter
|
||||
class Engine < ::Rails::Engine
|
||||
def navigation(primary, context)
|
||||
return unless FoodsoftPrinter.enabled?
|
||||
unless primary[:orders].nil?
|
||||
sub_nav = primary[:orders].sub_navigation
|
||||
sub_nav.items <<
|
||||
SimpleNavigation::Item.new(primary, :printer_jobs, I18n.t('navigation.orders.printer_jobs'), context.printer_jobs_path)
|
||||
end
|
||||
end
|
||||
|
||||
def default_foodsoft_config(cfg)
|
||||
cfg[:use_printer] = false
|
||||
end
|
||||
|
||||
initializer 'foodsoft_printer.order_printer_jobs' do |app|
|
||||
if Rails.configuration.cache_classes
|
||||
OrderPrinterJobs.install
|
||||
else
|
||||
ActionDispatch::Reloader.to_prepare do
|
||||
OrderPrinterJobs.install
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
26
plugins/printer/lib/foodsoft_printer/order_printer_jobs.rb
Normal file
26
plugins/printer/lib/foodsoft_printer/order_printer_jobs.rb
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
module FoodsoftPrinter
|
||||
|
||||
module OrderPrinterJobs
|
||||
def self.included(base) # :nodoc:
|
||||
base.class_eval do
|
||||
has_many :printer_jobs, dependent: :destroy
|
||||
|
||||
alias foodsoft_printer_orig_finish! finish!
|
||||
|
||||
def finish!(user)
|
||||
foodsoft_printer_orig_finish!(user)
|
||||
unless finished?
|
||||
printer_jobs.unfinished.each do |job|
|
||||
job.add_update! 'ready'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def self.install
|
||||
Order.send :include, self
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
3
plugins/printer/lib/foodsoft_printer/version.rb
Normal file
3
plugins/printer/lib/foodsoft_printer/version.rb
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
module FoodsoftPrinter
|
||||
VERSION = "0.0.1"
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue