From a741cd0217d637c5616db0655e73e5e3849fc350 Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Thu, 22 Jan 2026 21:54:03 -0500 Subject: [PATCH 1/4] update readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8e6187f..1b852fd 100644 --- a/README.md +++ b/README.md @@ -93,6 +93,7 @@ To enable automatic Time Activity entries for an Issue, you simply need to assig ## TODO * Separate Vehicles into a separate plugin (I use Redmine for my automotive shop management 😉) + * Checkout branch dev-6 for a stripped down version * MORE Stuff as I make it up... From c1af031d221bf46fc1b058b1b3052491c0188b87 Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Fri, 23 Jan 2026 21:40:08 -0500 Subject: [PATCH 2/4] Link to sandbox if enabled --- app/views/customers/show.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/customers/show.html.erb b/app/views/customers/show.html.erb index 41dc594..15570f7 100644 --- a/app/views/customers/show.html.erb +++ b/app/views/customers/show.html.erb @@ -1,4 +1,4 @@ -

<%=t(:field_customer)%> #<%= @customer.id %> - <%= link_to @customer.to_s, "https://app.qbo.intuit.com/app/customerdetail?nameId=#{@customer.id}", target: :_blank %>

+

<%=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 %>

From 479be461a69d3150e54501d2eec2c068f6335665 Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Mon, 26 Jan 2026 10:08:53 -0500 Subject: [PATCH 3/4] Dynamically load updateIssueFrom javascript path --- lib/hooks/issues_form_hook_listener.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/hooks/issues_form_hook_listener.rb b/lib/hooks/issues_form_hook_listener.rb index a880a31..d1750b1 100644 --- a/lib/hooks/issues_form_hook_listener.rb +++ b/lib/hooks/issues_form_hook_listener.rb @@ -12,6 +12,8 @@ module Hooks class IssuesFormHookListener < Redmine::Hook::ViewListener + include IssuesHelper + # Edit Issue Form # Here we build the required form components before passing them to a partial view formatting. def view_issues_form_details_bottom(context={}) @@ -31,7 +33,7 @@ module Hooks selected_vehicle = issue.vehicles_id ? issue.vehicles_id : nil # Gernerate edit.js link - js_link = issue.new_record? ? "updateIssueFrom('/projects/rmt/issues/new.js', this)" : "updateIssueFrom('/issues/#{issue.id}/edit.js', this)" + js_link = "updateIssueFrom('#{escape_javascript update_issue_form_path(issue.project, issue)}', this)" # Load customer information customer = Customer.find_by_id(selected_customer) if selected_customer From 31406af681157f6acdfa4daef65fbcf40f8f26e2 Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Mon, 26 Jan 2026 10:09:24 -0500 Subject: [PATCH 4/4] Version bump 2026.1.1 --- init.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/init.rb b/init.rb index 34e373e..6daebab 100644 --- a/init.rb +++ b/init.rb @@ -14,7 +14,7 @@ Redmine::Plugin.register :redmine_qbo do name 'Redmine Quickbooks Online plugin' author 'Rick Barrette' description 'This is a plugin for Redmine to intergrate with Quickbooks Online to allow for seamless intergration CRM and invoicing of completed issues' - version '2026.1.0' + version '2026.1.1' url 'https://github.com/rickbarrette/redmine_qbo' author_url 'https://barrettefabrication.com' settings :default => {'empty' => true}, :partial => 'qbo/settings'