Compare commits

..

9 Commits

Author SHA1 Message Date
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
4 changed files with 26 additions and 3 deletions
+1 -1
View File
@@ -3,7 +3,7 @@
<br/> <br/>
<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/>
<br/> <br/>
+1
View File
@@ -101,3 +101,4 @@ en:
notice_issue_not_found: "Issue not found" notice_issue_not_found: "Issue not found"
customer_details: "Customer Details" customer_details: "Customer Details"
notice_error_project_nil: "The issue's project is nil, set project to: " 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' name 'Redmine QBO plugin'
author 'Rick Barrette' 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' 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.3'
url 'https://github.com/rickbarrette/redmine_qbo' url 'https://github.com/rickbarrette/redmine_qbo'
author_url 'https://barrettefabrication.com' author_url 'https://barrettefabrication.com'
settings default: {empty: true}, partial: 'qbo/settings' settings default: {empty: true}, partial: 'qbo/settings'
@@ -14,7 +14,29 @@ module RedmineQbo
module IssuesControllerPatch module IssuesControllerPatch
module Helper module Helper
# 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
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
if context[:issue].tracker.nil?
context[:issue].tracker = trackers_for_select(context[:issue]).first
context[:issue].tracker = Tracker.first if context[:issue].tracker.nil?
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
def watcher_link(issue, user) 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_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 << 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 link.html_safe + super