comee_core 0.3.15 → 0.3.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e4b933796931ae7b24c03d2e6901df6b6f4c1b27f314b1b967eabb13da3654fd
4
- data.tar.gz: f257c672d231e620f292d3ca60aadc72620ef4f5fbaa68a7dc0076cc3ddf4542
3
+ metadata.gz: b3fd565d7b087866c90b6e231dbf65f6bf1e36b4c951290541c083cc0ec0b26b
4
+ data.tar.gz: 9eb535c0bc7026c7b411593eeb2a41d98f4ff82cdeb59dd343bf41fee3d0b302
5
5
  SHA512:
6
- metadata.gz: 24013af0d8419d7d880de21c574cfa21b39c9d70cf67dda64ed2f32a8b1b78dc90b6622c8e25fa638b7db6821e46ad43a880ab1bfabb6ef8b34b914bb0ff233d
7
- data.tar.gz: 1c9e73ac25c7f40809265ba6a844f458ba51a6e0e0daadaa67c09643b9964a9f4b2ac7a8bd1c6d665a28d1a602726338d62d24ba639b50bc03d5ae90ac750d41
6
+ metadata.gz: bd271add8709246848ba0b1d469596f4cedd58bd041f94ac83f174ffa88243d8420257471cdb5c137cb2c60ba7e2887d052cd30dd8aa637bebfbd24b92377038
7
+ data.tar.gz: b0b8e23964ecf2dd275cb9b8d71302f11783703d33be52efceb5c6193bece0cefaf58c91ec0929dfe2ded532cde2857d15aafb1ca3a863d0e43885774c0091a6
@@ -20,7 +20,7 @@ module Comee
20
20
  end
21
21
 
22
22
  def filter
23
- data = ProductLookup.includes(:product).ransack(params[:q]).result
23
+ data = ProductLookup.includes(:product, :itemable).ransack(params[:q]).result
24
24
  render_content(data)
25
25
  end
26
26
 
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class PurchaseOrder < ApplicationRecord
4
4
  before_validation :generate_po_number, if: proc { |po| po.po_number.nil? }
5
- before_save :total_price, :set_terms
5
+ before_save :set_terms
6
6
 
7
7
  belongs_to :supplier
8
8
  has_many :purchase_order_items
@@ -18,11 +18,19 @@ module Comee
18
18
  canceled: 5
19
19
  }
20
20
 
21
- def total_price
21
+ def calculate_total_price
22
22
  items = PurchaseOrderItem.where(purchase_order_id: id)
23
23
  self.total_price = items.sum(&:total_price)
24
24
  end
25
25
 
26
+ def calculate_vat
27
+ return unless supplier.tax_code == "Inland"
28
+
29
+ items = PurchaseOrderItem.where(purchase_order_id: id)
30
+ total_price = items.sum(&:total_price)
31
+ self.vat = (total_price * 0.19).round(2)
32
+ end
33
+
26
34
  def self.ransackable_attributes(_auth_object = nil)
27
35
  %w[
28
36
  id
@@ -2,6 +2,8 @@ module Comee
2
2
  module Core
3
3
  class PurchaseOrderItem < ApplicationRecord
4
4
  before_save :calculate_total_price, :calculate_confirmation_values
5
+ after_save :update_purchase_order
6
+ after_destroy :update_purchase_order
5
7
 
6
8
  has_one :purchase_order_item_diff
7
9
 
@@ -32,6 +34,12 @@ module Comee
32
34
  self.confirmed_total_price = (confirmed_price * confirmed_quantity).round(2)
33
35
  end
34
36
 
37
+ def update_purchase_order
38
+ purchase_order.calculate_total_price
39
+ purchase_order.calculate_vat
40
+ purchase_order.save!
41
+ end
42
+
35
43
  def self.ransackable_attributes(_auth_object = nil)
36
44
  %w[
37
45
  id
@@ -3,6 +3,7 @@ module Comee
3
3
  class ProductLookupSerializer < ActiveModel::Serializer
4
4
  attributes :id, :code, :itemable_id, :itemable_type, :item_description, :aliases
5
5
  belongs_to :product
6
+ belongs_to :itemable
6
7
  end
7
8
  end
8
9
  end
@@ -0,0 +1,5 @@
1
+ class AddVatToPurchaseOrder < ActiveRecord::Migration[7.1]
2
+ def change
3
+ add_column :comee_core_purchase_orders, :vat, :float, default: 0
4
+ end
5
+ end
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.3.15".freeze
3
+ VERSION = "0.3.16".freeze
4
4
  end
5
5
  end
@@ -5,7 +5,7 @@ FactoryBot.define do
5
5
  locale { "en" }
6
6
  payment_terms { Faker::Lorem.word }
7
7
  vat_number { Faker::Alphanumeric.alpha(number: 8) }
8
- tax_code { Faker::Alphanumeric.alpha(number: 8) }
8
+ tax_code { "Inland" }
9
9
  user
10
10
  currency
11
11
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.15
4
+ version: 0.3.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
@@ -532,6 +532,7 @@ files:
532
532
  - db/migrate/20240630063656_add_aliases_field_to_product_lookup.rb
533
533
  - db/migrate/20240630083042_add_agent_to_pickup_schedule.rb
534
534
  - db/migrate/20240630122016_create_comee_core_additional_services.rb
535
+ - db/migrate/20240702151519_add_vat_to_purchase_order.rb
535
536
  - lib/comee/core.rb
536
537
  - lib/comee/core/engine.rb
537
538
  - lib/comee/core/version.rb