comee_core 0.3.15 → 0.3.16

Sign up to get free protection for your applications and to get access to all the features.
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