8 Commits

Author SHA1 Message Date
3b51c961e3 2026.3.3 2026-03-08 22:00:47 -04:00
1780896e84 Set page size to 10 2026-03-08 21:48:03 -04:00
91cdd86c12 Add logging 2026-03-08 20:10:14 -04:00
e58bbafda7 fixed required plugin version 2026-03-08 19:29:45 -04:00
c56aa5897f 2026.3.2 2026-03-08 19:27:33 -04:00
449910c941 minium qty is 1 2026-03-08 15:48:01 -04:00
42ea5dffc9 updated comments 2026-03-08 15:37:01 -04:00
ecbfa2620f updated readme 2026-03-08 15:34:46 -04:00
5 changed files with 14 additions and 6 deletions

View File

@@ -21,7 +21,7 @@ This plugin allows **billable line items** to be attached to a Redmine issue. Wh
| Plugin Version | Redmine Version | Ruby Version |
| --- | --- | --- |
| 2026.3.2+ | 6.1.x | 3.2+ |
| 2026.3.3+ | 6.1.x | 3.2+ |
---

View File

@@ -15,12 +15,12 @@ class Item < ApplicationRecord
validates :unit_price, numericality: { greater_than_or_equal_to: 0 }
self.primary_key = :id
# Sync all employees, typically triggered by a scheduled task or manual sync request
# Sync all items, typically triggered by a scheduled task or manual sync request
def self.sync
ItemSyncJob.perform_later(full_sync: true)
end
# Sync a single employee by ID, typically triggered by a webhook notification or manual sync request
# Sync a single items by ID, typically triggered by a webhook notification or manual sync request
def self.sync_by_id(id)
ItemSyncJob.perform_later(id: id)
end

View File

@@ -10,6 +10,8 @@
class ItemSyncService < SyncServiceBase
PAGE_SIZE = 10
private
# Specify the local model this service syncs
@@ -19,10 +21,15 @@ class ItemSyncService < SyncServiceBase
# Map relevant attributes from the QBO Employee to the local Employee model
def process_attributes(local, remote)
log "Processing Item ##{remote.id}"
local.id = remote.id
local.description = remote.description
local.unit_price = remote.unit_price
local.active = remote.active?
end
def log(msg)
Rails.logger.info "[ItemSyncService] #{msg}"
end
end

View File

@@ -15,7 +15,8 @@
<td data-label="<%= t :label_qty %>">
<%= f.number_field :quantity,
step: 1,
min: 0,
min: 1,
value: (f.object.quantity.to_i > 0) ? f.object.quantity : 1,
class: "qty-field",
no_label: true,
disabled: readonly %>

View File

@@ -14,14 +14,14 @@ 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.1'
version '2026.3.3'
url 'https://github.com/rickbarrette/redmine_qbo'
author_url 'https://barrettefabrication.com'
requires_redmine version_or_higher: '6.1.0'
# Ensure redmine_qbo is installed
begin
requires_redmine_plugin :redmine_qbo, version_or_higher: '2026.3.0'
requires_redmine_plugin :redmine_qbo, version_or_higher: '2026.3.3'
rescue Redmine::PluginNotFound
raise 'Please install the redmine_qbo plugin (https://github.com/rickbarrette/redmine_qbo)'
end