mirror of
https://github.com/rickbarrette/redmine_qbo.git
synced 2026-04-02 08:21:57 -04:00
Updated how settings are handled.
Note: Breaking change. Will need to update settings after update
This commit is contained in:
@@ -14,7 +14,7 @@ class QboWebhookProcessor
|
|||||||
def self.process!(request:)
|
def self.process!(request:)
|
||||||
body = request.raw_post
|
body = request.raw_post
|
||||||
signature = request.headers['intuit-signature']
|
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)
|
raise "Invalid signature" unless valid_signature?(body, signature, secret)
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
# 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
|
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?
|
# 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}"
|
log "Sandbox mode: #{Quickbooks.sandbox_mode}"
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
@@ -87,7 +84,7 @@ module QuickbooksOauth
|
|||||||
authorize_url: "https://appcenter.intuit.com/connect/oauth2",
|
authorize_url: "https://appcenter.intuit.com/connect/oauth2",
|
||||||
token_url: "https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer"
|
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
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -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="issue">
|
||||||
|
|
||||||
<div class="splitcontent">
|
<div class="splitcontent">
|
||||||
|
|||||||
@@ -6,17 +6,17 @@
|
|||||||
<div class="box tabular">
|
<div class="box tabular">
|
||||||
<p>
|
<p>
|
||||||
<label><%= t(:label_client_id) %></label>
|
<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>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<label><%= t(:label_client_secret) %></label>
|
<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>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<label><%= t(:label_webhook_token) %></label>
|
<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>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|||||||
@@ -30,4 +30,26 @@ module RedmineQbo
|
|||||||
RedmineQbo::Hooks::UsersShowHookListener
|
RedmineQbo::Hooks::UsersShowHookListener
|
||||||
RedmineQbo::Hooks::ViewHookListener
|
RedmineQbo::Hooks::ViewHookListener
|
||||||
end
|
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
|
end
|
||||||
Reference in New Issue
Block a user