From 4cb588e992e58dc6f9b00204eb902ccfe107434d Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Fri, 12 Aug 2016 19:25:03 -0400 Subject: [PATCH] Added is_changed to stop endless update loop with webhook --- app/models/qbo_invoice.rb | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/models/qbo_invoice.rb b/app/models/qbo_invoice.rb index 3c4d7e4..daca64a 100644 --- a/app/models/qbo_invoice.rb +++ b/app/models/qbo_invoice.rb @@ -61,6 +61,8 @@ class QboInvoice < ActiveRecord::Base i.qbo_invoice = QboInvoice.find_by_id(invoice.id.to_i) i.save! + is_changed = false + # Update QBO with Milage & VIN invoice.custom_fields.each { |cf| # VIN @@ -72,14 +74,17 @@ class QboInvoice < ActiveRecord::Base # Update Matching Fields i.custom_field_values.each { |value| if cf.name.eql? CustomField.find_by_id(value.custom_field_id).name - cf.string_value = value.value.to_s + if not cf.string_value.to_s.eql? value.value.to_s + cf.string_value = value.value.to_s + is_changed = true + end break end } } } # Push updates - Qbo.get_base(:invoice).service.update(invoice) + Qbo.get_base(:invoice).service.update(invoice) if is_changed end } end