spree_cm_commissioner 2.0.0.pre.pre → 2.0.1.pre.pre
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/.env.example +3 -0
- data/Gemfile.lock +1 -1
- data/app/assets/images/cm-hangmeas-checkout_image.svg +63 -0
- data/app/assets/images/cm-hangmeas-failed.svg +56 -0
- data/app/assets/images/cm-hangmeas-loader.svg +50 -0
- data/app/assets/images/cm-hangmeas-success.svg +51 -0
- data/app/assets/javascripts/spree_cm_commissioner/backend.js +1 -0
- data/app/assets/javascripts/spree_cm_commissioner/tenant_payment_icon_fields.js +65 -0
- data/app/assets/stylesheets/spree_cm_commissioner/backend/commissioner_admin.css.scss +1 -0
- data/app/assets/stylesheets/spree_cm_commissioner/backend/tenant_payment_icon_fields.scss +60 -0
- data/app/controllers/concerns/spree_cm_commissioner/content_cachable.rb +2 -1
- data/app/controllers/spree/admin/event_blazer_queries_controller.rb +11 -4
- data/app/controllers/spree/admin/tenants_controller.rb +8 -0
- data/app/controllers/spree/admin/trip_blazer_queries_controller.rb +35 -0
- data/app/controllers/spree/api/v2/organizer/invite_crews_controller.rb +33 -0
- data/app/controllers/spree/api/v2/storefront/dynamic_field_options_controller.rb +5 -1
- data/app/controllers/spree/api/v2/storefront/guests_controller.rb +31 -5
- data/app/controllers/spree/api/v2/tenant/checkout_controller.rb +2 -0
- data/app/controllers/spree_cm_commissioner/admin/variants_controller_decorator.rb +1 -1
- data/app/controllers/spree_cm_commissioner/api/v2/storefront/checkout_controller_decorator.rb +11 -0
- data/app/controllers/spree_cm_commissioner/well_known_controller.rb +31 -17
- data/app/interactors/spree_cm_commissioner/apple_app_site_association_fetcher.rb +27 -0
- data/app/interactors/spree_cm_commissioner/asset_links_fetcher.rb +27 -0
- data/app/interactors/spree_cm_commissioner/crew_invite_link_handler.rb +48 -0
- data/app/interactors/spree_cm_commissioner/telegram_chats_auto_finder.rb +144 -0
- data/app/interactors/spree_cm_commissioner/vattanac_bank_initiator.rb +5 -1
- data/app/models/concerns/spree_cm_commissioner/event_check_in_flowable.rb +30 -0
- data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +2 -1
- data/app/models/concerns/spree_cm_commissioner/tenant_preference.rb +4 -0
- data/app/models/spree_cm_commissioner/blazer_queryable.rb +8 -0
- data/app/models/spree_cm_commissioner/crew_invite_link.rb +4 -0
- data/app/models/spree_cm_commissioner/dynamic_field.rb +17 -3
- data/app/models/spree_cm_commissioner/dynamic_field_option.rb +7 -1
- data/app/models/spree_cm_commissioner/guest.rb +1 -1
- data/app/models/spree_cm_commissioner/guest_dynamic_field.rb +21 -3
- data/app/models/spree_cm_commissioner/invite.rb +4 -6
- data/app/models/spree_cm_commissioner/invite_team.rb +3 -1
- data/app/models/spree_cm_commissioner/pin_code.rb +3 -2
- data/app/models/spree_cm_commissioner/pin_code_telegram.rb +28 -0
- data/app/models/spree_cm_commissioner/place.rb +0 -1
- data/app/models/spree_cm_commissioner/product_decorator.rb +0 -2
- data/app/models/spree_cm_commissioner/promotion_category_decorator.rb +11 -0
- data/app/models/spree_cm_commissioner/taxon_decorator.rb +5 -2
- data/app/models/spree_cm_commissioner/telegram_chat.rb +6 -0
- data/app/models/spree_cm_commissioner/trip.rb +9 -13
- data/app/models/spree_cm_commissioner/trip_stop.rb +5 -23
- data/app/models/spree_cm_commissioner/user_taxon.rb +1 -0
- data/app/models/spree_cm_commissioner/variant_decorator.rb +1 -0
- data/app/models/spree_cm_commissioner/vendor_decorator.rb +9 -9
- data/app/models/spree_cm_commissioner/vendor_place.rb +8 -3
- data/app/overrides/spree/admin/taxons/_form/check_in_flows.html.erb.deface +18 -0
- data/app/overrides/spree/admin/variants/_form/kyc_field.html.erb.deface +2 -2
- data/app/queries/spree_cm_commissioner/guest_searcher_query.rb +45 -3
- data/app/queries/spree_cm_commissioner/trip_query.rb +56 -27
- data/app/serializers/spree/v2/organizer/invite_crews_serializer.rb +11 -0
- data/app/serializers/spree_cm_commissioner/v2/operator/dashboard_crew_event_serializer.rb +4 -1
- data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_option_serializer.rb +1 -3
- data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_serializer.rb +1 -3
- data/app/serializers/spree_cm_commissioner/v2/storefront/guest_dynamic_field_serializer.rb +2 -1
- data/app/services/spree_cm_commissioner/organizer/export_guest_csv_service.rb +23 -15
- data/app/views/blazer/queries/_content.html.erb +8 -0
- data/app/views/spree/admin/tenants/_form.html.erb +109 -42
- data/config/initializers/spree_permitted_attributes.rb +2 -0
- data/config/locales/en.yml +5 -0
- data/config/routes.rb +4 -1
- data/db/migrate/20250616084219_add_description_to_cm_vendor_place.rb +5 -0
- data/db/migrate/20250630103536_create_cm_telegram_chats.rb +13 -0
- data/db/migrate/20250701093203_add_configurations_to_cm_dynamic_field.rb +6 -0
- data/db/migrate/20250702091305_add_dynamic_field_option_to_guest_dynamic_field.rb +5 -0
- data/db/migrate/20250702091935_add_status_to_dynamic_field_option.rb +5 -0
- data/db/migrate/20250707032008_add_vendor_id_to_spree_category.rb +7 -0
- data/db/migrate/20250711092937_add_position_to_cm_dynamic_fields.rb +11 -0
- data/db/migrate/20250711093045_add_position_to_cm_dynamic_field_options.rb +11 -0
- data/db/migrate/20250714121508_rename_cm_taxon_blazer_query_to_blazer_queryables.rb +7 -0
- data/db/migrate/20250714124323_make_cm_blazer_queryables_polymorphic.rb +19 -0
- data/db/migrate/20250716022821_add_location_reference_to_cm_vendor_places.rb +5 -0
- data/db/migrate/20250716031743_drop_table_cm_vendor_stops.rb +5 -0
- data/db/migrate/20250717023824_add_vendor_reference_to_cm_trips.rb +5 -0
- data/db/migrate/20250717041414_add_location_place_reference_to_cm_trip_stops.rb +5 -0
- data/db/migrate/20250717042539_rename_cm_trip_stops_stop_id_column_to_stop_place_id.rb +7 -0
- data/db/migrate/20250717042707_rename_cm_trips_origin_and_destination_to_origin_place_and_destination_place.rb +11 -0
- data/lib/spree_cm_commissioner/test_helper/factories/block_factory.rb +9 -3
- data/lib/spree_cm_commissioner/test_helper/factories/seat_layout_factory.rb +6 -3
- data/lib/spree_cm_commissioner/test_helper/factories/seat_section_factory.rb +11 -3
- data/lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb +3 -2
- data/lib/spree_cm_commissioner/test_helper/factories/trip_stop_factory.rb +10 -0
- data/lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb +5 -0
- data/lib/spree_cm_commissioner/test_helper/factories/vendor_place_factory.rb +13 -1
- data/lib/spree_cm_commissioner/trip_query_result.rb +8 -0
- data/lib/spree_cm_commissioner/trip_result.rb +5 -3
- data/lib/spree_cm_commissioner/version.rb +1 -1
- metadata +39 -5
- data/app/models/spree_cm_commissioner/taxon_blazer_query.rb +0 -8
- data/app/models/spree_cm_commissioner/vendor_stop.rb +0 -9
- data/app/queries/spree_cm_commissioner/vendor_stop_place_query.rb +0 -54
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.
|
4
|
+
version: 2.0.1.pre.pre
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- You
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-07-
|
11
|
+
date: 2025-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree
|
@@ -656,6 +656,10 @@ files:
|
|
656
656
|
- app/assets/images/cm-fitness-room-icon.svg
|
657
657
|
- app/assets/images/cm-front-desk-icon.svg
|
658
658
|
- app/assets/images/cm-hair-dryer-icon.svg
|
659
|
+
- app/assets/images/cm-hangmeas-checkout_image.svg
|
660
|
+
- app/assets/images/cm-hangmeas-failed.svg
|
661
|
+
- app/assets/images/cm-hangmeas-loader.svg
|
662
|
+
- app/assets/images/cm-hangmeas-success.svg
|
659
663
|
- app/assets/images/cm-hiking-icon.svg
|
660
664
|
- app/assets/images/cm-iron-icon.svg
|
661
665
|
- app/assets/images/cm-lcd-tv-icon.svg
|
@@ -761,6 +765,7 @@ files:
|
|
761
765
|
- app/assets/javascripts/spree_cm_commissioner/selected_field_filter_origin_destination.js
|
762
766
|
- app/assets/javascripts/spree_cm_commissioner/telegram.js
|
763
767
|
- app/assets/javascripts/spree_cm_commissioner/telegram/order_confirmation.js
|
768
|
+
- app/assets/javascripts/spree_cm_commissioner/tenant_payment_icon_fields.js
|
764
769
|
- app/assets/javascripts/spree_cm_commissioner/trip_stop_selection.js
|
765
770
|
- app/assets/javascripts/spree_cm_commissioner/update_popup_confirmation.js
|
766
771
|
- app/assets/javascripts/spree_cm_commissioner/vehicle_seat.js
|
@@ -770,6 +775,7 @@ files:
|
|
770
775
|
- app/assets/stylesheets/spree_cm_commissioner/backend/guest_qr_code.scss
|
771
776
|
- app/assets/stylesheets/spree_cm_commissioner/backend/invoice.scss
|
772
777
|
- app/assets/stylesheets/spree_cm_commissioner/backend/service_calendar.scss
|
778
|
+
- app/assets/stylesheets/spree_cm_commissioner/backend/tenant_payment_icon_fields.scss
|
773
779
|
- app/assets/stylesheets/spree_cm_commissioner/backend/vehicle_seat.scss
|
774
780
|
- app/assets/stylesheets/spree_cm_commissioner/telegram.css
|
775
781
|
- app/assets/stylesheets/spree_cm_commissioner/telegram/telegram_bot.css.scss
|
@@ -837,6 +843,7 @@ files:
|
|
837
843
|
- app/controllers/spree/admin/telegram_bots_controller.rb
|
838
844
|
- app/controllers/spree/admin/tenant_vendors_controller.rb
|
839
845
|
- app/controllers/spree/admin/tenants_controller.rb
|
846
|
+
- app/controllers/spree/admin/trip_blazer_queries_controller.rb
|
840
847
|
- app/controllers/spree/admin/user_events_controller.rb
|
841
848
|
- app/controllers/spree/admin/user_identity_providers_controller.rb
|
842
849
|
- app/controllers/spree/admin/users_controller_decorator.rb
|
@@ -869,6 +876,7 @@ files:
|
|
869
876
|
- app/controllers/spree/api/v2/operator/taxons_controller.rb
|
870
877
|
- app/controllers/spree/api/v2/organizer/base_controller.rb
|
871
878
|
- app/controllers/spree/api/v2/organizer/images_controller.rb
|
879
|
+
- app/controllers/spree/api/v2/organizer/invite_crews_controller.rb
|
872
880
|
- app/controllers/spree/api/v2/organizer/invite_guests_controller.rb
|
873
881
|
- app/controllers/spree/api/v2/organizer/invites_controller.rb
|
874
882
|
- app/controllers/spree/api/v2/organizer/s3_signed_urls_controller.rb
|
@@ -1090,7 +1098,9 @@ files:
|
|
1090
1098
|
- app/interactors/spree_cm_commissioner/account_linkage.rb
|
1091
1099
|
- app/interactors/spree_cm_commissioner/account_recover.rb
|
1092
1100
|
- app/interactors/spree_cm_commissioner/account_updater.rb
|
1101
|
+
- app/interactors/spree_cm_commissioner/apple_app_site_association_fetcher.rb
|
1093
1102
|
- app/interactors/spree_cm_commissioner/apply_service_availability.rb
|
1103
|
+
- app/interactors/spree_cm_commissioner/asset_links_fetcher.rb
|
1094
1104
|
- app/interactors/spree_cm_commissioner/base_interactor.rb
|
1095
1105
|
- app/interactors/spree_cm_commissioner/bib_number_swapper.rb
|
1096
1106
|
- app/interactors/spree_cm_commissioner/chatrace_order_creator.rb
|
@@ -1100,6 +1110,7 @@ files:
|
|
1100
1110
|
- app/interactors/spree_cm_commissioner/conversion_pre_calculator.rb
|
1101
1111
|
- app/interactors/spree_cm_commissioner/create_event.rb
|
1102
1112
|
- app/interactors/spree_cm_commissioner/create_ticket.rb
|
1113
|
+
- app/interactors/spree_cm_commissioner/crew_invite_link_handler.rb
|
1103
1114
|
- app/interactors/spree_cm_commissioner/crew_inviter.rb
|
1104
1115
|
- app/interactors/spree_cm_commissioner/customer_content_notification_creator.rb
|
1105
1116
|
- app/interactors/spree_cm_commissioner/customer_notification_cron_executor.rb
|
@@ -1166,6 +1177,7 @@ files:
|
|
1166
1177
|
- app/interactors/spree_cm_commissioner/subscriptions_order_creator.rb
|
1167
1178
|
- app/interactors/spree_cm_commissioner/subscriptions_order_cron_executor.rb
|
1168
1179
|
- app/interactors/spree_cm_commissioner/subscriptions_prepaid_order_creator.rb
|
1180
|
+
- app/interactors/spree_cm_commissioner/telegram_chats_auto_finder.rb
|
1169
1181
|
- app/interactors/spree_cm_commissioner/telegram_chats_finder.rb
|
1170
1182
|
- app/interactors/spree_cm_commissioner/telegram_debug_pin_code_sender.rb
|
1171
1183
|
- app/interactors/spree_cm_commissioner/telegram_notification_sender.rb
|
@@ -1249,6 +1261,7 @@ files:
|
|
1249
1261
|
- app/mailers/spree_cm_commissioner/pin_code_mailer.rb
|
1250
1262
|
- app/mailers/spree_cm_commissioner/team_invite_mailer.rb
|
1251
1263
|
- app/models/.gitkeep
|
1264
|
+
- app/models/concerns/spree_cm_commissioner/event_check_in_flowable.rb
|
1252
1265
|
- app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
|
1253
1266
|
- app/models/concerns/spree_cm_commissioner/json_preference_validator.rb
|
1254
1267
|
- app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb
|
@@ -1286,6 +1299,7 @@ files:
|
|
1286
1299
|
- app/models/spree_cm_commissioner/asset.rb
|
1287
1300
|
- app/models/spree_cm_commissioner/back_image.rb
|
1288
1301
|
- app/models/spree_cm_commissioner/base.rb
|
1302
|
+
- app/models/spree_cm_commissioner/blazer_queryable.rb
|
1289
1303
|
- app/models/spree_cm_commissioner/block.rb
|
1290
1304
|
- app/models/spree_cm_commissioner/check_in.rb
|
1291
1305
|
- app/models/spree_cm_commissioner/check_in_ability.rb
|
@@ -1294,6 +1308,7 @@ files:
|
|
1294
1308
|
- app/models/spree_cm_commissioner/cms_page_decorator.rb
|
1295
1309
|
- app/models/spree_cm_commissioner/configuration.rb
|
1296
1310
|
- app/models/spree_cm_commissioner/crew_invite.rb
|
1311
|
+
- app/models/spree_cm_commissioner/crew_invite_link.rb
|
1297
1312
|
- app/models/spree_cm_commissioner/customer.rb
|
1298
1313
|
- app/models/spree_cm_commissioner/customer_notification.rb
|
1299
1314
|
- app/models/spree_cm_commissioner/customer_promotion_rule.rb
|
@@ -1365,6 +1380,7 @@ files:
|
|
1365
1380
|
- app/models/spree_cm_commissioner/pin_code_mobile_confirm.rb
|
1366
1381
|
- app/models/spree_cm_commissioner/pin_code_otp.rb
|
1367
1382
|
- app/models/spree_cm_commissioner/pin_code_registration.rb
|
1383
|
+
- app/models/spree_cm_commissioner/pin_code_telegram.rb
|
1368
1384
|
- app/models/spree_cm_commissioner/pin_code_update_user_login.rb
|
1369
1385
|
- app/models/spree_cm_commissioner/place.rb
|
1370
1386
|
- app/models/spree_cm_commissioner/price_decorator.rb
|
@@ -1385,6 +1401,7 @@ files:
|
|
1385
1401
|
- app/models/spree_cm_commissioner/promotion/rules/guest_occupations.rb
|
1386
1402
|
- app/models/spree_cm_commissioner/promotion/rules/vendors.rb
|
1387
1403
|
- app/models/spree_cm_commissioner/promotion/rules/weekend.rb
|
1404
|
+
- app/models/spree_cm_commissioner/promotion_category_decorator.rb
|
1388
1405
|
- app/models/spree_cm_commissioner/promotion_decorator.rb
|
1389
1406
|
- app/models/spree_cm_commissioner/property_decorator.rb
|
1390
1407
|
- app/models/spree_cm_commissioner/prototype_decorator.rb
|
@@ -1420,7 +1437,6 @@ files:
|
|
1420
1437
|
- app/models/spree_cm_commissioner/store_decorator.rb
|
1421
1438
|
- app/models/spree_cm_commissioner/subscription.rb
|
1422
1439
|
- app/models/spree_cm_commissioner/taxon_app_banner.rb
|
1423
|
-
- app/models/spree_cm_commissioner/taxon_blazer_query.rb
|
1424
1440
|
- app/models/spree_cm_commissioner/taxon_brand_logo.rb
|
1425
1441
|
- app/models/spree_cm_commissioner/taxon_category_icon.rb
|
1426
1442
|
- app/models/spree_cm_commissioner/taxon_decorator.rb
|
@@ -1433,6 +1449,7 @@ files:
|
|
1433
1449
|
- app/models/spree_cm_commissioner/taxon_web_banner.rb
|
1434
1450
|
- app/models/spree_cm_commissioner/taxonomy_decorator.rb
|
1435
1451
|
- app/models/spree_cm_commissioner/telegram_bot.rb
|
1452
|
+
- app/models/spree_cm_commissioner/telegram_chat.rb
|
1436
1453
|
- app/models/spree_cm_commissioner/tenant.rb
|
1437
1454
|
- app/models/spree_cm_commissioner/transactional_email.rb
|
1438
1455
|
- app/models/spree_cm_commissioner/trip.rb
|
@@ -1462,7 +1479,6 @@ files:
|
|
1462
1479
|
- app/models/spree_cm_commissioner/vendor_photo.rb
|
1463
1480
|
- app/models/spree_cm_commissioner/vendor_place.rb
|
1464
1481
|
- app/models/spree_cm_commissioner/vendor_promotion_rule.rb
|
1465
|
-
- app/models/spree_cm_commissioner/vendor_stop.rb
|
1466
1482
|
- app/models/spree_cm_commissioner/vendor_web_promotion_banner.rb
|
1467
1483
|
- app/models/spree_cm_commissioner/video.rb
|
1468
1484
|
- app/models/spree_cm_commissioner/video_on_demand.rb
|
@@ -1569,6 +1585,7 @@ files:
|
|
1569
1585
|
- app/overrides/spree/admin/taxons/_form/assets_form.html.erb.deface
|
1570
1586
|
- app/overrides/spree/admin/taxons/_form/available_on.html.erb.deface
|
1571
1587
|
- app/overrides/spree/admin/taxons/_form/background_color_and_foreground_color.html.erb.deface
|
1588
|
+
- app/overrides/spree/admin/taxons/_form/check_in_flows.html.erb.deface
|
1572
1589
|
- app/overrides/spree/admin/taxons/_form/custom_redirect_url.html.erb.deface
|
1573
1590
|
- app/overrides/spree/admin/taxons/_form/hide_video_banner.html.erb.deface
|
1574
1591
|
- app/overrides/spree/admin/taxons/_form/kind_html.erb.deface
|
@@ -1625,7 +1642,6 @@ files:
|
|
1625
1642
|
- app/queries/spree_cm_commissioner/trip_query.rb
|
1626
1643
|
- app/queries/spree_cm_commissioner/trip_seat_layout_query.rb
|
1627
1644
|
- app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb
|
1628
|
-
- app/queries/spree_cm_commissioner/vendor_stop_place_query.rb
|
1629
1645
|
- app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb
|
1630
1646
|
- app/request_schemas/spree_cm_commissioner/application_request_schema.rb
|
1631
1647
|
- app/request_schemas/spree_cm_commissioner/profile_image_request_schema.rb
|
@@ -1641,6 +1657,7 @@ files:
|
|
1641
1657
|
- app/serializers/spree/v2/organizer/asset_serializer.rb
|
1642
1658
|
- app/serializers/spree/v2/organizer/base_serializer.rb
|
1643
1659
|
- app/serializers/spree/v2/organizer/image_serializer.rb
|
1660
|
+
- app/serializers/spree/v2/organizer/invite_crews_serializer.rb
|
1644
1661
|
- app/serializers/spree/v2/organizer/invite_guest_serializer.rb
|
1645
1662
|
- app/serializers/spree/v2/organizer/invite_serializer.rb
|
1646
1663
|
- app/serializers/spree/v2/organizer/s3_signed_url_serializer.rb
|
@@ -2599,6 +2616,7 @@ files:
|
|
2599
2616
|
- db/migrate/20250610080108_add_contact_to_cm_guests.rb
|
2600
2617
|
- db/migrate/20250611023548_add_country_code_to_guests.rb
|
2601
2618
|
- db/migrate/20250612035937_add_intel_phone_number_to_guests.rb
|
2619
|
+
- db/migrate/20250616084219_add_description_to_cm_vendor_place.rb
|
2602
2620
|
- db/migrate/20250619073724_drop_table_cm_line_item_seats.rb
|
2603
2621
|
- db/migrate/20250619073812_drop_table_cm_vehicle_seats.rb
|
2604
2622
|
- db/migrate/20250619073844_drop_table_cm_vehicle_types.rb
|
@@ -2614,6 +2632,21 @@ files:
|
|
2614
2632
|
- db/migrate/20250624091005_create_cm_reserved_blocks.rb
|
2615
2633
|
- db/migrate/20250626083642_create_cm_variant_blocks.rb
|
2616
2634
|
- db/migrate/20250627023314_add_block_id_to_cm_guests.rb
|
2635
|
+
- db/migrate/20250630103536_create_cm_telegram_chats.rb
|
2636
|
+
- db/migrate/20250701093203_add_configurations_to_cm_dynamic_field.rb
|
2637
|
+
- db/migrate/20250702091305_add_dynamic_field_option_to_guest_dynamic_field.rb
|
2638
|
+
- db/migrate/20250702091935_add_status_to_dynamic_field_option.rb
|
2639
|
+
- db/migrate/20250707032008_add_vendor_id_to_spree_category.rb
|
2640
|
+
- db/migrate/20250711092937_add_position_to_cm_dynamic_fields.rb
|
2641
|
+
- db/migrate/20250711093045_add_position_to_cm_dynamic_field_options.rb
|
2642
|
+
- db/migrate/20250714121508_rename_cm_taxon_blazer_query_to_blazer_queryables.rb
|
2643
|
+
- db/migrate/20250714124323_make_cm_blazer_queryables_polymorphic.rb
|
2644
|
+
- db/migrate/20250716022821_add_location_reference_to_cm_vendor_places.rb
|
2645
|
+
- db/migrate/20250716031743_drop_table_cm_vendor_stops.rb
|
2646
|
+
- db/migrate/20250717023824_add_vendor_reference_to_cm_trips.rb
|
2647
|
+
- db/migrate/20250717041414_add_location_place_reference_to_cm_trip_stops.rb
|
2648
|
+
- db/migrate/20250717042539_rename_cm_trip_stops_stop_id_column_to_stop_place_id.rb
|
2649
|
+
- db/migrate/20250717042707_rename_cm_trips_origin_and_destination_to_origin_place_and_destination_place.rb
|
2617
2650
|
- docker-compose.yml
|
2618
2651
|
- docs/option_types/attr_types.md
|
2619
2652
|
- docs/private_key.pem
|
@@ -2707,6 +2740,7 @@ files:
|
|
2707
2740
|
- lib/spree_cm_commissioner/test_helper/factories/transactional_email_factory.rb
|
2708
2741
|
- lib/spree_cm_commissioner/test_helper/factories/trip_connection_factory.rb
|
2709
2742
|
- lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb
|
2743
|
+
- lib/spree_cm_commissioner/test_helper/factories/trip_stop_factory.rb
|
2710
2744
|
- lib/spree_cm_commissioner/test_helper/factories/user_deletion_reasons_factory.rb
|
2711
2745
|
- lib/spree_cm_commissioner/test_helper/factories/user_event_factory.rb
|
2712
2746
|
- lib/spree_cm_commissioner/test_helper/factories/user_factory.rb
|
@@ -1,8 +0,0 @@
|
|
1
|
-
module SpreeCmCommissioner
|
2
|
-
class TaxonBlazerQuery < SpreeCmCommissioner::Base
|
3
|
-
belongs_to :taxon, class_name: 'Spree::Taxon'
|
4
|
-
belongs_to :blazer_query, class_name: 'Blazer::Query'
|
5
|
-
|
6
|
-
validates :taxon_id, uniqueness: { scope: :blazer_query_id, message: I18n.t('event_blazer_queries.fail') }
|
7
|
-
end
|
8
|
-
end
|
@@ -1,9 +0,0 @@
|
|
1
|
-
module SpreeCmCommissioner
|
2
|
-
class VendorStop < Base
|
3
|
-
belongs_to :vendor, class_name: 'Spree::Vendor'
|
4
|
-
belongs_to :stop, class_name: 'SpreeCmCommissioner::Place'
|
5
|
-
|
6
|
-
validates :trip_count, numericality: { greater_than_or_equal_to: 0 }
|
7
|
-
enum :stop_type, { boarding: 0, drop_off: 1 }
|
8
|
-
end
|
9
|
-
end
|
@@ -1,54 +0,0 @@
|
|
1
|
-
module SpreeCmCommissioner
|
2
|
-
class VendorStopPlaceQuery
|
3
|
-
attr_reader :query, :vendor_id, :stop_type, :reference_stop_id
|
4
|
-
|
5
|
-
def initialize(query:, vendor_id:, stop_type: :boarding, reference_stop_id: nil)
|
6
|
-
@query = query.to_s.strip
|
7
|
-
@vendor_id = vendor_id
|
8
|
-
@stop_type = stop_type
|
9
|
-
@reference_stop_id = reference_stop_id
|
10
|
-
end
|
11
|
-
|
12
|
-
def call
|
13
|
-
results = vendor_stops
|
14
|
-
return [] if results.empty?
|
15
|
-
|
16
|
-
places = results.includes(:stop).map(&:stop).compact.uniq
|
17
|
-
|
18
|
-
format_places(places)
|
19
|
-
end
|
20
|
-
|
21
|
-
private
|
22
|
-
|
23
|
-
def vendor_stops
|
24
|
-
scope = base_scope
|
25
|
-
return scope if query.blank?
|
26
|
-
|
27
|
-
scope = scope.where.not(stop_id: reference_stop_id) if reference_stop_id.present?
|
28
|
-
scope.where('cm_places.name ILIKE ?', "%#{query}%")
|
29
|
-
end
|
30
|
-
|
31
|
-
def base_scope
|
32
|
-
SpreeCmCommissioner::VendorStop
|
33
|
-
.joins(:stop)
|
34
|
-
.where(vendor_id: vendor_id)
|
35
|
-
.where(stop_type: stop_type)
|
36
|
-
.order(trip_count: :desc)
|
37
|
-
.where.not(trip_count: 0)
|
38
|
-
end
|
39
|
-
|
40
|
-
def format_places(places)
|
41
|
-
places
|
42
|
-
.sort_by { |p| [-p.depth, -p.lft] }
|
43
|
-
.filter_map do |place|
|
44
|
-
next if place.depth.zero?
|
45
|
-
|
46
|
-
{
|
47
|
-
id: place.id,
|
48
|
-
parent_id: place.parent_id,
|
49
|
-
name: place.self_and_ancestors.map(&:name).reverse.join(', ')
|
50
|
-
}
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|