diff --git a/app/jobs/qbo_webhook_processor.rb b/app/jobs/qbo_webhook_processor.rb index 07bf633..e62415a 100644 --- a/app/jobs/qbo_webhook_processor.rb +++ b/app/jobs/qbo_webhook_processor.rb @@ -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) diff --git a/app/models/concerns/quickbooks_oauth.rb b/app/models/concerns/quickbooks_oauth.rb index c7f6f2d..46c308c 100644 --- a/app/models/concerns/quickbooks_oauth.rb +++ b/app/models/concerns/quickbooks_oauth.rb @@ -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 diff --git a/app/views/customers/show.html.erb b/app/views/customers/show.html.erb index 33df5d0..484a532 100644 --- a/app/views/customers/show.html.erb +++ b/app/views/customers/show.html.erb @@ -1,4 +1,4 @@ -
- <%= text_field_tag 'settings[settingsOAuthConsumerKey]', settings['settingsOAuthConsumerKey'], size: 50 %> + <%= text_field_tag 'settings[oauth_consumer_key]', settings[:oauth_consumer_key], size: 50 %>
- <%= password_field_tag 'settings[settingsOAuthConsumerSecret]', settings['settingsOAuthConsumerSecret'], size: 50 %> + <%= password_field_tag 'settings[oauth_consumer_secret]', settings[:oauth_consumer_secret], size: 50 %>
- <%= text_field_tag 'settings[settingsWebhookToken]', settings['settingsWebhookToken'], size: 50 %> + <%= text_field_tag 'settings[webhook_token]', settings[:webhook_token], size: 50 %>
diff --git a/lib/redmine_qbo.rb b/lib/redmine_qbo.rb index 4a35629..d4234fc 100644 --- a/lib/redmine_qbo.rb +++ b/lib/redmine_qbo.rb @@ -30,4 +30,26 @@ module RedmineQbo RedmineQbo::Hooks::UsersShowHookListener RedmineQbo::Hooks::ViewHookListener end + + def self.settings + Setting.plugin_redmine_qbo + end + + def self.oauth_consumer_key + settings[:oauth_consumer_key] + end + + def self.oauth_consumer_secret + settings[:oauth_consumer_secret] + end + + def self.sandbox_mode? + settings[:sandbox] ? true : false + end + + def self.webhook_token_secret + settings[:webhook_token] + end + + end \ No newline at end of file