spree_cm_commissioner 2.0.3.pre.pre5 → 2.0.3.pre.pre8
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 +4 -4
- data/Gemfile.lock +1 -1
- data/app/controllers/spree/admin/locations_controller.rb +62 -0
- data/app/controllers/spree/api/v2/operator/event_charts_controller.rb +2 -8
- data/app/controllers/spree/api/v2/platform/places_controller.rb +4 -1
- data/app/controllers/spree/api/v2/storefront/dynamic_fields_controller.rb +42 -0
- data/app/controllers/spree/api/v2/storefront/guests_controller.rb +2 -0
- data/app/controllers/spree/api/v2/storefront/trip_places_controller.rb +29 -0
- data/app/controllers/spree/api/v2/storefront/trip_search_controller.rb +3 -1
- data/app/controllers/spree/api/v2/storefront/trips_controller.rb +24 -0
- data/app/controllers/spree_cm_commissioner/admin/products_controller_decorator.rb +14 -0
- data/app/interactors/spree_cm_commissioner/billing_address_creator.rb +33 -0
- data/app/interactors/spree_cm_commissioner/create_vendor.rb +11 -1
- data/app/interactors/spree_cm_commissioner/google_places_fetcher.rb +1 -0
- data/app/interactors/spree_cm_commissioner/intercity_taxi_order_creator.rb +106 -0
- data/app/interactors/spree_cm_commissioner/transit/draft_order_creator.rb +17 -4
- data/app/models/concerns/spree_cm_commissioner/taxon_kind.rb +1 -1
- data/app/models/concerns/spree_cm_commissioner/variant_options_concern.rb +1 -0
- data/app/models/spree_cm_commissioner/address_decorator.rb +17 -3
- data/app/models/spree_cm_commissioner/guest.rb +105 -56
- data/app/models/spree_cm_commissioner/guest_dynamic_field.rb +37 -27
- data/app/models/spree_cm_commissioner/order/address_book_decorator.rb +30 -12
- data/app/models/spree_cm_commissioner/order_decorator.rb +8 -1
- data/app/models/spree_cm_commissioner/place.rb +2 -0
- data/app/models/spree_cm_commissioner/product_decorator.rb +29 -0
- data/app/models/spree_cm_commissioner/saved_guest.rb +2 -0
- data/app/models/spree_cm_commissioner/taxon_decorator.rb +7 -0
- data/app/models/spree_cm_commissioner/trip.rb +4 -2
- data/app/models/spree_cm_commissioner/user_decorator.rb +1 -1
- data/app/models/spree_cm_commissioner/variant_options.rb +4 -0
- data/app/models/spree_cm_commissioner/vehicle.rb +2 -0
- data/app/models/spree_cm_commissioner/vendor_decorator.rb +3 -0
- data/app/overrides/spree/admin/products/_form/industry_taxons.html.erb.deface +26 -0
- data/app/overrides/spree/admin/products/_form/taxons.html.erb.deface +26 -0
- data/app/overrides/spree/admin/shared/sub_menu/_configuration/locations_tab.html.erb.deface +5 -0
- data/app/queries/spree_cm_commissioner/trip_query.rb +18 -18
- data/app/serializers/spree/v2/storefront/product_serializer_decorator.rb +2 -0
- data/app/serializers/{spree → spree_cm_commissioner}/v2/storefront/amenity_serializer.rb +2 -2
- data/app/serializers/spree_cm_commissioner/v2/storefront/block_serializer.rb +9 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/guest_serializer.rb +1 -3
- data/app/serializers/spree_cm_commissioner/v2/storefront/seat_layout_serializer.rb +12 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/seat_section_serializer.rb +11 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_place_serializer.rb +10 -0
- data/app/serializers/{spree → spree_cm_commissioner}/v2/storefront/trip_query_result_serializer.rb +2 -2
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_result_serializer.rb +17 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_serializer.rb +17 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_stop_serializer.rb +9 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_variant_serializer.rb +12 -0
- data/app/serializers/spree_cm_commissioner/v2/storefront/trip_vehicle_serializer.rb +16 -0
- data/app/serializers/{spree → spree_cm_commissioner}/v2/storefront/trip_vendor_serializer.rb +4 -1
- data/app/serializers/spree_cm_commissioner/v2/storefront/variant_block_serializer.rb +9 -0
- data/app/views/shared/_map.html.erb +5 -4
- data/app/views/spree/admin/locations/_form.html.erb +133 -0
- data/app/views/spree/admin/locations/edit.html.erb +11 -0
- data/app/views/spree/admin/locations/index.html.erb +67 -0
- data/app/views/spree/admin/locations/new.html.erb +11 -0
- data/config/locales/en.yml +2 -0
- data/config/routes.rb +4 -0
- data/db/migrate/20250812015522_remove_unique_indexes_from_cm_user_identity_providers.rb +8 -0
- data/db/migrate/20250812121745_add_data_fill_stage_phase_to_cm_guests.rb +5 -0
- data/db/migrate/20250814073854_add_call_to_action_to_spree_products.rb +5 -0
- data/lib/spree_cm_commissioner/transit/leg.rb +14 -0
- data/lib/spree_cm_commissioner/transit/seat_selection.rb +9 -1
- data/lib/spree_cm_commissioner/trip_query_result.rb +34 -0
- data/lib/spree_cm_commissioner/trip_result.rb +8 -1
- data/lib/spree_cm_commissioner/version.rb +1 -1
- metadata +31 -7
- data/app/serializers/spree/v2/storefront/trip_result_serializer.rb +0 -16
- data/app/serializers/spree/v2/storefront/trip_vehicle_serializer.rb +0 -11
@@ -26,5 +26,39 @@ module SpreeCmCommissioner
|
|
26
26
|
def max_capacity
|
27
27
|
@trips.map(&:max_capacity).compact.min
|
28
28
|
end
|
29
|
+
|
30
|
+
def total_price
|
31
|
+
@trips.map(&:price).compact.sum
|
32
|
+
end
|
33
|
+
|
34
|
+
def total_duration
|
35
|
+
@trips.map(&:duration).compact.sum
|
36
|
+
end
|
37
|
+
|
38
|
+
def total_duration_in_hms
|
39
|
+
total_seconds = total_duration || 0
|
40
|
+
return { hours: 0, minutes: 0, seconds: 0 } if total_seconds.nil? || total_seconds <= 0
|
41
|
+
|
42
|
+
hours = total_seconds / 3600
|
43
|
+
minutes = (total_seconds % 3600) / 60
|
44
|
+
seconds = total_seconds % 60
|
45
|
+
{ hours: hours, minutes: minutes, seconds: seconds }
|
46
|
+
end
|
47
|
+
|
48
|
+
def departure_time
|
49
|
+
@trips.first.departure_time
|
50
|
+
end
|
51
|
+
|
52
|
+
def arrival_time
|
53
|
+
@trips.last.arrival_time
|
54
|
+
end
|
55
|
+
|
56
|
+
def vendors
|
57
|
+
@trips.map(&:vendor).uniq
|
58
|
+
end
|
59
|
+
|
60
|
+
def vehicle_types
|
61
|
+
@trips.map(&:vehicle).map(&:vehicle_type).uniq
|
62
|
+
end
|
29
63
|
end
|
30
64
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
module SpreeCmCommissioner
|
2
2
|
class TripResult
|
3
|
-
attr_accessor :id, :origin_place, :destination_place, :allow_seat_selection,
|
3
|
+
attr_accessor :id, :origin_place, :destination_place, :allow_seat_selection,
|
4
|
+
:departure_time, :duration, :route_type,
|
4
5
|
:vehicle_id, :vehicle, :vendor_id, :vendor,
|
5
6
|
:quantity_available, :max_capacity, :boarding, :drop_off,
|
6
7
|
:product_id, :amenities, :price, :compare_at_amount, :currency
|
@@ -29,5 +30,11 @@ module SpreeCmCommissioner
|
|
29
30
|
seconds = duration % 60
|
30
31
|
{ hours: hours, minutes: minutes, seconds: seconds }
|
31
32
|
end
|
33
|
+
|
34
|
+
def arrival_time
|
35
|
+
return nil if departure_time.nil? || duration.nil?
|
36
|
+
|
37
|
+
departure_time + duration.seconds
|
38
|
+
end
|
32
39
|
end
|
33
40
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_cm_commissioner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.3.pre.
|
4
|
+
version: 2.0.3.pre.pre8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- You
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-08-
|
11
|
+
date: 2025-08-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree
|
@@ -823,6 +823,7 @@ files:
|
|
823
823
|
- app/controllers/spree/admin/inventory_items_controller.rb
|
824
824
|
- app/controllers/spree/admin/kyc_controller.rb
|
825
825
|
- app/controllers/spree/admin/line_items_controller.rb
|
826
|
+
- app/controllers/spree/admin/locations_controller.rb
|
826
827
|
- app/controllers/spree/admin/master_variant_controller.rb
|
827
828
|
- app/controllers/spree/admin/metafields_controller.rb
|
828
829
|
- app/controllers/spree/admin/nearby_places_controller.rb
|
@@ -910,6 +911,7 @@ files:
|
|
910
911
|
- app/controllers/spree/api/v2/storefront/confirm_pin_code_checkers_controller.rb
|
911
912
|
- app/controllers/spree/api/v2/storefront/customer_notifications_controller.rb
|
912
913
|
- app/controllers/spree/api/v2/storefront/dynamic_field_options_controller.rb
|
914
|
+
- app/controllers/spree/api/v2/storefront/dynamic_fields_controller.rb
|
913
915
|
- app/controllers/spree/api/v2/storefront/events_controller.rb
|
914
916
|
- app/controllers/spree/api/v2/storefront/google_wallet_object_tokens_controller.rb
|
915
917
|
- app/controllers/spree/api/v2/storefront/guest_card_classes_controller.rb
|
@@ -941,7 +943,9 @@ files:
|
|
941
943
|
- app/controllers/spree/api/v2/storefront/reset_passwords_controller.rb
|
942
944
|
- app/controllers/spree/api/v2/storefront/s3_signed_urls_controller.rb
|
943
945
|
- app/controllers/spree/api/v2/storefront/self_check_in_controller.rb
|
946
|
+
- app/controllers/spree/api/v2/storefront/trip_places_controller.rb
|
944
947
|
- app/controllers/spree/api/v2/storefront/trip_search_controller.rb
|
948
|
+
- app/controllers/spree/api/v2/storefront/trips_controller.rb
|
945
949
|
- app/controllers/spree/api/v2/storefront/user_account_linkages_controller.rb
|
946
950
|
- app/controllers/spree/api/v2/storefront/user_contacts_controller.rb
|
947
951
|
- app/controllers/spree/api/v2/storefront/user_deletion_reasons_controller.rb
|
@@ -1109,6 +1113,7 @@ files:
|
|
1109
1113
|
- app/interactors/spree_cm_commissioner/asset_links_fetcher.rb
|
1110
1114
|
- app/interactors/spree_cm_commissioner/base_interactor.rb
|
1111
1115
|
- app/interactors/spree_cm_commissioner/bib_number_swapper.rb
|
1116
|
+
- app/interactors/spree_cm_commissioner/billing_address_creator.rb
|
1112
1117
|
- app/interactors/spree_cm_commissioner/chatrace_order_creator.rb
|
1113
1118
|
- app/interactors/spree_cm_commissioner/check_in_bulk_creator.rb
|
1114
1119
|
- app/interactors/spree_cm_commissioner/check_in_destroyer.rb
|
@@ -1139,6 +1144,7 @@ files:
|
|
1139
1144
|
- app/interactors/spree_cm_commissioner/image_saver.rb
|
1140
1145
|
- app/interactors/spree_cm_commissioner/import_csv_template_downloader.rb
|
1141
1146
|
- app/interactors/spree_cm_commissioner/imported_csv_downloader.rb
|
1147
|
+
- app/interactors/spree_cm_commissioner/intercity_taxi_order_creator.rb
|
1142
1148
|
- app/interactors/spree_cm_commissioner/international_mobile_formatter.rb
|
1143
1149
|
- app/interactors/spree_cm_commissioner/invalidate_cache_request.rb
|
1144
1150
|
- app/interactors/spree_cm_commissioner/inventory_item_syncer.rb
|
@@ -1541,6 +1547,7 @@ files:
|
|
1541
1547
|
- app/overrides/spree/admin/products/_form/allow_self_check_in.html.erb.deface
|
1542
1548
|
- app/overrides/spree/admin/products/_form/available_on.html.erb.deface
|
1543
1549
|
- app/overrides/spree/admin/products/_form/discontinue_on.html.erb.deface
|
1550
|
+
- app/overrides/spree/admin/products/_form/industry_taxons.html.erb.deface
|
1544
1551
|
- app/overrides/spree/admin/products/_form/need_confirmation_checkbox.html.erb.deface
|
1545
1552
|
- app/overrides/spree/admin/products/_form/option_types.html.erb.deface
|
1546
1553
|
- app/overrides/spree/admin/products/_form/product_types.html.erb.deface
|
@@ -1549,6 +1556,7 @@ files:
|
|
1549
1556
|
- app/overrides/spree/admin/products/_form/required_self_check_in_location.html.erb.deface
|
1550
1557
|
- app/overrides/spree/admin/products/_form/reveal_description_to_user.html.erb.deface
|
1551
1558
|
- app/overrides/spree/admin/products/_form/subscribable_checkbox.html.erb.deface
|
1559
|
+
- app/overrides/spree/admin/products/_form/taxons.html.erb.deface
|
1552
1560
|
- app/overrides/spree/admin/products/_form/use_video_as_default.html.erb.deface
|
1553
1561
|
- app/overrides/spree/admin/products/edit/clear_cache_button.html.erb.deface
|
1554
1562
|
- app/overrides/spree/admin/products/index/product_vendor_link.html.erb.deface
|
@@ -1584,6 +1592,7 @@ files:
|
|
1584
1592
|
- app/overrides/spree/admin/shared/_product_tabs/video_on_demand.html.erb.deface
|
1585
1593
|
- app/overrides/spree/admin/shared/_store_switcher/store_logo.html.erb.deface
|
1586
1594
|
- app/overrides/spree/admin/shared/_version/deploy_tag_version_badge.html.erb.deface
|
1595
|
+
- app/overrides/spree/admin/shared/sub_menu/_configuration/locations_tab.html.erb.deface
|
1587
1596
|
- app/overrides/spree/admin/shared/sub_menu/_configuration/menu_items.html.erb.deface
|
1588
1597
|
- app/overrides/spree/admin/shared/sub_menu/_integrations/telegram_bot.html.erb.deface
|
1589
1598
|
- app/overrides/spree/admin/shared/sub_menu/_orders/import_order.html.erb.deface
|
@@ -1686,7 +1695,6 @@ files:
|
|
1686
1695
|
- app/serializers/spree/v2/storefront/accommodation_serializer.rb
|
1687
1696
|
- app/serializers/spree/v2/storefront/active_homepage_event_serializer.rb
|
1688
1697
|
- app/serializers/spree/v2/storefront/address_serializer_decorator.rb
|
1689
|
-
- app/serializers/spree/v2/storefront/amenity_serializer.rb
|
1690
1698
|
- app/serializers/spree/v2/storefront/cart_serializer_decorator.rb
|
1691
1699
|
- app/serializers/spree/v2/storefront/customer_notification_serializer.rb
|
1692
1700
|
- app/serializers/spree/v2/storefront/firestore_queue_serializer.rb
|
@@ -1705,10 +1713,6 @@ files:
|
|
1705
1713
|
- app/serializers/spree/v2/storefront/stock_location_serializer_decorator.rb
|
1706
1714
|
- app/serializers/spree/v2/storefront/store_promotion_serializer.rb
|
1707
1715
|
- app/serializers/spree/v2/storefront/taxon_serializer_decorator.rb
|
1708
|
-
- app/serializers/spree/v2/storefront/trip_query_result_serializer.rb
|
1709
|
-
- app/serializers/spree/v2/storefront/trip_result_serializer.rb
|
1710
|
-
- app/serializers/spree/v2/storefront/trip_vehicle_serializer.rb
|
1711
|
-
- app/serializers/spree/v2/storefront/trip_vendor_serializer.rb
|
1712
1716
|
- app/serializers/spree/v2/storefront/user_deletion_reason_serializer.rb
|
1713
1717
|
- app/serializers/spree/v2/storefront/user_device_token_serializer.rb
|
1714
1718
|
- app/serializers/spree/v2/storefront/user_profile_serializer.rb
|
@@ -1773,9 +1777,11 @@ files:
|
|
1773
1777
|
- app/serializers/spree_cm_commissioner/v2/operator/pie_chart_event_aggregator_serializer.rb
|
1774
1778
|
- app/serializers/spree_cm_commissioner/v2/operator/product_serializer.rb
|
1775
1779
|
- app/serializers/spree_cm_commissioner/v2/operator/taxon_serializer.rb
|
1780
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/amenity_serializer.rb
|
1776
1781
|
- app/serializers/spree_cm_commissioner/v2/storefront/asset_serializer.rb
|
1777
1782
|
- app/serializers/spree_cm_commissioner/v2/storefront/base_serializer.rb
|
1778
1783
|
- app/serializers/spree_cm_commissioner/v2/storefront/bib_card_class_serializer.rb
|
1784
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/block_serializer.rb
|
1779
1785
|
- app/serializers/spree_cm_commissioner/v2/storefront/booking_card_class_serializer.rb
|
1780
1786
|
- app/serializers/spree_cm_commissioner/v2/storefront/brand_taxon_serializer.rb
|
1781
1787
|
- app/serializers/spree_cm_commissioner/v2/storefront/calculator_serializer.rb
|
@@ -1803,11 +1809,22 @@ files:
|
|
1803
1809
|
- app/serializers/spree_cm_commissioner/v2/storefront/promotion_serializer.rb
|
1804
1810
|
- app/serializers/spree_cm_commissioner/v2/storefront/qr_url_serializer.rb
|
1805
1811
|
- app/serializers/spree_cm_commissioner/v2/storefront/reset_password_serializer.rb
|
1812
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/seat_layout_serializer.rb
|
1813
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/seat_section_serializer.rb
|
1806
1814
|
- app/serializers/spree_cm_commissioner/v2/storefront/self_check_in_serializer.rb
|
1807
1815
|
- app/serializers/spree_cm_commissioner/v2/storefront/stock_item_serializer.rb
|
1808
1816
|
- app/serializers/spree_cm_commissioner/v2/storefront/taxon_include_product_serializer.rb
|
1817
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_place_serializer.rb
|
1818
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_query_result_serializer.rb
|
1819
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_result_serializer.rb
|
1820
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_serializer.rb
|
1821
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_stop_serializer.rb
|
1822
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_variant_serializer.rb
|
1823
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_vehicle_serializer.rb
|
1824
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/trip_vendor_serializer.rb
|
1809
1825
|
- app/serializers/spree_cm_commissioner/v2/storefront/user_contact_serializer.rb
|
1810
1826
|
- app/serializers/spree_cm_commissioner/v2/storefront/user_identity_provider_serializer.rb
|
1827
|
+
- app/serializers/spree_cm_commissioner/v2/storefront/variant_block_serializer.rb
|
1811
1828
|
- app/serializers/spree_cm_commissioner/v2/storefront/vendor_include_product_serializer.rb
|
1812
1829
|
- app/serializers/spree_cm_commissioner/v2/storefront/video_serializer.rb
|
1813
1830
|
- app/serializers/spree_cm_commissioner/v2/storefront/waiting_room_session_serializer.rb
|
@@ -1953,6 +1970,10 @@ files:
|
|
1953
1970
|
- app/views/spree/admin/kyc/edit.html.erb
|
1954
1971
|
- app/views/spree/admin/line_items/_form.html.erb
|
1955
1972
|
- app/views/spree/admin/line_items/edit.html.erb
|
1973
|
+
- app/views/spree/admin/locations/_form.html.erb
|
1974
|
+
- app/views/spree/admin/locations/edit.html.erb
|
1975
|
+
- app/views/spree/admin/locations/index.html.erb
|
1976
|
+
- app/views/spree/admin/locations/new.html.erb
|
1956
1977
|
- app/views/spree/admin/master_variant/_form.html.erb
|
1957
1978
|
- app/views/spree/admin/master_variant/index.html.erb
|
1958
1979
|
- app/views/spree/admin/metafields/_private_metafields_form.html.erb
|
@@ -2686,6 +2707,9 @@ files:
|
|
2686
2707
|
- db/migrate/20250731062816_add_departure_time_and_arrival_time_to_trip_stop.rb
|
2687
2708
|
- db/migrate/20250807033035_create_spree_cm_commissioner_saved_guests.rb
|
2688
2709
|
- db/migrate/20250808054835_add_saved_guest_reference_to_cm_blocks.rb
|
2710
|
+
- db/migrate/20250812015522_remove_unique_indexes_from_cm_user_identity_providers.rb
|
2711
|
+
- db/migrate/20250812121745_add_data_fill_stage_phase_to_cm_guests.rb
|
2712
|
+
- db/migrate/20250814073854_add_call_to_action_to_spree_products.rb
|
2689
2713
|
- docker-compose.yml
|
2690
2714
|
- docs/option_types/attr_types.md
|
2691
2715
|
- docs/private_key.pem
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Spree
|
2
|
-
module V2
|
3
|
-
module Storefront
|
4
|
-
class TripResultSerializer < BaseSerializer
|
5
|
-
set_type :trip_result
|
6
|
-
|
7
|
-
attributes :origin_place, :destination_place, :boarding, :drop_off, :price, :compare_at_amount, :currency, :quantity_available, :max_capacity,
|
8
|
-
:allow_seat_selection, :departure_time
|
9
|
-
attribute :duration_in_hms, &:duration_in_hms
|
10
|
-
belongs_to :vendor, serializer: Spree::V2::Storefront::TripVendorSerializer
|
11
|
-
belongs_to :vehicle, serializer: Spree::V2::Storefront::TripVehicleSerializer
|
12
|
-
has_many :amenities, serializer: Spree::V2::Storefront::AmenitySerializer
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|