mirror of
https://github.com/rickbarrette/redmine_qbo_lineitems.git
synced 2026-04-03 07:31:58 -04:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 647ce4c63a | |||
| 4367c77393 | |||
| 8c0ce8ce48 | |||
| 9fd1f4fb7d | |||
| cca822c570 | |||
| 795906b4f5 | |||
| d5e59c120c | |||
| e640e61648 |
@@ -18,6 +18,7 @@ class Item < QboBaseModel
|
||||
self.inheritance_column = :_type_disabled
|
||||
qbo_sync push: true
|
||||
after_initialize :set_defaults, if: :new_record?
|
||||
before_destroy :make_inactive
|
||||
|
||||
# Updates Both local & remote DB account ref
|
||||
def account_id=(id)
|
||||
@@ -37,6 +38,11 @@ class Item < QboBaseModel
|
||||
super
|
||||
end
|
||||
|
||||
def make_inactive
|
||||
details.active = false
|
||||
push_to_qbo
|
||||
end
|
||||
|
||||
def ref
|
||||
Quickbooks::Model::BaseReference.new
|
||||
end
|
||||
|
||||
@@ -24,6 +24,9 @@ class ItemSyncService < SyncServiceBase
|
||||
|
||||
map_attribute :active, :active?
|
||||
map_attribute :taxable, :taxable?
|
||||
map_attribute :account do |remote|
|
||||
Account.find remote.income_account_ref.value.to_i
|
||||
end
|
||||
map_attributes :description, :id, :name, :sku, :type, :unit_price
|
||||
|
||||
end
|
||||
@@ -1,5 +1,3 @@
|
||||
<h2>Edit Item</h2>
|
||||
<h2><%=t(:label_edit_item)%></h2>
|
||||
|
||||
<%= render "form" %>
|
||||
|
||||
<%= link_to "Back", items_path %>
|
||||
@@ -26,10 +26,18 @@
|
||||
<td class="description"><%= truncate(item.description, length: 60) %></td>
|
||||
<td class="unit_price"><%= number_to_currency(item.unit_price) %></td>
|
||||
<td class="taxable center">
|
||||
<%= item.taxable ? content_tag(:span, '', class: 'icon icon-ok') : "" %>
|
||||
<% if item.taxable %>
|
||||
<span class="icon icon-ok" style="color: green;"><%=t(:yes)%></span>
|
||||
<% else %>
|
||||
<span class="icon icon-not-ok" style="color: #999;"><%=t(:no)%></span>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="active center">
|
||||
<%= checked_image item.active %>
|
||||
<% if item.active %>
|
||||
<span class="icon icon-ok" style="color: green;"><%=t(:yes)%></span>
|
||||
<% else %>
|
||||
<span class="icon icon-not-ok" style="color: #999;"><%=t(:no)%></span>
|
||||
<% end %>
|
||||
</td>
|
||||
<td class="buttons">
|
||||
<%= link_to l(:button_edit), edit_item_path(item), class: 'icon icon-edit' %>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<h2>New Item</h2>
|
||||
<h2><%=t(:label_item_new)%></h2>
|
||||
|
||||
<%= render "form" %>
|
||||
|
||||
<%= link_to "Back", items_path %>
|
||||
<%= link_to t(:label_back), items_path %>
|
||||
@@ -8,27 +8,27 @@
|
||||
<div class="issue details"> <div class="attributes">
|
||||
<div class="splitcontent">
|
||||
<div class="splitcontentleft">
|
||||
<p><strong>SKU:</strong> <%= @item.sku.presence || "-" %></p>
|
||||
<p><strong>Type:</strong> <%= @item.type.presence || "-" %></p>
|
||||
<p><strong>Unit Price:</strong> <%= number_to_currency(@item.unit_price) %></p>
|
||||
<p><strong><%=t(:field_sku)%>:</strong> <%= @item.sku.presence || "-" %></p>
|
||||
<p><strong><%=t(:label_type)%>:</strong> <%= @item.type.presence || "-" %></p>
|
||||
<p><strong><%=t(:field_unit_price)%>:</strong> <%= number_to_currency(@item.unit_price) %></p>
|
||||
</div>
|
||||
|
||||
<div class="splitcontentleft">
|
||||
<p><strong>Account:</strong> <%= @item.account&.name || "-" %></p>
|
||||
<p><strong><%=t(:label_account)%>:</strong> <%= @item.account&.name || "-" %></p>
|
||||
<p>
|
||||
<strong>Taxable:</strong>
|
||||
<strong><%=t(:field_taxable)%>:</strong>
|
||||
<% if @item.taxable %>
|
||||
<span class="icon icon-ok" style="color: green;">Yes</span>
|
||||
<span class="icon icon-ok" style="color: green;"><%=t(:yes)%></span>
|
||||
<% else %>
|
||||
<span class="icon icon-not-ok" style="color: #999;">No</span>
|
||||
<span class="icon icon-not-ok" style="color: #999;"><%=t(:no)%></span>
|
||||
<% end %>
|
||||
</p>
|
||||
<p>
|
||||
<strong>Active:</strong>
|
||||
<strong><%=t(:label_active)%>:</strong>
|
||||
<% if @item.active %>
|
||||
<span class="icon icon-ok" style="color: green;">Yes</span>
|
||||
<span class="icon icon-ok" style="color: green;"><%=t(:yes)%></span>
|
||||
<% else %>
|
||||
<span class="icon icon-not-ok" style="color: #999;">No</span>
|
||||
<span class="icon icon-not-ok" style="color: #999;"><%=t(:no)%></span>
|
||||
<% end %>
|
||||
</p>
|
||||
</div>
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
<hr />
|
||||
|
||||
<p><strong>Description:</strong></p>
|
||||
<p><strong><%=t(:label_description)%>:</strong></p>
|
||||
<div class="wiki" style="padding-left: 20px;">
|
||||
<%= @item.description.presence || "<em>No description provided</em>".html_safe %>
|
||||
</div>
|
||||
|
||||
@@ -16,21 +16,28 @@ en:
|
||||
field_taxable: "Taxable"
|
||||
field_unit_price: "Unit Price"
|
||||
|
||||
label_active: "Activie"
|
||||
label_account: "Account"
|
||||
label_accounts: "Accounts"
|
||||
label_back: "Back"
|
||||
label_account_count: "Number of Accounts:"
|
||||
label_default_account: "Default Item Income Account"
|
||||
label_description: "Description"
|
||||
label_edit_item: "Edit Item"
|
||||
label_item: "Item"
|
||||
label_item_count: "Item Count:"
|
||||
label_items: "Items"
|
||||
label_line_items: "Line Items"
|
||||
label_price: "Unit Price"
|
||||
label_item_new: "New Item"
|
||||
label_no: "No"
|
||||
label_qty: "Quantity"
|
||||
label_remove: "Remove"
|
||||
label_sync_now_accounts: "Sync Accounts"
|
||||
label_sync_now_items: "Sync Items"
|
||||
label_type: "Type"
|
||||
label_total: "Total"
|
||||
label_yes: "Yes"
|
||||
|
||||
notice_added_from: "Added from issue #"
|
||||
|
||||
2
init.rb
2
init.rb
@@ -14,7 +14,7 @@ Redmine::Plugin.register :redmine_qbo_lineitems do
|
||||
name 'Redmine QBO Line Items plugin'
|
||||
author 'Rick Barrette'
|
||||
description 'A plugin for Redmine to extend the capabilitys of the Redmine QuickBooks Online plugin to attach billable line items to an isuue'
|
||||
version '2026.3.9'
|
||||
version '2026.3.10'
|
||||
url 'https://github.com/rickbarrette/redmine_qbo_lineitems'
|
||||
author_url 'https://barrettefabrication.com'
|
||||
requires_redmine version_or_higher: '6.1.0'
|
||||
|
||||
Reference in New Issue
Block a user