dscf-marketplace 0.3.8 → 0.3.91

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: 7f0a8453f29e83aba38efbacb2e592d3dda7a77f8dce6ab5901ca3a10bb3f104
4
- data.tar.gz: 66537058e5fad58e20f04e1df403333bb4ecfbe6eb14e1d6f175c065e2d3d966
3
+ metadata.gz: 4c89b597c8c556ab326df05fd7d1f5bed421236c968a13def66d611123b3ba05
4
+ data.tar.gz: 78fef830eafe2e525d3ab5abaed08d46ba9217c42d7c128945849f2b383cf4dd
5
5
  SHA512:
6
- metadata.gz: 8224d26f9a832d04343e5c1e4ffc362eddc764c79eec6fa09ab64200a2b505cfd4518b35e092a7a43e2deb7ed6b90db3289621043524ec7cf691b87ff20d6953
7
- data.tar.gz: 027a3151dd4339ef9686462911af60a7ec906f79d8ff786d7990b30f3749aa06f1fbcec0aea883f80be3b0580cf077f748dcda01a6421d44bbb8c3be61fe41f3
6
+ metadata.gz: 6dc54cf4b3a6aa4576ea354b824f1cbca62b1281ac6562082a285910201ce27d7f2bd02301e544a850448b78a105f2f931fd10aaf0526e7935d78bf6e3abf8e1
7
+ data.tar.gz: 160571dd85a0fd6e053484c8209d5ceb31d63f53dc78a42ccad6ba29d06b84f2198f62597fb1021c26c21d90c1a8d684128bccddb9a489d9fcfa51ebd1e16fc6
@@ -86,6 +86,10 @@ module Dscf::Marketplace
86
86
  marketplace_orders.count
87
87
  end
88
88
 
89
+ def total_stops
90
+ delivery_order_items.distinct.pluck(:dropoff_address_id).count
91
+ end
92
+
89
93
  def delivery_duration
90
94
  return nil unless actual_delivery_time && estimated_delivery_time
91
95
  (actual_delivery_time - estimated_delivery_time).to_i
@@ -105,11 +105,11 @@ module Dscf
105
105
  def subtotal
106
106
  stored_value = super
107
107
  # If we have a stored value (including 0), return it
108
- # Only calculate if it's nil and we have the required fields
109
108
  return stored_value unless stored_value.nil?
110
- return nil unless unit_price && quantity
111
-
112
- (unit_price * quantity).round(2)
109
+ # If no stored value but we have unit_price and quantity, calculate it
110
+ return (unit_price * quantity).round(2) if unit_price && quantity
111
+ # Otherwise return nil
112
+ nil
113
113
  end
114
114
  public :subtotal
115
115
 
@@ -5,7 +5,7 @@ module Dscf
5
5
  :vehicle_type, :estimated_delivery_price, :actual_delivery_price,
6
6
  :estimated_delivery_time, :actual_delivery_time, :delivery_notes,
7
7
  :created_at, :updated_at, :total_items, :total_orders, :delivery_duration,
8
- :on_time?, :all_handoffs_confirmed?
8
+ :on_time?, :all_handoffs_confirmed?, :total_stops
9
9
 
10
10
  belongs_to :driver
11
11
  belongs_to :pickup_address
@@ -0,0 +1,6 @@
1
+ class AddDropoffAddressToDscfMarketplaceOrders < ActiveRecord::Migration[8.0]
2
+ def change
3
+ add_reference :dscf_marketplace_orders, :dropoff_address, null: true, foreign_key: {to_table: :dscf_core_addresses}
4
+ add_index :dscf_marketplace_orders, :dropoff_address_id, name: "dropoff_address_id_on_dm_orders_idx"
5
+ end
6
+ end
@@ -1,5 +1,5 @@
1
1
  module Dscf
2
2
  module Marketplace
3
- VERSION = "0.3.8".freeze
3
+ VERSION = "0.3.91".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dscf-marketplace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8
4
+ version: 0.3.91
5
5
  platform: ruby
6
6
  authors:
7
7
  - Asrat
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-09-17 00:00:00.000000000 Z
10
+ date: 2025-09-18 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rails
@@ -501,6 +501,7 @@ files:
501
501
  - db/migrate/20250903061306_populate_ordered_fields_for_existing_orders.rb
502
502
  - db/migrate/20250909092700_add_notes_to_dscf_marketplace_quotation_items.rb
503
503
  - db/migrate/20250916083536_make_driver_id_nullable_in_delivery_orders.rb
504
+ - db/migrate/20250917110618_add_dropoff_address_to_dscf_marketplace_orders.rb
504
505
  - lib/dscf/marketplace.rb
505
506
  - lib/dscf/marketplace/engine.rb
506
507
  - lib/dscf/marketplace/version.rb