comee_core 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/comee/core/product_lookups_controller.rb +1 -1
- data/app/models/comee/core/pickup_schedule.rb +2 -0
- data/app/models/comee/core/product_lookup.rb +1 -1
- data/app/models/comee/core/sales_order.rb +6 -2
- data/app/models/comee/core/sales_order_item.rb +7 -0
- data/app/serializers/comee/core/product_lookup_serializer.rb +1 -1
- data/db/migrate/20240630063656_add_aliases_field_to_product_lookup.rb +5 -0
- data/db/migrate/20240630083042_add_agent_to_pickup_schedule.rb +8 -0
- data/lib/comee/core/version.rb +1 -1
- data/spec/factories/comee/core/pickup_schedules.rb +1 -0
- data/spec/factories/comee/core/product_lookups.rb +1 -0
- metadata +3 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 904aacbb433502ee95c7973c9ff1f50d5fe9698998a7600dcb84a038068f5125
|
4
|
+
data.tar.gz: a943ec5bd2893b7d1cff862f12695f193013740ff3c09606320306dbd252e2a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c14eda451d86694be060e733b8fdc3cf903872faf587b9c74349663bf0badb23ae6cb8dfc7103b8109ea5da3e457eb36b1b6a0b7cb4773697899d144ca0abed1
|
7
|
+
data.tar.gz: ad1835d0bf82d0002b9f710b5f7439cb218abf4223cbbfa46229d1793e7f6f806107deb2a8334906ca7e4a5d2259d7c80497ea006f980d2d3c6475db9ecf5e2d
|
@@ -31,7 +31,7 @@ module Comee
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def model_params
|
34
|
-
params.required(:payload).permit(:code, :itemable_id, :itemable_type, :item_description, :product_id)
|
34
|
+
params.required(:payload).permit(:code, :itemable_id, :itemable_type, :item_description, :product_id, :aliases)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
end
|
@@ -9,7 +9,7 @@ module Comee
|
|
9
9
|
validates :code, uniqueness: {scope: %i[product_id itemable_id itemable_type]}
|
10
10
|
|
11
11
|
def self.ransackable_attributes(_auth_object = nil)
|
12
|
-
%w[id code item_description itemable_id itemable_type product_id]
|
12
|
+
%w[id code item_description itemable_id itemable_type product_id alias]
|
13
13
|
end
|
14
14
|
|
15
15
|
def self.ransackable_associations(_auth_object = nil)
|
@@ -3,7 +3,6 @@ module Comee
|
|
3
3
|
class SalesOrder < ApplicationRecord
|
4
4
|
before_validation :generate_order_number, if: proc { |so| so.order_number.nil? }
|
5
5
|
|
6
|
-
before_save :total_price
|
7
6
|
before_save :set_parent_client_name
|
8
7
|
|
9
8
|
belongs_to :customer_order
|
@@ -26,11 +25,16 @@ module Comee
|
|
26
25
|
numericality: {greater_than_or_equal_to: 0},
|
27
26
|
allow_nil: true
|
28
27
|
|
29
|
-
def
|
28
|
+
def calculate_total_price
|
30
29
|
sales_order_items = SalesOrderItem.where(sales_order_id: id)
|
31
30
|
self.total_price = sales_order_items.sum(&:total_price)
|
32
31
|
end
|
33
32
|
|
33
|
+
def calculate_vat
|
34
|
+
total_price = SalesOrderItem.where(sales_order_id: id).sum(&:total_price)
|
35
|
+
self.vat = (total_price * 0.19).round(2) if client.tax_code == "Inland"
|
36
|
+
end
|
37
|
+
|
34
38
|
def set_parent_client_name
|
35
39
|
self.parent_client_name = client.parent&.name
|
36
40
|
end
|
@@ -5,7 +5,9 @@ module Comee
|
|
5
5
|
|
6
6
|
before_save :calculate_total_price
|
7
7
|
before_save :calculate_handover_date
|
8
|
+
after_save :update_sales_order
|
8
9
|
after_save :update_sales_order_purchase_status, if: proc { |item| item.fully_processed? }
|
10
|
+
after_destroy :update_sales_order
|
9
11
|
|
10
12
|
enum processing_status: {unprocessed: 0, partially_processed: 1, fully_processed: 2}
|
11
13
|
|
@@ -34,6 +36,11 @@ module Comee
|
|
34
36
|
self.total_price = (price * quantity).round(2)
|
35
37
|
end
|
36
38
|
|
39
|
+
def update_sales_order
|
40
|
+
sales_order.calculate_total_price
|
41
|
+
sales_order.calculate_vat
|
42
|
+
end
|
43
|
+
|
37
44
|
def quantity_remaining
|
38
45
|
quantity - (quantity_delivered + quantity_canceled)
|
39
46
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Comee
|
2
2
|
module Core
|
3
3
|
class ProductLookupSerializer < ActiveModel::Serializer
|
4
|
-
attributes :id, :code, :itemable_id, :itemable_type, :item_description
|
4
|
+
attributes :id, :code, :itemable_id, :itemable_type, :item_description, :aliases
|
5
5
|
belongs_to :product
|
6
6
|
end
|
7
7
|
end
|
data/lib/comee/core/version.rb
CHANGED
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.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Henock L.
|
@@ -526,6 +526,8 @@ files:
|
|
526
526
|
- db/migrate/20240629145738_add_telephone_and_email_to_address.rb
|
527
527
|
- db/migrate/20240629160357_add_more_address_fields_to_agent.rb
|
528
528
|
- db/migrate/20240629170409_add_vat_to_sales_orders.rb
|
529
|
+
- db/migrate/20240630063656_add_aliases_field_to_product_lookup.rb
|
530
|
+
- db/migrate/20240630083042_add_agent_to_pickup_schedule.rb
|
529
531
|
- lib/comee/core.rb
|
530
532
|
- lib/comee/core/engine.rb
|
531
533
|
- lib/comee/core/version.rb
|