Compare commits

...

8 Commits

6 changed files with 15 additions and 15 deletions

View File

@@ -1,9 +1,9 @@
<%= link_to t(:label_appointment), "https://calendar.google.com/calendar/render?action=TEMPLATE&text=#{@customer.name}+-&details=#{ link_to "Customer Details", "https://#{Setting.host_name}#{customer_path @customer.id}"}%0A#{@customer.primary_phone}&dates=#{Time.now.strftime("%Y%m%d")}T090000/#{Time.now.strftime("%Y%m%d")}T170000", target: :_blank %> <%= button_to t(:label_appointment), "https://calendar.google.com/calendar/render?action=TEMPLATE&text=#{@customer.name}+-&details=#{ link_to t(:customer_details), "https://#{Setting.host_name}#{customer_path @customer.id}"}%0A#{@customer.primary_phone}&dates=#{Time.now.strftime("%Y%m%d")}T090000/#{Time.now.strftime("%Y%m%d")}T170000", target: :_blank, method: :get %>
<br/> <br/>
<br/> <br/>
<%= link_to t(:label_create_estimate), "https://qbo.intuit.com/app/estimate?nameId=#{@customer.id}", target: :_blank %> <%= button_to t(:label_create_estimate), "https://qbo.intuit.com/app/estimate?nameId=#{@customer.id}", target: :_blank, method: :get %>
<br/> <br/>
<br/> <br/>

View File

@@ -27,12 +27,12 @@
<div class="splitcontent"> <div class="splitcontent">
<div class="splitcontentleft"> <div class="splitcontentleft">
<h4><%=t(:estimates)%>:</h4> <h4><%=t(:estimates)%>:</h4>
<%= render partial: 'estimates/list', locals: {customer: @customer} %> <%= render partial: 'estimates/list', locals: {estimates: @customer.estimates} %>
</div> </div>
<div class="splitcontentleft"> <div class="splitcontentleft">
<h4><%=t(:label_invoices)%>:</h4> <h4><%=t(:label_invoices)%>:</h4>
<%= render partial: 'invoices/list', locals: {customer: @customer} %> <%= render partial: 'invoices/list', locals: {invoices: @customer.invoices} %>
</div> </div>
</div> </div>

View File

@@ -1,6 +1,6 @@
<% if @customer.present? %> <% unless estimates.empty? %>
<% @customer.estimates.order(id: :desc).each do |estimate| %> <% estimates.sort.reverse.each do |estimate| %>
<div class="row"> <div class="row">
<b><%= link_to "##{estimate.doc_number}", estimate_path(estimate), target: :_blank %></b> <%= estimate.txn_date %> <b><%= link_to "##{estimate.doc_number}", estimate_path(estimate), target: :_blank %></b> <%= estimate.txn_date %>
</div> </div>

View File

@@ -1,24 +1,23 @@
<% if @customer.present? %> <% unless invoices.empty? %>
<%= form_with(url: invoice_path, method: :get) do |form| %> <%= form_with(url: invoice_path, method: :get) do |form| %>
<% if @customer.invoices.count > 1 %> <% if invoices.count > 1 %>
<div class="form-check"> <div class="form-check">
<%= check_box_tag "select-all-invoices", "1", false, id: "select-all-invoices" %> <%= check_box_tag "select-all-invoices", "1", false, id: "select-all-invoices" %>
<%= label_tag "select-all-invoices", t(:label_select_all) %> <%= label_tag "select-all-invoices", t(:label_select_all) %>
</div> </div>
<hr> <hr>
<% end %> <% end %>
<% @customer.invoices.order(id: :desc).each do |invoice| %> <% invoices.sort.reverse.each do |invoice| %>
<div class="row"> <div class="row">
<%= check_box_tag "invoice_ids[]", invoice.id, false, class: "invoice-checkbox" %> <%= check_box_tag "invoice_ids[]", invoice.id, false, class: "invoice-checkbox" if invoices.count > 1 %>
<b><%= link_to "##{invoice.doc_number}", invoice_path(invoice), target: :_blank %></b> <%= invoice.txn_date %> <b><%= link_to "##{invoice.doc_number}", invoice_path(invoice), target: :_blank %></b> <%= invoice.txn_date %>
</div> </div>
<% end %> <% end %>
<% if @customer.invoices.count > 1 %> <% if invoices.count > 1 %>
<%= form.submit t(:button_bulk_pdf) %> <%= form.submit t(:button_bulk_pdf) %>
<% end %> <% end %>
<% end %> <% end %>

View File

@@ -98,4 +98,5 @@ en:
notice_invoice_updated: "Invoice updated in Quickbooks" notice_invoice_updated: "Invoice updated in Quickbooks"
notice_invoice_not_found: "Invoice not found" notice_invoice_not_found: "Invoice not found"
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"

View File

@@ -13,8 +13,8 @@ Redmine::Plugin.register :redmine_qbo do
# About # About
name 'Redmine QBO plugin' name 'Redmine QBO plugin'
author 'Rick Barrette' author 'Rick Barrette'
description 'This is a plugin for Redmine to intergrate with Quickbooks Online to allow for seamless intergration CRM and invoicing of completed issues' 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.1.7' version '2026.1.9'
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'