Fixed partial billing and added flash messages

This commit is contained in:
2026-02-13 18:25:07 -05:00
parent e63b9e4217
commit 359c582e22
3 changed files with 14 additions and 8 deletions

View File

@@ -64,10 +64,15 @@ class QboController < ApplicationController
def bill
i = Issue.find_by_id params[:id]
if i.customer
i.bill_time
redirect_to i, flash: { notice: I18n.t(:label_billed_success) + i.customer.name }
billed = i.bill_time
if i.bill_time
redirect_to i, flash: { notice: I18n.t( :label_billed_success ) + i.customer.name }
else
redirect_to i, flash: { error: I18n.t(:label_billing_error) }
end
else
redirect_to i, flash: { error: I18n.t(:label_billing_error) }
redirect_to i, flash: { error: I18n.t(:label_billing_error_no_customer) }
end
end

View File

@@ -74,7 +74,8 @@ en:
label_connected: "Successfully connected to Quickbooks"
label_error: "Error"
label_billed_success: "Successfully Billed "
label_billing_error: "Cannot bill without a customer assigned"
label_billing_error: "Customer could not be billed, check for Customer or Assignee and try again"
label_billing_error_no_customer: "Cannot bill without a customer assigned"
label_qbo_sync_success: "Successfully synced to Quickbooks"
label_hours: "Hours"
label_oauth2_refresh_token_expires_at: "Refresh Token Expires At"

View File

@@ -44,10 +44,9 @@ module RedmineQbo
# Create billable time entries
def bill_time
logger.debug "QBO: Billing time for issue ##{id}"
return unless status.is_closed?
return if assigned_to.nil?
return unless Qbo.first
return unless customer
return false if assigned_to.nil?
return false unless Qbo.first
return false unless customer
Thread.new do
spent_time = time_entries.where(billed: [false, nil])
@@ -102,6 +101,7 @@ module RedmineQbo
end
end
end
return true
end
end