1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-10 21:24:20 +01:00
fab-manager/app/workers/invoice_worker.rb

28 lines
888 B
Ruby
Raw Normal View History

# frozen_string_literal: true
# Generates the PDF Document associated with the provided invoice, and send it to the customer
2016-03-23 18:39:41 +01:00
class InvoiceWorker
include Sidekiq::Worker
def perform(invoice_id, subscription_expiration_date)
2016-03-23 18:39:41 +01:00
# generate a invoice
invoice = Invoice.find invoice_id
pdf = ::PDF::Invoice.new(invoice, subscription_expiration_date).render
2016-03-23 18:39:41 +01:00
# store invoice on drive
File.binwrite(invoice.file, pdf)
# notify user + send invoice by mail
if invoice.is_a?(Avoir)
NotificationCenter.call type: 'notify_user_when_avoir_ready',
receiver: invoice.user,
attached_object: invoice
else
NotificationCenter.call type: 'notify_user_when_invoice_ready',
receiver: invoice.user,
attached_object: invoice
end
end
end