From 896813983c178dfb482dbef741eb5cab14aac8ea Mon Sep 17 00:00:00 2001 From: Rick Barrette Date: Fri, 13 Mar 2026 08:36:49 -0400 Subject: [PATCH] Updated to use DSL and qbo_sync flag --- app/models/item.rb | 1 + app/services/item_sync_service.rb | 18 +++--------------- init.rb | 4 ++-- 3 files changed, 6 insertions(+), 17 deletions(-) diff --git a/app/models/item.rb b/app/models/item.rb index 21876c6..168205e 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -14,6 +14,7 @@ class Item < QboBaseModel validates_presence_of :id, :description validates :unit_price, numericality: { greater_than_or_equal_to: 0 } self.primary_key = :id + qbo_sync push: true # Updates Both local & remote DB description def description=(s) diff --git a/app/services/item_sync_service.rb b/app/services/item_sync_service.rb index 23f894e..2c96e05 100644 --- a/app/services/item_sync_service.rb +++ b/app/services/item_sync_service.rb @@ -22,19 +22,7 @@ class ItemSyncService < SyncServiceBase 20 end - # 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? - local.name = remote.name - local.sku = remote.sku - end - - def log(msg) - Rails.logger.info "[ItemSyncService] #{msg}" - end - + map_attribute :active, :active? + map_attributes :description,, :id, :name, :sku, :unit_price + end \ No newline at end of file diff --git a/init.rb b/init.rb index 2f2388e..9d1b0aa 100644 --- a/init.rb +++ b/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.7' + version '2026.3.8' url 'https://github.com/rickbarrette/redmine_qbo_lineitems' author_url 'https://barrettefabrication.com' requires_redmine version_or_higher: '6.1.0' @@ -22,7 +22,7 @@ Redmine::Plugin.register :redmine_qbo_lineitems do # Ensure redmine_qbo is installed begin - requires_redmine_plugin :redmine_qbo, version_or_higher: '2026.3.6' + requires_redmine_plugin :redmine_qbo, version_or_higher: '2026.3.7' rescue Redmine::PluginNotFound raise 'Please install the redmine_qbo plugin (https://github.com/rickbarrette/redmine_qbo)' end