Updated how settings are handled.

Note: Breaking change. Will need to update settings after update
This commit is contained in:
2026-03-21 10:25:46 -04:00
parent eacdecd65b
commit 7149e85d37
5 changed files with 29 additions and 10 deletions

View File

@@ -14,7 +14,7 @@ class QboWebhookProcessor
def self.process!(request:)
body = request.raw_post
signature = request.headers['intuit-signature']
secret = Setting.plugin_redmine_qbo['settingsWebhookToken']
secret = RedmineQbo.webhook_token_secret
raise "Invalid signature" unless valid_signature?(body, signature, secret)

View File

@@ -75,11 +75,8 @@ module QuickbooksOauth
# This method will construct and return an instance of the OAuth2::Client class that is configured with the consumer key, consumer secret and the appropriate URLs for the Intuit OAuth2 service. It will also set the sandbox mode based on the plugin settings. This method is used by the instance method oauth_client to create a new OAuth2 client for each instance of the model that includes this concern.
def construct_oauth2_client
oauth_consumer_key = Setting.plugin_redmine_qbo['settingsOAuthConsumerKey']
oauth_consumer_secret = Setting.plugin_redmine_qbo['settingsOAuthConsumerSecret']
# Are we are playing in the sandbox?
Quickbooks.sandbox_mode = Setting.plugin_redmine_qbo[:sandbox] ? true : false
Quickbooks.sandbox_mode = RedmineQbo.sandbox_mode?
log "Sandbox mode: #{Quickbooks.sandbox_mode}"
options = {
@@ -87,7 +84,7 @@ module QuickbooksOauth
authorize_url: "https://appcenter.intuit.com/connect/oauth2",
token_url: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"
}
OAuth2::Client.new(oauth_consumer_key, oauth_consumer_secret, options)
OAuth2::Client.new(RedmineQbo.oauth_consumer_key, RedmineQbo.oauth_consumer_secret, options)
end
end

View File

@@ -1,4 +1,4 @@
<h2><%=t(:field_customer)%> #<%= @customer.id %> - <%= link_to @customer.to_s, "https://#{Setting.plugin_redmine_qbo[:sandbox] ? "sandbox" : "app"}.qbo.intuit.com/app/customerdetail?nameId=#{@customer.id}", target: :_blank %> </h2>
<h2><%=t(:field_customer)%> #<%= @customer.id %> - <%= link_to @customer.to_s, "https://#{RedmineQbo.sandbox_mode? ? "sandbox" : "app"}.qbo.intuit.com/app/customerdetail?nameId=#{@customer.id}", target: :_blank %> </h2>
<div class="issue">
<div class="splitcontent">

View File

@@ -6,17 +6,17 @@
<div class="box tabular">
<p>
<label><%= t(:label_client_id) %></label>
<%= text_field_tag 'settings[settingsOAuthConsumerKey]', settings['settingsOAuthConsumerKey'], size: 50 %>
<%= text_field_tag 'settings[oauth_consumer_key]', settings[:oauth_consumer_key], size: 50 %>
</p>
<p>
<label><%= t(:label_client_secret) %></label>
<%= password_field_tag 'settings[settingsOAuthConsumerSecret]', settings['settingsOAuthConsumerSecret'], size: 50 %>
<%= password_field_tag 'settings[oauth_consumer_secret]', settings[:oauth_consumer_secret], size: 50 %>
</p>
<p>
<label><%= t(:label_webhook_token) %></label>
<%= text_field_tag 'settings[settingsWebhookToken]', settings['settingsWebhookToken'], size: 50 %>
<%= text_field_tag 'settings[webhook_token]', settings[:webhook_token], size: 50 %>
</p>
<p>