comee_core 0.2.62 → 0.2.63

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: b3647a23605f256be409ffe92d604c6c3cf2145c59973380f73d38ac866b5249
4
- data.tar.gz: e8ddef5687858b3b4c4f443e5f1f8235e7c3bf11c90b9b2270589855106a13e5
3
+ metadata.gz: 36796a6606f2d0516da94431c5165d8449b9b21a5a9e02b12b94a2ba58c9bde5
4
+ data.tar.gz: 85afb2f2bbc84f87dc49601f5b2fe6b281015ff8b53fe194eaef4fb7da9e40e0
5
5
  SHA512:
6
- metadata.gz: 29924b04d90bbd2daa6d4e59077713c42491b94dceaf98a351c94ea433f06af36e582600a775580cee02ba55d99f019d4a20ccec6eaf0fd3125a9f7cd40cc7c9
7
- data.tar.gz: 91469b52049d64914608cd1b73e1ea2a0026a1b16486f7ba01691bbe6715e7a3b94eee935ef5a930b0fe4f5b97c92626e69b216875ba07fedcbeeb87d1fb4fc9
6
+ metadata.gz: 5c6498bfb8766b7bcea41ac295bff64100973220c495fcc13aea50a5ccf17038b6767c5dd1df6a123d8cf1b24ab4c9e348050137edfbf6fc4dc161f1888558d2
7
+ data.tar.gz: 8adac38add7f7532b7f487b36c057dd578856bf186e54c7d0db00d06479bf4bbc7adf0924b606ae618668e68cdef5024ffd90f83a494e3808ce032b8d633b2b3
@@ -6,9 +6,10 @@ module Comee
6
6
  has_many :purchase_requisition_items
7
7
 
8
8
  enum :status, {draft: 0, submitted: 1, approved: 2, rejected: 3}
9
+ enum :purchase_status, {unprocessed: 0, processed: 1}
9
10
 
10
11
  validates :requisition_no, presence: true, uniqueness: true
11
- validates :requisition_date, :status, presence: true
12
+ validates :requisition_date, :status, :purchase_status, presence: true
12
13
 
13
14
  def self.ransackable_attributes(_auth_object = nil)
14
15
  %w[created_at id remark requisition_date requisition_no status total_price updated_at]
@@ -3,6 +3,7 @@ module Comee
3
3
  class PurchaseRequisitionItem < ApplicationRecord
4
4
  before_save :calculate_total_price
5
5
  after_save :calculate_requisition_price
6
+ after_save :update_requisition_purchase_status, if: proc { |item| item.fully_processed? }
6
7
 
7
8
  enum processing_status: {unprocessed: 0, partially_processed: 1, fully_processed: 2}
8
9
 
@@ -24,6 +25,13 @@ module Comee
24
25
  purchase_requisition.save!
25
26
  end
26
27
 
28
+ def update_requisition_purchase_status
29
+ return unless purchase_requisition.purchase_requisition_items.all.all?(&:fully_processed?)
30
+
31
+ purchase_requisition.purchase_status = PurchaseRequisition.purchase_statuses[:processed]
32
+ purchase_requisition.save!
33
+ end
34
+
27
35
  def self.ransackable_attributes(_auth_object = nil)
28
36
  %w[
29
37
  delivery_date
@@ -12,9 +12,10 @@ module Comee
12
12
  has_one :customs_detail
13
13
 
14
14
  enum :status, {draft: 0, submitted: 1, confirmed: 2, accepted: 3, canceled: 4}
15
+ enum :purchase_status, {unprocessed: 0, processed: 1}
15
16
 
16
17
  validates :order_number, presence: true, uniqueness: true
17
- validates :order_date, :status, presence: true
18
+ validates :order_date, :status, :purchase_status, presence: true
18
19
  validates :payment_penalty, numericality: {greater_than_or_equal_to: 0, less_than_or_equal_to: 100}, allow_nil: true
19
20
 
20
21
  validates :amount_paid,
@@ -2,6 +2,7 @@ module Comee
2
2
  module Core
3
3
  class SalesOrderItem < ApplicationRecord
4
4
  before_save :calculate_total_price
5
+ after_save :update_sales_order_purchase_status, if: proc { |item| item.fully_processed? }
5
6
 
6
7
  enum processing_status: {unprocessed: 0, partially_processed: 1, fully_processed: 2}
7
8
 
@@ -27,6 +28,13 @@ module Comee
27
28
  quantity - (quantity_delivered + quantity_canceled)
28
29
  end
29
30
 
31
+ def update_sales_order_purchase_status
32
+ return unless sales_order.sales_order_items.all.all?(&:fully_processed?)
33
+
34
+ sales_order.purchase_status = SalesOrder.purchase_statuses[:processed]
35
+ sales_order.save!
36
+ end
37
+
30
38
  def self.ransackable_attributes(_auth_object = nil)
31
39
  %w[
32
40
  id
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class ProductSerializer < ActiveModel::Serializer
4
4
  attributes :id, :code, :name, :description, :thumbnail_image_url, :images_url, :preferred_units, :weight,
5
- :dimensions, :hs_code, :hs_description
5
+ :dimensions, :hs_code, :hs_description, :parent_id
6
6
  belongs_to :source
7
7
  belongs_to :weight_unit
8
8
  end
@@ -0,0 +1,6 @@
1
+ class AddPurchaseStatusToSalesOrderAndPurchaseRequisition < ActiveRecord::Migration[7.1]
2
+ def change
3
+ add_column :comee_core_sales_orders, :purchase_status, :integer, default: 0
4
+ add_column :comee_core_purchase_requisitions, :purchase_status, :integer, default: 0
5
+ end
6
+ end
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.2.62".freeze
3
+ VERSION = "0.2.63".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comee_core
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.62
4
+ version: 0.2.63
5
5
  platform: ruby
6
6
  authors:
7
7
  - Henock L.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-04-24 00:00:00.000000000 Z
11
+ date: 2024-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -458,6 +458,7 @@ files:
458
458
  - db/migrate/20240328132713_create_comee_core_payment_orders.rb
459
459
  - db/migrate/20240328132921_create_comee_core_supplier_payments.rb
460
460
  - db/migrate/20240407083617_create_comee_core_email_settings.rb
461
+ - db/migrate/20240425121701_add_purchase_status_to_sales_order_and_purchase_requisition.rb
461
462
  - lib/comee/core.rb
462
463
  - lib/comee/core/engine.rb
463
464
  - lib/comee/core/version.rb