Compare commits

...

11 Commits

Author SHA1 Message Date
ricky f0c0a42c96 2026.2.4 2026-02-09 20:04:47 -05:00
ricky a4b51457bb moved controller_issues_new_before_save nito issues_hook_listener 2026-02-09 20:04:16 -05:00
ricky fb4a883b43 Added logging 2026-02-09 14:31:56 -05:00
ricky c24ec93335 force a tracker if still nil 2026-02-09 14:21:50 -05:00
ricky df49964bf9 added tracker nil check 2026-02-09 14:19:31 -05:00
ricky 502ba94465 Readded missing controller_issues_new_before_save 2026-02-09 14:12:01 -05:00
ricky ff038fe5ae removed method: :get from estimate link 2026-02-09 10:41:48 -05:00
ricky 3eed122598 fixed typo 2026-02-09 10:38:10 -05:00
ricky d8d34540a9 use link_to, as button_to doesn't allow for openign links in a new tab 2026-02-09 10:35:12 -05:00
ricky c01cc5ca97 2026.2.3 2026-02-09 09:36:50 -05:00
ricky 6a2f7a1146 initialize string link 2026-02-09 09:21:42 -05:00
5 changed files with 21 additions and 12 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
<br/>
<br/>
<%= button_to t(:label_create_estimate), "https://qbo.intuit.com/app/estimate?nameId=#{@customer.id}", target: :_blank, method: :get %>
<%= link_to t(:label_create_estimate), "https://qbo.intuit.com/app/estimate?nameId=#{@customer.id}", target: :_blank %>
<br/>
<br/>
+1
View File
@@ -101,3 +101,4 @@ en:
notice_issue_not_found: "Issue not found"
customer_details: "Customer Details"
notice_error_project_nil: "The issue's project is nil, set project to: "
notice_error_tracker_nil: "The issue's tracker is nil, set tracker to: "
+1 -1
View File
@@ -14,7 +14,7 @@ Redmine::Plugin.register :redmine_qbo do
name 'Redmine QBO plugin'
author 'Rick Barrette'
description 'A pluging for Redmine to connect with QuickBooks Online to create Time Activity Entries for billable hours logged when an Issue is closed'
version '2026.2.2'
version '2026.2.4'
url 'https://github.com/rickbarrette/redmine_qbo'
author_url 'https://barrettefabrication.com'
settings default: {empty: true}, partial: 'qbo/settings'
+16 -9
View File
@@ -15,16 +15,23 @@ module RedmineQbo
include IssuesHelper
# Check the new issue form for a valid project.
# This is added to help prevent 422 unprocessable entity errors when creating an issue
# See https://github.com/redmine/redmine/blob/84483d63828d0cb2efbf5bd786a2f0d22e34c93d/app/controllers/issues_controller.rb#L179
def controller_issues_new_before_save(context={})
if context[:issue].project.nil?
context[:issue].project = projects_for_select(context[:issue]).first
context[:controller].flash[:error] = I18n.t(:notice_error_project_nil) + context[:issue].project.to_s
end
# This is added to help prevent 422 unprocessable entity errors when creating an issue
# See https://github.com/redmine/redmine/blob/84483d63828d0cb2efbf5bd786a2f0d22e34c93d/app/controllers/issues_controller.rb#L179
def controller_issues_new_before_save(context={})
if context[:issue].project.nil?
context[:issue].project = projects_for_select(context[:issue]).first
Rails.logger.error I18n.t(:notice_error_project_nil) + context[:issue].project.to_s
context[:controller].flash[:error] = I18n.t(:notice_error_project_nil) + context[:issue].project.to_s
end
return context
end
if context[:issue].tracker.nil?
context[:issue].tracker = trackers_for_select(context[:issue]).first
Rails.logger.error I18n.t(:notice_error_tracker_nil) + context[:issue].tracker.to_s
context[:controller].flash[:error] = I18n.t(:notice_error_tracker_nil) + context[:issue].tracker.to_s
end
return context
end
# Edit Issue Form
# Here we build the required form components before passing them to a partial view formatting.
@@ -15,6 +15,7 @@ module RedmineQbo
module Helper
def watcher_link(issue, user)
link = ''
link = link_to(I18n.t(:label_bill_time), bill_path( issue.id ), method: :get, class: 'icon icon-email-add') if user.admin?
link << link_to(I18n.t(:label_share), share_path( issue.id ), method: :get, target: :_blank, class: 'icon icon-shared') if user.logged?
link.html_safe + super