diff --git a/app/jobs/send_e_invoice_job.rb b/app/jobs/send_e_invoice_job.rb index f8b1f8296..6b5fd4bba 100644 --- a/app/jobs/send_e_invoice_job.rb +++ b/app/jobs/send_e_invoice_job.rb @@ -21,7 +21,7 @@ class SendEInvoiceJob < ApplicationJob end def process(invoice:, payable:) - invoice.to_e_invoice(payable: payable).deliver + invoice.to_e_invoice(payable: payable).deliver unless Rails.env.development? invoice.update(e_invoice_sent_at: Time.zone.now) log_success(invoice) end diff --git a/app/models/concerns/invoice/cancellable.rb b/app/models/concerns/invoice/cancellable.rb index 0374c9d2a..8c9e142a8 100644 --- a/app/models/concerns/invoice/cancellable.rb +++ b/app/models/concerns/invoice/cancellable.rb @@ -15,7 +15,7 @@ module Invoice::Cancellable end def cancelled? - cancelled_at + cancelled_at.present? end def not_cancelled? diff --git a/app/models/registrar.rb b/app/models/registrar.rb index 284df83aa..2f5cca0ad 100644 --- a/app/models/registrar.rb +++ b/app/models/registrar.rb @@ -105,7 +105,7 @@ class Registrar < ApplicationRecord .deliver_later(wait: 1.minute) end - SendEInvoiceJob.perform_later(invoice.id, payable) + SendEInvoiceJob.perform_now(invoice.id, payable) invoice end diff --git a/lib/tasks/invoices/process_payments.rake b/lib/tasks/invoices/process_payments.rake index 5e9972669..0d8f7c7d4 100644 --- a/lib/tasks/invoices/process_payments.rake +++ b/lib/tasks/invoices/process_payments.rake @@ -22,6 +22,30 @@ namespace :invoices do end end + process_transactions(incoming_transactions) + + puts "Transactions processed: #{incoming_transactions.size}" + end + + task test_payments: :environment do + registrar = Invoice.last.buyer + transactions = [OpenStruct.new(amount: 0.1, + currency: 'EUR', + date: Time.zone.today, + payment_reference_number: registrar.reference_no, + payment_description: "description #{registrar.reference_no}")] + process_transactions(transactions) + puts 'Last registrar invoice is' + pp registrar.invoices.last + puts "Last invoice paid at #{registrar.invoices.last.receipt_date}" + end + + def log(msg) + @log ||= Logger.new(STDOUT) + @log.info(msg) + end + + def process_transactions(incoming_transactions) if incoming_transactions.any? log 'Got incoming transactions' log incoming_transactions @@ -51,12 +75,5 @@ namespace :invoices do else log 'Got no incoming transactions parsed, aborting' end - - puts "Transactions processed: #{incoming_transactions.size}" - end - - def log(msg) - @log ||= Logger.new(STDOUT) - @log.info(msg) end end