Compare commits

..

2 Commits

Author SHA1 Message Date
7fdb15f7e8 more logging 2026-02-10 22:09:16 -05:00
6e11e05a24 2026.2.5 2026-02-09 21:54:01 -05:00
2 changed files with 19 additions and 6 deletions

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.4' version '2026.2.5'
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'

View File

@@ -14,28 +14,41 @@ module RedmineQbo
include IssuesHelper include IssuesHelper
# Check the new issue form for a valid project. # Check the new issue form for a valid project.
# This is added to help prevent 422 unprocessable entity errors when creating an issue # 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 # See https://github.com/redmine/redmine/blob/84483d63828d0cb2efbf5bd786a2f0d22e34c93d/app/controllers/issues_controller.rb#L179
def controller_issues_new_before_save(context={}) def controller_issues_new_before_save(context={})
Rails.logger.debug "RedmineQbo::Hooks::IssuesHookListener.controller_issues_new_before_save: Checking for nil project or tracker"
Rails.logger.debug context[:params].inspect
Rails.logger.debug context[:issue].inspect
Rails.logger.debug context[:issue].project
Rails.logger.debug context[:issue].tracker
error = ""
if context[:issue].project.nil? if context[:issue].project.nil?
context[:issue].project = projects_for_select(context[:issue]).first context[:issue].project ||= projects_for_select(context[:issue]).first
Rails.logger.error I18n.t(:notice_error_project_nil) + context[:issue].project.to_s 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 error = I18n.t(:notice_error_project_nil) + context[:issue].project.to_s
end end
if context[:issue].tracker.nil? if context[:issue].tracker.nil?
context[:issue].tracker = trackers_for_select(context[:issue]).first context[:issue].tracker ||= trackers_for_select(context[:issue]).first
Rails.logger.error I18n.t(:notice_error_tracker_nil) + context[:issue].tracker.to_s 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 error << "\n"
error << I18n.t(:notice_error_tracker_nil) + context[:issue].tracker.to_s
end end
context[:controller].flash[:error] = error unless error.blank?
Rails.logger.debug error unless error.blank?
return context return context
end end
# Edit Issue Form # Edit Issue Form
# Here we build the required form components before passing them to a partial view formatting. # Here we build the required form components before passing them to a partial view formatting.
def view_issues_form_details_bottom(context={}) def view_issues_form_details_bottom(context={})
Rails.logger.debug "RedmineQbo::Hooks::IssuesHookListener.view_issues_form_details_bottom: Building form components for quickbooks customer, estimate, and invoice data"
Rails.logger.debug context[:issue].inspect
f = context[:form] f = context[:form]
issue = context[:issue] issue = context[:issue]