diff --git a/app/models/directo.rb b/app/models/directo.rb index 0bfdd4548..523a7b036 100644 --- a/app/models/directo.rb +++ b/app/models/directo.rb @@ -60,7 +60,8 @@ class Directo < ActiveRecord::Base end - def self.send_monthly_invoices + def self.send_monthly_invoices(debug: false) + @debug = debug I18n.locale = :et month = Time.now - 1.month invoices_until = month.end_of_month @@ -141,10 +142,14 @@ class Directo < ActiveRecord::Base data = builder.to_xml.gsub("\n",'') response = RestClient::Request.execute(url: ENV['directo_invoice_url'], method: :post, payload: {put: "1", what: "invoice", xmldata: data}, verify_ssl: false).to_s - Setting.directo_monthly_number_last = directo_next - Nokogiri::XML(response).css("Result").each do |res| - Directo.create!(response: res.as_json.to_h, invoice_number: directo_next) - Rails.logger.info("[DIRECTO] Invoice #{res.attributes["docid"].value} was pushed and return is #{res.as_json.to_h.inspect}") + if @debug + STDOUT << "#{Time.zone.now.utc} - Directo xml had to be sent #{data}\n" + else + Setting.directo_monthly_number_last = directo_next + Nokogiri::XML(response).css("Result").each do |res| + Directo.create!(request: data, response: res.as_json.to_h, invoice_number: directo_next) + Rails.logger.info("[DIRECTO] Invoice #{res.attributes["docid"].value} was pushed and return is #{res.as_json.to_h.inspect}") + end end else Rails.logger.info("[DIRECTO] Registrar #{registrar.id} has nothing to be sent to Directo") diff --git a/db/migrate/20160405131315_add_request_to_directo.rb b/db/migrate/20160405131315_add_request_to_directo.rb new file mode 100644 index 000000000..2efb95f7d --- /dev/null +++ b/db/migrate/20160405131315_add_request_to_directo.rb @@ -0,0 +1,5 @@ +class AddRequestToDirecto < ActiveRecord::Migration + def change + add_column :directos, :request, :text + end +end