comee_core 0.2.4 → 0.2.6

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: 533b12b534893ae3a9ab0fe5976dfa979948f08d81d4d9f0358198b2f4107cc5
4
- data.tar.gz: bddaa2611d2356cd19a8baad4aa6a4ef43166ffb88ac3d5bbba0a13638f769a1
3
+ metadata.gz: 96fca3f74e6642e5c3724443f279cdeb58217aa89d6aef57f9a67f6fde3757c4
4
+ data.tar.gz: dc819ee771048da328d51512915be23ea2b433432fdaee9fe988109fe2698a14
5
5
  SHA512:
6
- metadata.gz: 9398df564bb22dd6bf7be8e9951d0c3889c398557e674087a61594dd3c166c553b56527fa70ef0abc735c7edcf837b2211ea222c62fa4578631e96f40b3581f6
7
- data.tar.gz: 84b0d8c2415dc761605629ba662722f09789c13a1dda2c77d8966677427b5dd674e50a81990bb4fc71f26a8a271f928da4df8a443800ae72dc7114817d17d092
6
+ metadata.gz: 38f4ec48d09c65eba8b4e4a7bdb6cede0279ceeac08a97358125860c5cf49ed2564cb03366aaccb8b8c4f47e8df900f2ffeb819e4112e5b1721a2104cffbe143
7
+ data.tar.gz: a75a0a0b023ce9971086f81ca4b6f030a008d018abe048bb67cd0efdd25a88f6c2f9d2a0609cc061f9063cb4e994ddcddd1a996ed5d6de5b26fa9b1be9a322c7
@@ -18,6 +18,10 @@ module Comee
18
18
  render json: result
19
19
  end
20
20
 
21
+ def render_error(error)
22
+ render json: {success: false, error: error.message}, status: :unprocessable_entity
23
+ end
24
+
21
25
  def current_user
22
26
  return if token.nil?
23
27
 
@@ -0,0 +1,9 @@
1
+ module Comee
2
+ module Core
3
+ class AdditionalItem < ApplicationRecord
4
+ belongs_to :invoice
5
+
6
+ validates :quantity, :unit_price, presence: true, numericality: {greater_than: 0}
7
+ end
8
+ end
9
+ end
@@ -4,10 +4,11 @@ module Comee
4
4
  belongs_to :sales_order
5
5
  belongs_to :pod
6
6
  has_many :invoice_items
7
+ has_many :additional_items
7
8
 
8
9
  has_noticed_notifications model_name: "Comee::Core::Notification"
9
10
 
10
- enum :status, {draft: 0, approved: 1}
11
+ enum :status, {draft: 0, approved: 1, issued: 2}
11
12
  enum :payment_status, {not_paid: 0, partially_paid: 1, fully_paid: 2, overpaid: 3}
12
13
 
13
14
  validates :invoice_no, presence: true, uniqueness: true
@@ -0,0 +1,11 @@
1
+ module Comee
2
+ module Core
3
+ class Payment < ApplicationRecord
4
+ belongs_to :invoice
5
+ belongs_to :currency
6
+
7
+ validates :reference_no, :payment_date, :amount, presence: true
8
+ validates :amount, numericality: {greater_than: 0}
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ class CreateComeeCoreAdditionalItems < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_additional_items do |t|
4
+ t.references :invoice,
5
+ null: false,
6
+ index: {name: "invoice_on_ccai_indx"},
7
+ foreign_key: {to_table: :comee_core_invoices}
8
+ t.float :quantity, null: false, default: 1
9
+ t.float :unit_price, null: false
10
+ t.float :total_price, null: false
11
+
12
+ t.timestamps
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ class CreateComeeCorePayments < ActiveRecord::Migration[7.1]
2
+ def change
3
+ create_table :comee_core_payments do |t|
4
+ t.string :reference_no, null: false
5
+ t.references :invoice,
6
+ null: false,
7
+ index: {name: "invoice_on_ccp_indx"},
8
+ foreign_key: {to_table: :comee_core_invoices}
9
+ t.date :payment_date, null: false
10
+ t.float :amount, null: false
11
+ t.references :currency,
12
+ null: false,
13
+ index: {name: "currency_on_ccp_indx"},
14
+ foreign_key: {to_table: :comee_core_currencies}
15
+ t.string :bank_reference
16
+
17
+ t.timestamps
18
+ end
19
+ end
20
+ end
@@ -1,5 +1,5 @@
1
1
  module Comee
2
2
  module Core
3
- VERSION = "0.2.4".freeze
3
+ VERSION = "0.2.6".freeze
4
4
  end
5
5
  end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :additional_item, class: "Comee::Core::AdditionalItem" do
3
+ invoice
4
+ quantity { 1 }
5
+ unit_price { 1.5 }
6
+ total_price { quantity * unit_price }
7
+ end
8
+ end
@@ -10,5 +10,13 @@ FactoryBot.define do
10
10
  notifications_sent { 0 }
11
11
  status { Comee::Core::Invoice.statuses[:draft] }
12
12
  payment_status { Comee::Core::Invoice.payment_statuses[:not_paid] }
13
+
14
+ trait :approved do
15
+ status { Comee::Core::Invoice.statuses[:approved] }
16
+ end
17
+
18
+ trait :issued do
19
+ status { Comee::Core::Invoice.statuses[:issued] }
20
+ end
13
21
  end
14
22
  end
@@ -0,0 +1,10 @@
1
+ FactoryBot.define do
2
+ factory :payment, class: "Comee::Core::Payment" do
3
+ reference_no { Faker::Alphanumeric.alpha(number: 10) }
4
+ invoice
5
+ payment_date { Date.current }
6
+ amount { 100 }
7
+ currency
8
+ bank_reference { Faker::Alphanumeric.alpha(number: 10) }
9
+ end
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.2.4
4
+ version: 0.2.6
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-24 00:00:00.000000000 Z
11
+ date: 2024-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_model_serializers
@@ -299,6 +299,7 @@ files:
299
299
  - app/jobs/comee_core/application_job.rb
300
300
  - app/mailers/comee/core/application_mailer.rb
301
301
  - app/mailers/comee/core/supplier_mailer.rb
302
+ - app/models/comee/core/additional_item.rb
302
303
  - app/models/comee/core/agent.rb
303
304
  - app/models/comee/core/application_record.rb
304
305
  - app/models/comee/core/back_order.rb
@@ -323,6 +324,7 @@ files:
323
324
  - app/models/comee/core/master_price.rb
324
325
  - app/models/comee/core/notification.rb
325
326
  - app/models/comee/core/order_source.rb
327
+ - app/models/comee/core/payment.rb
326
328
  - app/models/comee/core/pickup_schedule.rb
327
329
  - app/models/comee/core/pod.rb
328
330
  - app/models/comee/core/price.rb
@@ -429,11 +431,14 @@ files:
429
431
  - db/migrate/20240109185931_create_comee_core_time_slots.rb
430
432
  - db/migrate/20240111112140_create_comee_core_pickup_schedules.rb
431
433
  - db/migrate/20240119100125_create_comee_core_client_warehouses.rb
434
+ - db/migrate/20240124161320_create_comee_core_additional_items.rb
435
+ - db/migrate/20240125044630_create_comee_core_payments.rb
432
436
  - lib/comee/core.rb
433
437
  - lib/comee/core/engine.rb
434
438
  - lib/comee/core/version.rb
435
439
  - lib/comee_core.rb
436
440
  - lib/tasks/comee_core_tasks.rake
441
+ - spec/factories/comee/core/additional_items.rb
437
442
  - spec/factories/comee/core/agents.rb
438
443
  - spec/factories/comee/core/back_order_items.rb
439
444
  - spec/factories/comee/core/back_orders.rb
@@ -457,6 +462,7 @@ files:
457
462
  - spec/factories/comee/core/master_prices.rb
458
463
  - spec/factories/comee/core/notifications.rb
459
464
  - spec/factories/comee/core/order_sources.rb
465
+ - spec/factories/comee/core/payments.rb
460
466
  - spec/factories/comee/core/pickup_schedules.rb
461
467
  - spec/factories/comee/core/pods.rb
462
468
  - spec/factories/comee/core/product_lookups.rb