mirror of
https://github.com/rickbarrette/redmine_qbo.git
synced 2026-04-02 08:21:57 -04:00
Compare commits
11 Commits
b0e6236cee
...
2026.3.14
| Author | SHA1 | Date | |
|---|---|---|---|
| f73973a4e1 | |||
| 7cd388dbd4 | |||
| ee2ab04206 | |||
| 8a8c6f5fa0 | |||
| cc36bc16b4 | |||
| 874ec7c2dc | |||
| f3fe38cd57 | |||
| 977cbfe0e1 | |||
| 82712f361c | |||
| 4ae7d75478 | |||
| 8fb9d74277 |
5
Gemfile
5
Gemfile
@@ -4,10 +4,5 @@ gem 'quickbooks-ruby'
|
||||
gem 'oauth2'
|
||||
gem 'roxml'
|
||||
gem 'will_paginate'
|
||||
gem 'jquery-ui-rails'
|
||||
gem 'rexml'
|
||||
gem 'combine_pdf'
|
||||
|
||||
group :assets do
|
||||
gem 'coffee-rails'
|
||||
end
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 672 KiB After Width: | Height: | Size: 269 KiB |
@@ -48,7 +48,7 @@ class WebhookProcessJob < ActiveJob::Base
|
||||
Redmine::Hook.call_hook( :qbo_additional_entities ).each do |context|
|
||||
next unless context
|
||||
Array(context).each do |entity|
|
||||
jobs.push(entity)
|
||||
entities.push(entity)
|
||||
log "Added additional QBO entity #{entity}"
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<%= form_tag(customers_path, method: "get", id: "customer-search-form") do %>
|
||||
<%= text_field_tag :search, params[:search], placeholder: t(:label_search_customers), autocomplete: "off" %>
|
||||
<%= text_field_tag :search, params[:search], class: "customer-name", placeholder: t(:label_search_customers), autocomplete: "off", data: { autocomplete_url: "/customers/autocomplete" } %>
|
||||
<%= submit_tag t(:label_search) %>
|
||||
<% end %>
|
||||
<%= button_to t(:label_new_customer), new_customer_path, method: :get%>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<% estimates.sort.reverse.each do |estimate| %>
|
||||
<div class="row">
|
||||
<%= check_box_tag "estimate_ids[]", estimate.id, false, onchange: "updateLink()", data: { url: estimates_path(estimate), text: "Estimate ##{estimate.to_s}" }, class: "estimate-checkbox appointment" %>
|
||||
<%= check_box_tag "estimate_ids[]", estimate.id, false, onchange: "updateLink()", data: { url: estimate_path(estimate), text: "Estimate ##{estimate.to_s}" }, class: "estimate-checkbox appointment" %>
|
||||
<b><%= link_to "##{estimate.doc_number}", estimate_path(estimate), target: :_blank %></b> <%= estimate.txn_date %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
@@ -55,11 +55,11 @@
|
||||
|
||||
select: function(event, ui) {
|
||||
$input.val(ui.item.value); // visible text
|
||||
$("#issue_customer_id").val(ui.item.id); // hidden ID
|
||||
$("#customer_id").val(ui.item.id); // hidden ID
|
||||
|
||||
// trigger Redmine form update safely
|
||||
setTimeout(function() {
|
||||
$("#issue_customer_id").trigger("change");
|
||||
$("#customer_id").trigger("change");
|
||||
}, 0);
|
||||
|
||||
return false;
|
||||
@@ -68,7 +68,7 @@
|
||||
change: function(event, ui) {
|
||||
// clear hidden field if no valid selection
|
||||
if (!ui.item && !$input.val()) {
|
||||
$("#issue_customer_id").val("");
|
||||
$("#customer_id").val("");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -22,9 +22,9 @@ get 'employees/sync', to: 'employees#sync'
|
||||
post 'qbo/webhook', to: 'qbo#webhook'
|
||||
|
||||
# Estimate & Invoice PDF
|
||||
get 'estimates/:id', to: 'estimate#show', as: :estimate
|
||||
get 'estimates/doc/', to: 'estimate#doc', as: :estimate_doc
|
||||
get 'invoices/:id', to: 'invoice#show', as: :invoice
|
||||
get 'estimates/:id', to: 'estimates#show', as: :estimate
|
||||
get 'estimates/doc/', to: 'estimates#doc', as: :estimate_doc
|
||||
get 'invoices/:id', to: 'invoices#show', as: :invoice
|
||||
|
||||
#manual billing
|
||||
get 'bill/:id', to: 'qbo#bill', as: :bill
|
||||
|
||||
2
init.rb
2
init.rb
@@ -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.3.11'
|
||||
version '2026.3.14'
|
||||
url 'https://github.com/rickbarrette/redmine_qbo'
|
||||
author_url 'https://barrettefabrication.com'
|
||||
settings default: {empty: true}, partial: 'qbo/settings'
|
||||
|
||||
@@ -25,7 +25,6 @@ module RedmineQbo
|
||||
# Customer Name Text Box with database backed autocomplete
|
||||
# onchange event will update the hidden customer_id field
|
||||
search_customer = f.text_field :customer,
|
||||
placeholder: l(:field_customer),
|
||||
class: "customer-name",
|
||||
autocomplete: "off",
|
||||
data: {
|
||||
@@ -47,7 +46,7 @@ module RedmineQbo
|
||||
# This hidden field is used for the customer ID for the issue
|
||||
# the onchange event will reload the issue form via ajax to update the available estimates
|
||||
customer_id = f.hidden_field :customer_id,
|
||||
id: "issue_customer_id",
|
||||
id: "customer_id",
|
||||
onchange: js_path.html_safe
|
||||
|
||||
# Generate the drop down list of quickbooks estimates owned by the selected customer
|
||||
|
||||
Reference in New Issue
Block a user