mirror of
https://github.com/rickbarrette/redmine_qbo.git
synced 2026-02-13 09:13:58 -05:00
Compare commits
8 Commits
d8d34540a9
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| f0c0a42c96 | |||
| a4b51457bb | |||
| fb4a883b43 | |||
| c24ec93335 | |||
| df49964bf9 | |||
| 502ba94465 | |||
| ff038fe5ae | |||
| 3eed122598 |
@@ -3,7 +3,7 @@
|
|||||||
<br/>
|
<br/>
|
||||||
<br/>
|
<br/>
|
||||||
|
|
||||||
<%= link_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/>
|
||||||
|
|||||||
@@ -100,4 +100,5 @@ en:
|
|||||||
notice_forbidden: "You do not have permission to access this resource"
|
notice_forbidden: "You do not have permission to access this resource"
|
||||||
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: "
|
||||||
2
init.rb
2
init.rb
@@ -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.3
|
version '2026.2.4'
|
||||||
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'
|
||||||
|
|||||||
@@ -15,16 +15,23 @@ 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={})
|
||||||
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
|
||||||
context[:controller].flash[: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
|
||||||
end
|
context[:controller].flash[:error] = I18n.t(:notice_error_project_nil) + context[:issue].project.to_s
|
||||||
|
end
|
||||||
|
|
||||||
return context
|
if context[:issue].tracker.nil?
|
||||||
end
|
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
|
# 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.
|
||||||
|
|||||||
Reference in New Issue
Block a user