diff --git a/app/controllers/items_controller.rb b/app/controllers/items_controller.rb index a195c4d..3b0b064 100644 --- a/app/controllers/items_controller.rb +++ b/app/controllers/items_controller.rb @@ -66,6 +66,7 @@ class ItemsController < ApplicationController def new @item = Item.new + @item.taxable.nil? ? true : @item.taxable end def show @@ -95,7 +96,7 @@ class ItemsController < ApplicationController end def item_params - params.require(:item).permit(:name, :description, :sku, :unit_price, :active, :account_id, :type) + params.require(:item).permit(:name, :description, :sku, :unit_price, :active, :account_id, :type, :taxable) end private diff --git a/app/models/item.rb b/app/models/item.rb index 56f4eb7..d5d5351 100644 --- a/app/models/item.rb +++ b/app/models/item.rb @@ -17,6 +17,7 @@ class Item < QboBaseModel self.primary_key = :id self.inheritance_column = :_type_disabled qbo_sync push: true + after_initialize :set_defaults, if: :new_record? # Updates Both local & remote DB account ref def account_id=(id) @@ -35,7 +36,15 @@ class Item < QboBaseModel details.name = s super end + + def ref + Quickbooks::Model::BaseReference.new + end + def set_defaults + self.taxable = true if taxable.nil? + end + # Updates Both local & remote DB sku def sku=(s) details.sku = s diff --git a/app/services/item_sync_service.rb b/app/services/item_sync_service.rb index e606687..8463d08 100644 --- a/app/services/item_sync_service.rb +++ b/app/services/item_sync_service.rb @@ -23,6 +23,7 @@ class ItemSyncService < SyncServiceBase end map_attribute :active, :active? + map_attribute :taxable, :taxable? map_attributes :description, :id, :name, :sku, :type, :unit_price end \ No newline at end of file diff --git a/app/views/items/_form.html.erb b/app/views/items/_form.html.erb index 1ef10af..7bb3e90 100644 --- a/app/views/items/_form.html.erb +++ b/app/views/items/_form.html.erb @@ -33,6 +33,13 @@