comee_core 0.1.96 → 0.1.97

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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/comee/core/agents_controller.rb +13 -0
  3. data/app/controllers/comee/core/application_controller.rb +15 -2
  4. data/app/controllers/comee/core/back_orders_controller.rb +2 -2
  5. data/app/controllers/comee/core/client_prices_controller.rb +3 -10
  6. data/app/controllers/comee/core/client_warehouses_controller.rb +13 -0
  7. data/app/controllers/comee/core/clients_controller.rb +42 -9
  8. data/app/controllers/comee/core/contacts_controller.rb +13 -0
  9. data/app/controllers/comee/core/customer_order_items_controller.rb +3 -2
  10. data/app/controllers/comee/core/customer_orders_controller.rb +3 -3
  11. data/app/controllers/comee/core/item_statuses_controller.rb +2 -2
  12. data/app/controllers/comee/core/notifications_controller.rb +4 -4
  13. data/app/controllers/comee/core/product_lookups_controller.rb +2 -2
  14. data/app/controllers/comee/core/products_controller.rb +7 -9
  15. data/app/controllers/comee/core/purchase_order_items_controller.rb +2 -2
  16. data/app/controllers/comee/core/purchase_orders_controller.rb +2 -2
  17. data/app/controllers/comee/core/quotation_request_items_controller.rb +2 -2
  18. data/app/controllers/comee/core/quotation_requests_controller.rb +8 -9
  19. data/app/controllers/comee/core/sales_order_items_controller.rb +1 -1
  20. data/app/controllers/comee/core/sales_orders_controller.rb +13 -7
  21. data/app/controllers/comee/core/shipment_items_controller.rb +13 -13
  22. data/app/controllers/comee/core/suppliers_controller.rb +4 -6
  23. data/app/controllers/comee/core/unit_conversions_controller.rb +1 -1
  24. data/app/controllers/comee/core/units_controller.rb +1 -1
  25. data/app/controllers/concerns/comee/core/common.rb +33 -7
  26. data/app/models/comee/core/agent.rb +7 -0
  27. data/app/models/comee/core/client.rb +4 -1
  28. data/app/models/comee/core/client_warehouse.rb +8 -0
  29. data/app/models/comee/core/contact.rb +7 -0
  30. data/app/models/comee/core/customer_order_item.rb +6 -0
  31. data/app/models/comee/core/master_price.rb +2 -1
  32. data/app/models/comee/core/sales_order.rb +1 -2
  33. data/app/models/comee/core/sales_order_item.rb +6 -1
  34. data/app/models/comee/core/supplier.rb +2 -0
  35. data/app/serializers/comee/core/agent_serializer.rb +7 -0
  36. data/app/serializers/comee/core/client_serializer.rb +4 -1
  37. data/app/serializers/comee/core/client_warehouse_serializer.rb +8 -0
  38. data/app/serializers/comee/core/contact_serializer.rb +7 -0
  39. data/app/serializers/comee/core/product_serializer.rb +2 -2
  40. data/app/serializers/comee/core/sales_order_item_serializer.rb +1 -1
  41. data/app/serializers/comee/core/supplier_serializer.rb +1 -0
  42. data/app/services/comee/core/customer_order_service.rb +7 -2
  43. data/config/routes.rb +7 -1
  44. data/db/migrate/20230728122618_create_comee_core_suppliers.rb +4 -0
  45. data/db/migrate/20230728123039_create_comee_core_clients.rb +4 -0
  46. data/db/migrate/20230728123458_create_comee_core_agents.rb +23 -0
  47. data/db/migrate/20230728123559_create_comee_core_contacts.rb +34 -0
  48. data/db/migrate/20230811102708_create_comee_core_customer_order_items.rb +1 -0
  49. data/db/migrate/20230812212844_create_comee_core_sales_order_items.rb +1 -0
  50. data/db/migrate/20230813235946_create_comee_core_master_prices.rb +1 -0
  51. data/db/migrate/20240119100125_create_comee_core_client_warehouses.rb +15 -0
  52. data/lib/comee/core/version.rb +1 -1
  53. data/spec/factories/comee/core/agents.rb +8 -0
  54. data/spec/factories/comee/core/client_warehouses.rb +8 -0
  55. data/spec/factories/comee/core/clients.rb +2 -1
  56. data/spec/factories/comee/core/contacts.rb +8 -0
  57. data/spec/factories/comee/core/customer_order_items.rb +1 -0
  58. data/spec/factories/comee/core/fulfillment_centers.rb +1 -1
  59. data/spec/factories/comee/core/master_prices.rb +1 -0
  60. data/spec/factories/comee/core/sales_order_items.rb +1 -0
  61. data/spec/factories/comee/core/suppliers.rb +1 -0
  62. metadata +35 -12
  63. data/app/models/comee/core/warehouse_shipment.rb +0 -70
  64. data/app/models/comee/core/warehouse_shipment_item.rb +0 -37
  65. data/db/migrate/20231003080017_create_comee_core_warehouse_shipments.rb +0 -17
  66. data/db/migrate/20231004105455_create_comee_core_warehouse_shipment_items.rb +0 -17
  67. data/spec/factories/comee/core/warehouse_shipment_items.rb +0 -7
  68. data/spec/factories/comee/core/warehouse_shipments.rb +0 -9
@@ -3,7 +3,10 @@ module Comee
3
3
  class Client < ApplicationRecord
4
4
  belongs_to :user, optional: true
5
5
  belongs_to :parent, class_name: "Comee::Core::Client", optional: true
6
- has_many :warehouse_shipments
6
+ belongs_to :currency, optional: true
7
+ has_and_belongs_to_many :contacts, join_table: :comee_core_clients_contacts
8
+ has_and_belongs_to_many :agents, join_table: :comee_core_clients_agents
9
+ has_many :client_warehouses
7
10
 
8
11
  validates :code, :name, :address, :locale, presence: true
9
12
  validates :code, uniqueness: true
@@ -0,0 +1,8 @@
1
+ module Comee
2
+ module Core
3
+ class ClientWarehouse < ApplicationRecord
4
+ belongs_to :client
5
+ validates :name, :address, presence: true
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Comee
2
+ module Core
3
+ class Contact < ApplicationRecord
4
+ validates :first_name, :last_name, :email, :telephone, presence: true
5
+ end
6
+ end
7
+ end
@@ -1,12 +1,18 @@
1
1
  module Comee
2
2
  module Core
3
3
  class CustomerOrderItem < ApplicationRecord
4
+ before_save :calculate_total_price, unless: proc { |item| item.total_price }
5
+
4
6
  belongs_to :customer_order
5
7
  belongs_to :product
6
8
  belongs_to :unit
7
9
 
8
10
  validates :customer_item_no, :quantity, :price, :delivery_date, presence: true
9
11
 
12
+ def calculate_total_price
13
+ self.total_price = price * quantity
14
+ end
15
+
10
16
  def self.ransackable_attributes(_auth_object = nil)
11
17
  %w[id customer_order_id product_id unit_id]
12
18
  end
@@ -1,12 +1,13 @@
1
1
  module Comee
2
2
  module Core
3
3
  class MasterPrice < Price
4
+ enum :price_status, {draft: 0, approved: 1}
4
5
  belongs_to :supplier
5
6
  belongs_to :previous_price, class_name: "Comee::Core::MasterPrice", optional: true
6
7
  belongs_to :next_price, class_name: "Comee::Core::MasterPrice", optional: true
7
8
  belongs_to :product_lookup, optional: true
8
9
 
9
- validates :purchase_price, :selling_price, presence: true
10
+ validates :price_status, :purchase_price, :selling_price, presence: true
10
11
  validates :margin, presence: true, numericality: {greater_than_or_equal_to: 0, less_than_or_equal_to: 100}
11
12
  validates :product_id, uniqueness: {scope: %i[supplier_id previous_price_id next_price_id status]}
12
13
  validate :validate_primary_price, :validate_product_lookup
@@ -26,8 +26,7 @@ module Comee
26
26
 
27
27
  def total_price
28
28
  sales_order_items = SalesOrderItem.where(sales_order_id: id)
29
- total_price = sales_order_items.sum(&:price)
30
- self.total_price = total_price
29
+ self.total_price = sales_order_items.sum(&:total_price)
31
30
  end
32
31
 
33
32
  def set_parent_client_name
@@ -1,18 +1,23 @@
1
1
  module Comee
2
2
  module Core
3
3
  class SalesOrderItem < ApplicationRecord
4
+ before_save :calculate_total_price
5
+
4
6
  belongs_to :sales_order
5
7
  belongs_to :customer_order_item
6
8
  belongs_to :product
7
9
  belongs_to :unit
8
10
  belongs_to :source, class_name: "Comee::Core::FulfillmentCenter", optional: true
9
- # has_many :warehouse_shipment_items
10
11
  has_many :shipment_items
11
12
 
12
13
  validates :customer_item_no, :delivery_date, presence: true
13
14
  validates :quantity, :price, presence: true, numericality: {greater_than: 0}
14
15
  validates :quantity_delivered, numericality: {greater_than_or_equal_to: 0}
15
16
 
17
+ def calculate_total_price
18
+ self.total_price = price * quantity
19
+ end
20
+
16
21
  def self.ransackable_attributes(_auth_object = nil)
17
22
  %w[
18
23
  id
@@ -2,6 +2,8 @@ module Comee
2
2
  module Core
3
3
  class Supplier < ApplicationRecord
4
4
  belongs_to :user, optional: true
5
+ belongs_to :currency, optional: true
6
+ has_and_belongs_to_many :contacts, join_table: :comee_core_suppliers_contacts
5
7
 
6
8
  validates :code, presence: true, uniqueness: true
7
9
  validates :name, :address, :locale, presence: true
@@ -0,0 +1,7 @@
1
+ module Comee
2
+ module Core
3
+ class AgentSerializer < ActiveModel::Serializer
4
+ attributes :id, :name, :address, :email, :telephone
5
+ end
6
+ end
7
+ end
@@ -1,8 +1,11 @@
1
1
  module Comee
2
2
  module Core
3
3
  class ClientSerializer < ActiveModel::Serializer
4
- attributes :id, :code, :name, :address, :locale, :user_id, :user_name, :consignees, :shipment_addresses
4
+ attributes :id, :code, :name, :address, :locale, :user_id, :user_name, :consignees, :shipment_addresses, :currency
5
5
  belongs_to :parent
6
+ has_many :agents
7
+ has_many :contacts
8
+ has_many :client_warehouses
6
9
  end
7
10
  end
8
11
  end
@@ -0,0 +1,8 @@
1
+ module Comee
2
+ module Core
3
+ class ClientWarehouseSerializer < ActiveModel::Serializer
4
+ attributes :id, :name, :description, :address
5
+ belongs_to :client
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,7 @@
1
+ module Comee
2
+ module Core
3
+ class ContactSerializer < ActiveModel::Serializer
4
+ attributes :id, :first_name, :last_name, :email, :telephone
5
+ end
6
+ end
7
+ end
@@ -1,8 +1,8 @@
1
1
  module Comee
2
2
  module Core
3
3
  class ProductSerializer < ActiveModel::Serializer
4
- attributes :id, :code, :name, :description, :thumbnail_image_url, :images_url, :preferred_units, :weight, :dimensions, :hs_code,
5
- :hs_description
4
+ attributes :id, :code, :name, :description, :thumbnail_image_url, :images_url, :preferred_units, :weight,
5
+ :dimensions, :hs_code, :hs_description
6
6
  belongs_to :source
7
7
  belongs_to :weight_unit
8
8
  end
@@ -2,7 +2,7 @@ module Comee
2
2
  module Core
3
3
  class SalesOrderItemSerializer < ActiveModel::Serializer
4
4
  attributes :id, :customer_item_no, :quantity, :quantity_delivered, :price, :handover_date, :delivery_date, :eb_number,
5
- :lead_time, :comment, :action_note, :po_reference
5
+ :lead_time, :comment, :action_note, :po_reference, :total_price
6
6
 
7
7
  belongs_to :sales_order
8
8
  belongs_to :customer_order_item
@@ -2,6 +2,7 @@ module Comee
2
2
  module Core
3
3
  class SupplierSerializer < ActiveModel::Serializer
4
4
  attributes :id, :code, :name, :address, :locale, :user_id
5
+ belongs_to :currency
5
6
  end
6
7
  end
7
8
  end
@@ -8,7 +8,11 @@ module Comee
8
8
  order_params = params.except(:items)
9
9
  order = Comee::Core::CustomerOrder.create(**order_params)
10
10
  items = params.slice(:items)[:items]
11
- items.each { |item| item[:customer_order_id] = order.id }
11
+ items.each do |item|
12
+ item[:customer_order_id] = order.id
13
+ item[:total_price] = item[:quantity] * item[:price] unless item.key?(:total_price) && !item[:total_price].nil?
14
+ end
15
+
12
16
  Comee::Core::CustomerOrderItem.insert_all!(items)
13
17
  end
14
18
  order
@@ -81,7 +85,7 @@ module Comee
81
85
 
82
86
  price = convert_price(master_price.selling_price, master_price.unit_id, new_unit_id)
83
87
  end
84
- {quantity: quantity, price: price}
88
+ {quantity: quantity, price: price, total_price: quantity * price}
85
89
  end
86
90
 
87
91
  def submit(id)
@@ -171,6 +175,7 @@ module Comee
171
175
  customer_item_no: item.product.code,
172
176
  quantity: quantity,
173
177
  price: price,
178
+ total_price: quantity * price,
174
179
  delivery_date: item.delivery_date,
175
180
  lead_time: master_price&.lead_time
176
181
  }
data/config/routes.rb CHANGED
@@ -8,6 +8,7 @@ Comee::Core::Engine.routes.draw do
8
8
  post "mark_as_unread", controller: :notifications, action: :mark_as_unread
9
9
  end
10
10
  end
11
+ resources :contacts
11
12
  resources :suppliers do
12
13
  collection do
13
14
  post "filter"
@@ -82,13 +83,16 @@ Comee::Core::Engine.routes.draw do
82
83
  get "rfq_products", controller: :quotation_requests, action: :rfq_products_for_client
83
84
  get "prices", controller: :client_prices, action: :fetch_for_client
84
85
  get "consignees"
85
- get "shipment_addresses"
86
+ get "agents"
86
87
  get "shipment_items", controller: :shipment_items, action: :filter_for_client
88
+ post "create_agent"
89
+ post "create_contact"
87
90
  end
88
91
  collection do
89
92
  post "filter"
90
93
  end
91
94
  end
95
+ resources :agents
92
96
  post "/client_prices/filter", controller: :client_prices, action: :filter
93
97
  resources :client_prices
94
98
  post "/back_orders/filter", controller: :back_orders, action: :filter
@@ -127,4 +131,6 @@ Comee::Core::Engine.routes.draw do
127
131
  end
128
132
  end
129
133
  resources :fulfillment_centers
134
+
135
+ resources :client_warehouses
130
136
  end
@@ -5,6 +5,10 @@ class CreateComeeCoreSuppliers < ActiveRecord::Migration[7.0]
5
5
  t.string :name, null: false
6
6
  t.string :address, null: false
7
7
  t.string :locale, null: false, default: "en"
8
+ t.references :currency,
9
+ null: true,
10
+ index: {name: "currency_on_ccs_indx"},
11
+ foreign_key: {to_table: :comee_core_currencies}
8
12
  t.references :user,
9
13
  null: true,
10
14
  index: {name: "user_on_ccs_indx"},
@@ -15,6 +15,10 @@ class CreateComeeCoreClients < ActiveRecord::Migration[7.0]
15
15
  foreign_key: {to_table: :comee_core_clients}
16
16
  t.string :consignees, array: true, default: []
17
17
  t.string :shipment_addresses, array: true, default: []
18
+ t.references :currency,
19
+ null: true,
20
+ index: {name: "currency_on_ccc_indx"},
21
+ foreign_key: {to_table: :comee_core_currencies}
18
22
 
19
23
  t.timestamps
20
24
  end
@@ -0,0 +1,23 @@
1
+ class CreateComeeCoreAgents < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_agents do |t|
4
+ t.string :name, null: false
5
+ t.string :address
6
+ t.string :email, null: false
7
+ t.string :telephone, null: false
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :comee_core_clients_agents, id: false do |t|
13
+ t.references :client,
14
+ null: false,
15
+ index: {name: "client_on_ccca_indx"},
16
+ foreign_key: {to_table: :comee_core_clients}
17
+ t.references :agent,
18
+ null: false,
19
+ index: {name: "agent_on_ccca_indx"},
20
+ foreign_key: {to_table: :comee_core_agents}
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,34 @@
1
+ class CreateComeeCoreContacts < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_contacts do |t|
4
+ t.string :first_name, null: false
5
+ t.string :last_name, null: false
6
+ t.string :email, null: false
7
+ t.string :telephone, null: false
8
+
9
+ t.timestamps
10
+ end
11
+
12
+ create_table :comee_core_suppliers_contacts, id: false do |t|
13
+ t.references :supplier,
14
+ null: false,
15
+ index: {name: "supplier_on_ccsc_indx"},
16
+ foreign_key: {to_table: :comee_core_suppliers}
17
+ t.references :contact,
18
+ null: false,
19
+ index: {name: "sc_on_ccsc_indx"},
20
+ foreign_key: {to_table: :comee_core_contacts}
21
+ end
22
+
23
+ create_table :comee_core_clients_contacts, id: false do |t|
24
+ t.references :client,
25
+ null: false,
26
+ index: {name: "client_on_ccsc_indx"},
27
+ foreign_key: {to_table: :comee_core_clients}
28
+ t.references :contact,
29
+ null: false,
30
+ index: {name: "cc_on_ccsc_indx"},
31
+ foreign_key: {to_table: :comee_core_contacts}
32
+ end
33
+ end
34
+ end
@@ -16,6 +16,7 @@ class CreateComeeCoreCustomerOrderItems < ActiveRecord::Migration[7.1]
16
16
  t.string :customer_item_no, null: false
17
17
  t.float :quantity, null: false, default: 0
18
18
  t.float :price, null: false, default: 0
19
+ t.float :total_price, null: false, default: 0
19
20
  t.date :delivery_date, null: false
20
21
  t.boolean :canceled, default: false
21
22
 
@@ -25,6 +25,7 @@ class CreateComeeCoreSalesOrderItems < ActiveRecord::Migration[7.0]
25
25
  t.float :quantity, null: false
26
26
  t.float :quantity_delivered, null: false, default: 0
27
27
  t.float :price, null: false
28
+ t.float :total_price, null: false
28
29
  t.date :delivery_date, null: false
29
30
  t.boolean :canceled, default: false
30
31
  t.date :handover_date
@@ -9,6 +9,7 @@ class CreateComeeCoreMasterPrices < ActiveRecord::Migration[7.0]
9
9
  t.boolean :primary, null: false, default: false
10
10
  t.float :margin, null: false, default: 0
11
11
  t.integer :lead_time
12
+ t.integer :price_status, null: false, default: 0
12
13
  t.references :product,
13
14
  null: false,
14
15
  index: {name: "product_on_ccmp_indx"},
@@ -0,0 +1,15 @@
1
+ class CreateComeeCoreClientWarehouses < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_client_warehouses do |t|
4
+ t.string :name, null: false
5
+ t.string :description
6
+ t.string :address, null: false
7
+ t.references :client,
8
+ null: false,
9
+ index: {name: "client_on_cccw_indx"},
10
+ foreign_key: {to_table: :comee_core_clients}
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.1.96".freeze
3
+ VERSION = "0.1.97".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :agent, class: "Comee::Core::Agent" do
3
+ name { Faker::Name.name }
4
+ address { Faker::Address.full_address }
5
+ email { Faker::Internet.email }
6
+ telephone { Faker::PhoneNumber.phone_number }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :client_warehouse, class: "Comee::Core::ClientWarehouse" do
3
+ name { Faker::Lorem.word }
4
+ description { Faker::Lorem.sentence }
5
+ address { Faker::Address.full_address }
6
+ client
7
+ end
8
+ end
@@ -1,12 +1,13 @@
1
1
  FactoryBot.define do
2
2
  factory :client, class: "Comee::Core::Client" do
3
3
  user
4
- code { Faker::Alphanumeric.unique.alpha(number: 8) }
4
+ sequence(:code) { |n| "#{Faker::Alphanumeric.unique.alpha(number: 8)}-#{n}" }
5
5
  name { Faker::Name.name }
6
6
  address { Faker::Address.full_address }
7
7
  locale { "en" }
8
8
  parent { nil }
9
9
  consignees { [] }
10
10
  shipment_addresses { [] }
11
+ currency
11
12
  end
12
13
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :contact, class: "Comee::Core::Contact" do
3
+ first_name { Faker::Name.first_name }
4
+ last_name { Faker::Name.last_name }
5
+ email { Faker::Internet.email }
6
+ telephone { Faker::PhoneNumber.phone_number }
7
+ end
8
+ end
@@ -6,6 +6,7 @@ FactoryBot.define do
6
6
  customer_item_no { Faker::Alphanumeric.alpha(number: 10) }
7
7
  quantity { 1 }
8
8
  price { 1.5 }
9
+ total_price { quantity * price }
9
10
  delivery_date { Date.current }
10
11
  canceled { false }
11
12
 
@@ -1,6 +1,6 @@
1
1
  FactoryBot.define do
2
2
  factory :fulfillment_center, class: "Comee::Core::FulfillmentCenter" do
3
- code { Faker::Alphanumeric.alpha(number: 10) }
3
+ sequence(:code) { |n| "#{Faker::Alphanumeric.unique.alpha(number: 10)}-#{n}" }
4
4
  name { Faker::Name.name }
5
5
  address { Faker::Address.street_address }
6
6
  email { Faker::Internet.email }
@@ -7,6 +7,7 @@ FactoryBot.define do
7
7
  primary { false }
8
8
  margin { 10.0 }
9
9
  lead_time { nil }
10
+ status { Comee::Core::MasterPrice.statuses[:draft] }
10
11
  product
11
12
  supplier
12
13
  unit
@@ -9,6 +9,7 @@ FactoryBot.define do
9
9
  quantity { 100 }
10
10
  quantity_delivered { 0 }
11
11
  price { 50 }
12
+ total_price { quantity * price }
12
13
  delivery_date { Date.current.advance(months: 1) }
13
14
  handover_date { Date.current }
14
15
  eb_number { Faker::Lorem.word }
@@ -5,5 +5,6 @@ FactoryBot.define do
5
5
  address { Faker::Address.full_address }
6
6
  locale { "en" }
7
7
  user
8
+ currency
8
9
  end
9
10
  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.1.96
4
+ version: 0.1.97
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-01-17 00:00:00.000000000 Z
11
+ date: 2024-01-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -128,6 +128,20 @@ dependencies:
128
128
  - - ">="
129
129
  - !ruby/object:Gem::Version
130
130
  version: '0'
131
+ - !ruby/object:Gem::Dependency
132
+ name: database_cleaner-active_record
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: factory_bot_rails
133
147
  requirement: !ruby/object:Gem::Requirement
@@ -185,7 +199,7 @@ dependencies:
185
199
  - !ruby/object:Gem::Version
186
200
  version: '0'
187
201
  - !ruby/object:Gem::Dependency
188
- name: rubocop-rspec
202
+ name: rspec-retry
189
203
  requirement: !ruby/object:Gem::Requirement
190
204
  requirements:
191
205
  - - ">="
@@ -199,7 +213,7 @@ dependencies:
199
213
  - !ruby/object:Gem::Version
200
214
  version: '0'
201
215
  - !ruby/object:Gem::Dependency
202
- name: shoulda-matchers
216
+ name: rubocop-rspec
203
217
  requirement: !ruby/object:Gem::Requirement
204
218
  requirements:
205
219
  - - ">="
@@ -213,7 +227,7 @@ dependencies:
213
227
  - !ruby/object:Gem::Version
214
228
  version: '0'
215
229
  - !ruby/object:Gem::Dependency
216
- name: simplecov
230
+ name: shoulda-matchers
217
231
  requirement: !ruby/object:Gem::Requirement
218
232
  requirements:
219
233
  - - ">="
@@ -227,7 +241,7 @@ dependencies:
227
241
  - !ruby/object:Gem::Version
228
242
  version: '0'
229
243
  - !ruby/object:Gem::Dependency
230
- name: solargraph
244
+ name: simplecov
231
245
  requirement: !ruby/object:Gem::Requirement
232
246
  requirements:
233
247
  - - ">="
@@ -251,10 +265,13 @@ files:
251
265
  - README.md
252
266
  - Rakefile
253
267
  - app/controllers/comee/core/access_controller.rb
268
+ - app/controllers/comee/core/agents_controller.rb
254
269
  - app/controllers/comee/core/application_controller.rb
255
270
  - app/controllers/comee/core/back_orders_controller.rb
256
271
  - app/controllers/comee/core/client_prices_controller.rb
272
+ - app/controllers/comee/core/client_warehouses_controller.rb
257
273
  - app/controllers/comee/core/clients_controller.rb
274
+ - app/controllers/comee/core/contacts_controller.rb
258
275
  - app/controllers/comee/core/currencies_controller.rb
259
276
  - app/controllers/comee/core/customer_order_items_controller.rb
260
277
  - app/controllers/comee/core/customer_orders_controller.rb
@@ -282,12 +299,15 @@ files:
282
299
  - app/jobs/comee_core/application_job.rb
283
300
  - app/mailers/comee/core/application_mailer.rb
284
301
  - app/mailers/comee/core/supplier_mailer.rb
302
+ - app/models/comee/core/agent.rb
285
303
  - app/models/comee/core/application_record.rb
286
304
  - app/models/comee/core/back_order.rb
287
305
  - app/models/comee/core/back_order_item.rb
288
306
  - app/models/comee/core/client.rb
289
307
  - app/models/comee/core/client_order.rb
290
308
  - app/models/comee/core/client_price.rb
309
+ - app/models/comee/core/client_warehouse.rb
310
+ - app/models/comee/core/contact.rb
291
311
  - app/models/comee/core/currency.rb
292
312
  - app/models/comee/core/customer_order.rb
293
313
  - app/models/comee/core/customer_order_item.rb
@@ -323,11 +343,12 @@ files:
323
343
  - app/models/comee/core/unit.rb
324
344
  - app/models/comee/core/unit_conversion.rb
325
345
  - app/models/comee/core/user.rb
326
- - app/models/comee/core/warehouse_shipment.rb
327
- - app/models/comee/core/warehouse_shipment_item.rb
328
346
  - app/notifications/comee/core/back_order_notification.rb
347
+ - app/serializers/comee/core/agent_serializer.rb
329
348
  - app/serializers/comee/core/client_price_serializer.rb
330
349
  - app/serializers/comee/core/client_serializer.rb
350
+ - app/serializers/comee/core/client_warehouse_serializer.rb
351
+ - app/serializers/comee/core/contact_serializer.rb
331
352
  - app/serializers/comee/core/currency_serializer.rb
332
353
  - app/serializers/comee/core/customer_order_item_serializer.rb
333
354
  - app/serializers/comee/core/customer_order_serializer.rb
@@ -372,6 +393,8 @@ files:
372
393
  - db/migrate/20230728014330_create_comee_core_users.rb
373
394
  - db/migrate/20230728122618_create_comee_core_suppliers.rb
374
395
  - db/migrate/20230728123039_create_comee_core_clients.rb
396
+ - db/migrate/20230728123458_create_comee_core_agents.rb
397
+ - db/migrate/20230728123559_create_comee_core_contacts.rb
375
398
  - db/migrate/20230728123928_create_comee_core_back_orders.rb
376
399
  - db/migrate/20230728125723_create_comee_core_back_order_items.rb
377
400
  - db/migrate/20230730061225_create_comee_core_notifications.rb
@@ -387,8 +410,6 @@ files:
387
410
  - db/migrate/20230929115336_create_comee_core_order_sources.rb
388
411
  - db/migrate/20230929130910_create_comee_core_client_orders.rb
389
412
  - db/migrate/20231003073316_create_comee_core_inventories.rb
390
- - db/migrate/20231003080017_create_comee_core_warehouse_shipments.rb
391
- - db/migrate/20231004105455_create_comee_core_warehouse_shipment_items.rb
392
413
  - db/migrate/20231101113358_create_comee_core_edi_orders.rb
393
414
  - db/migrate/20231121094339_create_comee_core_quotation_requests.rb
394
415
  - db/migrate/20231121132709_create_comee_core_quotation_request_items.rb
@@ -407,16 +428,20 @@ files:
407
428
  - db/migrate/20240109185749_create_comee_core_transport_availability.rb
408
429
  - db/migrate/20240109185931_create_comee_core_time_slots.rb
409
430
  - db/migrate/20240111112140_create_comee_core_pickup_schedules.rb
431
+ - db/migrate/20240119100125_create_comee_core_client_warehouses.rb
410
432
  - lib/comee/core.rb
411
433
  - lib/comee/core/engine.rb
412
434
  - lib/comee/core/version.rb
413
435
  - lib/comee_core.rb
414
436
  - lib/tasks/comee_core_tasks.rake
437
+ - spec/factories/comee/core/agents.rb
415
438
  - spec/factories/comee/core/back_order_items.rb
416
439
  - spec/factories/comee/core/back_orders.rb
417
440
  - spec/factories/comee/core/client_orders.rb
418
441
  - spec/factories/comee/core/client_prices.rb
442
+ - spec/factories/comee/core/client_warehouses.rb
419
443
  - spec/factories/comee/core/clients.rb
444
+ - spec/factories/comee/core/contacts.rb
420
445
  - spec/factories/comee/core/currencies.rb
421
446
  - spec/factories/comee/core/customer_order_items.rb
422
447
  - spec/factories/comee/core/customer_orders.rb
@@ -451,8 +476,6 @@ files:
451
476
  - spec/factories/comee/core/unit_conversions.rb
452
477
  - spec/factories/comee/core/units.rb
453
478
  - spec/factories/comee/core/users.rb
454
- - spec/factories/comee/core/warehouse_shipment_items.rb
455
- - spec/factories/comee/core/warehouse_shipments.rb
456
479
  homepage: https://www.mks.com
457
480
  licenses:
458
481
  - MIT