spree_cm_commissioner 2.15.0 → 2.15.2
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/api/v2/storefront/transit/draft_orders_controller.rb +2 -1
- data/app/controllers/spree/api/v2/tenant/transit/draft_orders_controller.rb +2 -1
- data/app/jobs/spree_cm_commissioner/seats/auto_assign_job.rb +16 -0
- data/app/models/concerns/spree_cm_commissioner/line_item_seat_selection.rb +25 -3
- data/app/models/concerns/spree_cm_commissioner/order_seat_auto_assignable.rb +73 -0
- data/app/models/concerns/spree_cm_commissioner/product_seat_auto_assignable.rb +29 -0
- data/app/models/concerns/spree_cm_commissioner/promotion/rules/oauth_application_scoped.rb +44 -0
- data/app/models/spree_cm_commissioner/block.rb +17 -0
- data/app/models/spree_cm_commissioner/line_item_decorator.rb +4 -0
- data/app/models/spree_cm_commissioner/oauth_application_promotion_rule.rb +8 -0
- data/app/models/spree_cm_commissioner/order_decorator.rb +17 -1
- data/app/models/spree_cm_commissioner/product_decorator.rb +1 -0
- data/app/models/spree_cm_commissioner/promotion/rules/customer_order_count.rb +87 -0
- data/app/models/spree_cm_commissioner/promotion/rules/oauth_applications.rb +34 -0
- data/app/models/spree_cm_commissioner/seats/auto_assign_validator.rb +63 -0
- data/app/overrides/spree/admin/products/_form/auto_assign_seats.html.erb.deface +14 -0
- data/app/queries/spree_cm_commissioner/seats/free_runs_query.rb +73 -0
- data/app/serializers/spree/v2/storefront/line_item_serializer_decorator.rb +1 -1
- data/app/serializers/spree/v2/storefront/product_serializer_decorator.rb +1 -1
- data/app/serializers/spree/v2/tenant/line_item_serializer.rb +1 -1
- data/app/services/spree_cm_commissioner/doorkeeper_refresh_token_request_decorator.rb +23 -0
- data/app/services/spree_cm_commissioner/doorkeeper_server_decorator.rb +28 -0
- data/app/services/spree_cm_commissioner/mini_app_login_application.rb +32 -0
- data/app/services/spree_cm_commissioner/order_holds/release.rb +3 -1
- data/app/services/spree_cm_commissioner/seat_layouts/save_seat_order.rb +111 -0
- data/app/services/spree_cm_commissioner/seats/auto_assign.rb +135 -0
- data/app/services/spree_cm_commissioner/seats/block_date_iteration.rb +5 -2
- data/app/services/spree_cm_commissioner/seats/pick_seats.rb +79 -0
- data/app/services/spree_cm_commissioner/transit_order/create.rb +9 -4
- data/app/views/spree/admin/promotions/rules/_customer_order_count.html.erb +20 -0
- data/app/views/spree/admin/promotions/rules/_oauth_application_select.html.erb +15 -0
- data/app/views/spree/admin/promotions/rules/_oauth_applications.html.erb +6 -0
- data/config/locales/en.yml +24 -0
- data/config/locales/km.yml +24 -0
- data/db/migrate/20261106000001_add_seat_index_to_cm_blocks.rb +16 -0
- data/db/migrate/20261110000001_add_seat_assignment_status_to_spree_line_items.rb +11 -0
- data/db/migrate/20261110000001_create_cm_oauth_application_promotion_rules.rb +16 -0
- data/lib/spree_cm_commissioner/engine.rb +3 -1
- data/lib/spree_cm_commissioner/version.rb +1 -1
- metadata +24 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
class AddSeatAssignmentStatusToSpreeLineItems < ActiveRecord::Migration[7.0]
|
|
2
|
+
def change
|
|
3
|
+
add_column :spree_line_items, :seat_assignment_status, :integer, if_not_exists: true
|
|
4
|
+
|
|
5
|
+
# Only auto-assign line items ever get a value, so a partial index stays tiny while serving the
|
|
6
|
+
# lookups that need it: pending parties for a bulk run or sweeper, split parties for the organizer.
|
|
7
|
+
add_index :spree_line_items, :seat_assignment_status,
|
|
8
|
+
where: 'seat_assignment_status IS NOT NULL',
|
|
9
|
+
if_not_exists: true
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class CreateCmOauthApplicationPromotionRules < ActiveRecord::Migration[7.0]
|
|
2
|
+
def change
|
|
3
|
+
create_table :cm_oauth_application_promotion_rules, if_not_exists: true do |t|
|
|
4
|
+
t.references :promotion_rule, null: false, foreign_key: { to_table: :spree_promotion_rules, on_delete: :cascade }, index: false
|
|
5
|
+
t.references :oauth_application, null: false, foreign_key: { to_table: :spree_oauth_applications, on_delete: :cascade },
|
|
6
|
+
index: { name: 'idx_cm_oauth_app_promotion_rules_on_app' }
|
|
7
|
+
|
|
8
|
+
t.timestamps
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# One row per rule and app; also serves "which apps does this rule use". The index on
|
|
12
|
+
# oauth_application_id above serves the report direction, "which promotions use this app".
|
|
13
|
+
add_index :cm_oauth_application_promotion_rules, %i[promotion_rule_id oauth_application_id],
|
|
14
|
+
unique: true, name: 'idx_cm_oauth_app_promotion_rules_on_rule_and_app', if_not_exists: true
|
|
15
|
+
end
|
|
16
|
+
end
|
|
@@ -31,7 +31,9 @@ module SpreeCmCommissioner
|
|
|
31
31
|
SpreeCmCommissioner::Promotion::Rules::Weekend,
|
|
32
32
|
SpreeCmCommissioner::Promotion::Rules::CustomDates,
|
|
33
33
|
SpreeCmCommissioner::Promotion::Rules::GuestOccupations,
|
|
34
|
-
SpreeCmCommissioner::Promotion::Rules::GuestAgeGroup
|
|
34
|
+
SpreeCmCommissioner::Promotion::Rules::GuestAgeGroup,
|
|
35
|
+
SpreeCmCommissioner::Promotion::Rules::OauthApplications,
|
|
36
|
+
SpreeCmCommissioner::Promotion::Rules::CustomerOrderCount
|
|
35
37
|
]
|
|
36
38
|
|
|
37
39
|
Rails.application.config.spree.promotions.actions.concat [
|
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.15.
|
|
4
|
+
version: 2.15.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- You
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-11-
|
|
11
|
+
date: 2026-11-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: spree
|
|
@@ -1435,6 +1435,7 @@ files:
|
|
|
1435
1435
|
- app/jobs/spree_cm_commissioner/route_metrics/increase_order_count_job.rb
|
|
1436
1436
|
- app/jobs/spree_cm_commissioner/route_metrics/increase_trip_count_job.rb
|
|
1437
1437
|
- app/jobs/spree_cm_commissioner/route_prices/update_price_range_job.rb
|
|
1438
|
+
- app/jobs/spree_cm_commissioner/seats/auto_assign_job.rb
|
|
1438
1439
|
- app/jobs/spree_cm_commissioner/seats/bulk_release_on_hold_blocks_job.rb
|
|
1439
1440
|
- app/jobs/spree_cm_commissioner/seats/release_expired_blocks_job.rb
|
|
1440
1441
|
- app/jobs/spree_cm_commissioner/show_contestants/import_job.rb
|
|
@@ -1506,6 +1507,7 @@ files:
|
|
|
1506
1507
|
- app/models/concerns/spree_cm_commissioner/order_prepaid_payment.rb
|
|
1507
1508
|
- app/models/concerns/spree_cm_commissioner/order_qr_codeable.rb
|
|
1508
1509
|
- app/models/concerns/spree_cm_commissioner/order_scopes.rb
|
|
1510
|
+
- app/models/concerns/spree_cm_commissioner/order_seat_auto_assignable.rb
|
|
1509
1511
|
- app/models/concerns/spree_cm_commissioner/order_state_machine.rb
|
|
1510
1512
|
- app/models/concerns/spree_cm_commissioner/parameterize_name.rb
|
|
1511
1513
|
- app/models/concerns/spree_cm_commissioner/participation_type_bitwise.rb
|
|
@@ -1513,7 +1515,9 @@ files:
|
|
|
1513
1515
|
- app/models/concerns/spree_cm_commissioner/phone_number_sanitizer.rb
|
|
1514
1516
|
- app/models/concerns/spree_cm_commissioner/product_delegation.rb
|
|
1515
1517
|
- app/models/concerns/spree_cm_commissioner/product_relation_type.rb
|
|
1518
|
+
- app/models/concerns/spree_cm_commissioner/product_seat_auto_assignable.rb
|
|
1516
1519
|
- app/models/concerns/spree_cm_commissioner/product_type.rb
|
|
1520
|
+
- app/models/concerns/spree_cm_commissioner/promotion/rules/oauth_application_scoped.rb
|
|
1517
1521
|
- app/models/concerns/spree_cm_commissioner/purchase_limitable.rb
|
|
1518
1522
|
- app/models/concerns/spree_cm_commissioner/rate_plan_options_concern.rb
|
|
1519
1523
|
- app/models/concerns/spree_cm_commissioner/reschedule_request_state_machine.rb
|
|
@@ -1665,6 +1669,7 @@ files:
|
|
|
1665
1669
|
- app/models/spree_cm_commissioner/notification_taxon.rb
|
|
1666
1670
|
- app/models/spree_cm_commissioner/oauth_access_token_decorator.rb
|
|
1667
1671
|
- app/models/spree_cm_commissioner/oauth_application_decorator.rb
|
|
1672
|
+
- app/models/spree_cm_commissioner/oauth_application_promotion_rule.rb
|
|
1668
1673
|
- app/models/spree_cm_commissioner/option_type_decorator.rb
|
|
1669
1674
|
- app/models/spree_cm_commissioner/option_value_decorator.rb
|
|
1670
1675
|
- app/models/spree_cm_commissioner/option_value_rate_plan.rb
|
|
@@ -1724,12 +1729,14 @@ files:
|
|
|
1724
1729
|
- app/models/spree_cm_commissioner/promotion/actions/create_date_specific_item_adjustments.rb
|
|
1725
1730
|
- app/models/spree_cm_commissioner/promotion/actions/create_guest_item_adjustments.rb
|
|
1726
1731
|
- app/models/spree_cm_commissioner/promotion/rules/custom_dates.rb
|
|
1732
|
+
- app/models/spree_cm_commissioner/promotion/rules/customer_order_count.rb
|
|
1727
1733
|
- app/models/spree_cm_commissioner/promotion/rules/customers.rb
|
|
1728
1734
|
- app/models/spree_cm_commissioner/promotion/rules/date.rb
|
|
1729
1735
|
- app/models/spree_cm_commissioner/promotion/rules/fixed_date.rb
|
|
1730
1736
|
- app/models/spree_cm_commissioner/promotion/rules/guest.rb
|
|
1731
1737
|
- app/models/spree_cm_commissioner/promotion/rules/guest_age_group.rb
|
|
1732
1738
|
- app/models/spree_cm_commissioner/promotion/rules/guest_occupations.rb
|
|
1739
|
+
- app/models/spree_cm_commissioner/promotion/rules/oauth_applications.rb
|
|
1733
1740
|
- app/models/spree_cm_commissioner/promotion/rules/vendors.rb
|
|
1734
1741
|
- app/models/spree_cm_commissioner/promotion/rules/weekend.rb
|
|
1735
1742
|
- app/models/spree_cm_commissioner/promotion_category_decorator.rb
|
|
@@ -1762,6 +1769,7 @@ files:
|
|
|
1762
1769
|
- app/models/spree_cm_commissioner/saved_guest.rb
|
|
1763
1770
|
- app/models/spree_cm_commissioner/seat_layout.rb
|
|
1764
1771
|
- app/models/spree_cm_commissioner/seat_section.rb
|
|
1772
|
+
- app/models/spree_cm_commissioner/seats/auto_assign_validator.rb
|
|
1765
1773
|
- app/models/spree_cm_commissioner/service_calendar.rb
|
|
1766
1774
|
- app/models/spree_cm_commissioner/service_fee_rule.rb
|
|
1767
1775
|
- app/models/spree_cm_commissioner/show.rb
|
|
@@ -1916,6 +1924,7 @@ files:
|
|
|
1916
1924
|
- app/overrides/spree/admin/products/_form/allow_gift_transfer.html.erb.deface
|
|
1917
1925
|
- app/overrides/spree/admin/products/_form/allow_self_check_in.html.erb.deface
|
|
1918
1926
|
- app/overrides/spree/admin/products/_form/allow_transfer.html.erb.deface
|
|
1927
|
+
- app/overrides/spree/admin/products/_form/auto_assign_seats.html.erb.deface
|
|
1919
1928
|
- app/overrides/spree/admin/products/_form/available_on.html.erb.deface
|
|
1920
1929
|
- app/overrides/spree/admin/products/_form/discontinue_on.html.erb.deface
|
|
1921
1930
|
- app/overrides/spree/admin/products/_form/enable_confirmation_email.html.erb.deface
|
|
@@ -2074,6 +2083,7 @@ files:
|
|
|
2074
2083
|
- app/queries/spree_cm_commissioner/pie_chart_event_aggregator_queries.rb
|
|
2075
2084
|
- app/queries/spree_cm_commissioner/recipient_searcher_query.rb
|
|
2076
2085
|
- app/queries/spree_cm_commissioner/reservation_query.rb
|
|
2086
|
+
- app/queries/spree_cm_commissioner/seats/free_runs_query.rb
|
|
2077
2087
|
- app/queries/spree_cm_commissioner/session_product_monitor_query.rb
|
|
2078
2088
|
- app/queries/spree_cm_commissioner/single_leg_trips_query.rb
|
|
2079
2089
|
- app/queries/spree_cm_commissioner/store_credit_overview_query.rb
|
|
@@ -2363,6 +2373,8 @@ files:
|
|
|
2363
2373
|
- app/services/spree_cm_commissioner/customer_notifications/clone.rb
|
|
2364
2374
|
- app/services/spree_cm_commissioner/distribution_agreements/create.rb
|
|
2365
2375
|
- app/services/spree_cm_commissioner/distribution_agreements/update.rb
|
|
2376
|
+
- app/services/spree_cm_commissioner/doorkeeper_refresh_token_request_decorator.rb
|
|
2377
|
+
- app/services/spree_cm_commissioner/doorkeeper_server_decorator.rb
|
|
2366
2378
|
- app/services/spree_cm_commissioner/draft_orders/create.rb
|
|
2367
2379
|
- app/services/spree_cm_commissioner/events/clone.rb
|
|
2368
2380
|
- app/services/spree_cm_commissioner/events/publish_stock_statuses_to_firestore.rb
|
|
@@ -2553,6 +2565,7 @@ files:
|
|
|
2553
2565
|
- app/services/spree_cm_commissioner/load_test/generate_booking_ticket_data.rb
|
|
2554
2566
|
- app/services/spree_cm_commissioner/load_test/generate_voting_fixture_data.rb
|
|
2555
2567
|
- app/services/spree_cm_commissioner/load_test/login_token.rb
|
|
2568
|
+
- app/services/spree_cm_commissioner/mini_app_login_application.rb
|
|
2556
2569
|
- app/services/spree_cm_commissioner/mini_app_provider/api_key_history.rb
|
|
2557
2570
|
- app/services/spree_cm_commissioner/mini_app_provider/ip_rules.rb
|
|
2558
2571
|
- app/services/spree_cm_commissioner/mini_app_provider/session_gate.rb
|
|
@@ -2661,12 +2674,15 @@ files:
|
|
|
2661
2674
|
- app/services/spree_cm_commissioner/rsa_service.rb
|
|
2662
2675
|
- app/services/spree_cm_commissioner/seat_layouts/grid.rb
|
|
2663
2676
|
- app/services/spree_cm_commissioner/seat_layouts/sanitize_svg.rb
|
|
2677
|
+
- app/services/spree_cm_commissioner/seat_layouts/save_seat_order.rb
|
|
2664
2678
|
- app/services/spree_cm_commissioner/seat_layouts/update.rb
|
|
2665
2679
|
- app/services/spree_cm_commissioner/seats/apply_locks.rb
|
|
2680
|
+
- app/services/spree_cm_commissioner/seats/auto_assign.rb
|
|
2666
2681
|
- app/services/spree_cm_commissioner/seats/block_date_iteration.rb
|
|
2667
2682
|
- app/services/spree_cm_commissioner/seats/bulk_release_on_hold_blocks.rb
|
|
2668
2683
|
- app/services/spree_cm_commissioner/seats/lock_blocks.rb
|
|
2669
2684
|
- app/services/spree_cm_commissioner/seats/lock_state.rb
|
|
2685
|
+
- app/services/spree_cm_commissioner/seats/pick_seats.rb
|
|
2670
2686
|
- app/services/spree_cm_commissioner/seats/release_expired_blocks.rb
|
|
2671
2687
|
- app/services/spree_cm_commissioner/seats/unlock_blocks.rb
|
|
2672
2688
|
- app/services/spree_cm_commissioner/seeds/roles_decorator.rb
|
|
@@ -2959,10 +2975,13 @@ files:
|
|
|
2959
2975
|
- app/views/spree/admin/promotions/actions/_create_date_specific_item_adjustments.html.erb
|
|
2960
2976
|
- app/views/spree/admin/promotions/actions/_create_guest_item_adjustments.html.erb
|
|
2961
2977
|
- app/views/spree/admin/promotions/rules/_custom_dates.html.erb
|
|
2978
|
+
- app/views/spree/admin/promotions/rules/_customer_order_count.html.erb
|
|
2962
2979
|
- app/views/spree/admin/promotions/rules/_customers.html.erb
|
|
2963
2980
|
- app/views/spree/admin/promotions/rules/_fixed_date.html.erb
|
|
2964
2981
|
- app/views/spree/admin/promotions/rules/_guest_age_group.html.erb
|
|
2965
2982
|
- app/views/spree/admin/promotions/rules/_guest_occupations.html.erb
|
|
2983
|
+
- app/views/spree/admin/promotions/rules/_oauth_application_select.html.erb
|
|
2984
|
+
- app/views/spree/admin/promotions/rules/_oauth_applications.html.erb
|
|
2966
2985
|
- app/views/spree/admin/promotions/rules/_product.html.erb
|
|
2967
2986
|
- app/views/spree/admin/promotions/rules/_user.html.erb
|
|
2968
2987
|
- app/views/spree/admin/promotions/rules/_vendors.html.erb
|
|
@@ -3789,6 +3808,9 @@ files:
|
|
|
3789
3808
|
- db/migrate/20261105000002_add_index_to_spree_orders_waiting_room_session_id.rb
|
|
3790
3809
|
- db/migrate/20261105000003_add_queue_fields_to_cm_waiting_room_sessions.rb
|
|
3791
3810
|
- db/migrate/20261105000004_add_oauth_application_id_to_spree_orders.rb
|
|
3811
|
+
- db/migrate/20261106000001_add_seat_index_to_cm_blocks.rb
|
|
3812
|
+
- db/migrate/20261110000001_add_seat_assignment_status_to_spree_line_items.rb
|
|
3813
|
+
- db/migrate/20261110000001_create_cm_oauth_application_promotion_rules.rb
|
|
3792
3814
|
- docker-compose.yml
|
|
3793
3815
|
- docs/api/scoped-access-token-endpoints.md
|
|
3794
3816
|
- docs/option_types/attr_types.md
|