spree_cm_commissioner 1.11.0.pre.pre4 → 1.13.0

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.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/test_and_build_gem.yml +143 -12
  3. data/.gitignore +1 -2
  4. data/Gemfile.lock +1 -22
  5. data/Rakefile +4 -33
  6. data/app/controllers/spree/admin/cms_pages_controller_decorator.rb +32 -0
  7. data/app/controllers/spree/admin/product_places_controller.rb +2 -0
  8. data/app/controllers/spree/admin/stock_managements_controller.rb +1 -62
  9. data/app/controllers/spree/api/v2/organizer/invite_guests_controller.rb +70 -0
  10. data/app/controllers/spree/api/v2/storefront/accommodations_controller.rb +31 -14
  11. data/app/controllers/spree/api/v2/storefront/queue_cart/line_items_controller.rb +2 -2
  12. data/app/controllers/spree/api/v2/storefront/waiting_room_sessions_controller.rb +1 -0
  13. data/app/controllers/spree/api/v2/tenant/account_checker_controller.rb +1 -1
  14. data/app/controllers/spree/api/v2/tenant/account_recovers_controller.rb +2 -2
  15. data/app/controllers/spree/api/v2/tenant/cms_pages_controller.rb +41 -0
  16. data/app/controllers/spree/api/v2/tenant/reset_passwords_controller.rb +1 -1
  17. data/app/controllers/spree/api/v2/tenant/waiting_room_sessions_controller.rb +30 -0
  18. data/app/controllers/spree_cm_commissioner/admin/variants_controller_decorator.rb +17 -0
  19. data/app/controllers/spree_cm_commissioner/api/v2/storefront/cms_pages_controller_decorator.rb +18 -0
  20. data/app/interactors/spree_cm_commissioner/account_recover.rb +2 -2
  21. data/app/interactors/spree_cm_commissioner/create_event.rb +7 -26
  22. data/app/interactors/spree_cm_commissioner/create_ticket.rb +95 -0
  23. data/app/interactors/spree_cm_commissioner/event_line_items_date_syncer.rb +19 -0
  24. data/app/interactors/spree_cm_commissioner/existing_account_checker.rb +1 -1
  25. data/app/interactors/spree_cm_commissioner/order_importer/multi_guest.rb +31 -0
  26. data/app/interactors/spree_cm_commissioner/organizers_transactional_email_notifier.rb +27 -0
  27. data/app/interactors/spree_cm_commissioner/pin_code_sender.rb +3 -3
  28. data/app/interactors/spree_cm_commissioner/product_event_id_to_children_syncer.rb +15 -0
  29. data/app/interactors/spree_cm_commissioner/sms.rb +14 -0
  30. data/app/interactors/spree_cm_commissioner/telegram_debug_pin_code_sender.rb +2 -1
  31. data/app/interactors/spree_cm_commissioner/transactional_email_sender.rb +50 -0
  32. data/app/interactors/spree_cm_commissioner/user_forgotten_password_updater.rb +2 -1
  33. data/app/interactors/spree_cm_commissioner/user_password_authenticator.rb +4 -2
  34. data/app/interactors/spree_cm_commissioner/waiting_room_session_creator.rb +7 -14
  35. data/app/interactors/spree_cm_commissioner/waiting_room_session_firebase_logger.rb +30 -0
  36. data/app/jobs/spree_cm_commissioner/ensure_event_for_product_line_item_guests_job.rb +13 -0
  37. data/app/jobs/spree_cm_commissioner/event_line_items_date_syncer_job.rb +8 -0
  38. data/app/jobs/spree_cm_commissioner/product_event_id_to_children_syncer_job.rb +8 -0
  39. data/app/jobs/spree_cm_commissioner/telegram_debug_pin_code_sender_job.rb +3 -1
  40. data/app/jobs/spree_cm_commissioner/waiting_room_session_firebase_logger_job.rb +13 -0
  41. data/app/mailers/spree_cm_commissioner/event_transactional_mailer.rb +23 -0
  42. data/app/mailers/spree_cm_commissioner/pin_code_mailer.rb +1 -0
  43. data/app/models/concerns/spree_cm_commissioner/kyc_bitwise.rb +2 -0
  44. data/app/models/concerns/spree_cm_commissioner/line_item_durationable.rb +10 -6
  45. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +13 -26
  46. data/app/models/concerns/spree_cm_commissioner/product_delegation.rb +4 -3
  47. data/app/models/concerns/spree_cm_commissioner/product_type.rb +0 -10
  48. data/app/models/concerns/spree_cm_commissioner/user_identity.rb +7 -4
  49. data/app/models/concerns/spree_cm_commissioner/variant_options_concern.rb +8 -10
  50. data/app/models/spree_cm_commissioner/cms_page_decorator.rb +9 -0
  51. data/app/models/spree_cm_commissioner/event_ticket_google_wallet.rb +2 -2
  52. data/app/models/spree_cm_commissioner/guest.rb +1 -1
  53. data/app/models/spree_cm_commissioner/invite_guest.rb +23 -0
  54. data/app/models/spree_cm_commissioner/line_item_decorator.rb +10 -16
  55. data/app/models/spree_cm_commissioner/option_type_decorator.rb +6 -0
  56. data/app/models/spree_cm_commissioner/order_decorator.rb +0 -15
  57. data/app/models/spree_cm_commissioner/place.rb +1 -1
  58. data/app/models/spree_cm_commissioner/product_decorator.rb +17 -14
  59. data/app/models/spree_cm_commissioner/product_place.rb +1 -0
  60. data/app/models/spree_cm_commissioner/role_decorator.rb +3 -0
  61. data/app/models/spree_cm_commissioner/stock/availability_checker.rb +25 -27
  62. data/app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb +1 -2
  63. data/app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb +3 -3
  64. data/app/models/spree_cm_commissioner/stock_item_decorator.rb +0 -14
  65. data/app/models/spree_cm_commissioner/taxon_decorator.rb +26 -3
  66. data/app/models/spree_cm_commissioner/transactional_email.rb +6 -0
  67. data/app/models/spree_cm_commissioner/user_decorator.rb +6 -0
  68. data/app/models/spree_cm_commissioner/variant_decorator.rb +27 -34
  69. data/app/models/spree_cm_commissioner/vehicle.rb +0 -7
  70. data/app/models/spree_cm_commissioner/vendor_decorator.rb +9 -1
  71. data/app/overrides/spree/admin/cms_pages/_form/tenant_fields.html.erb.deface +9 -0
  72. data/app/overrides/spree/admin/cms_pages/index/cms_pages_tabs.html.erb.deface +21 -0
  73. data/app/overrides/spree/admin/taxons/_form/assets_form.html.erb.deface +2 -2
  74. data/app/overrides/spree/admin/taxons/_form/available_on.html.erb.deface +3 -1
  75. data/app/overrides/spree/admin/taxons/_form/background_color_and_foreground_color.html.erb.deface +3 -1
  76. data/app/overrides/spree/admin/taxons/_form/custom_redirect_url.html.erb.deface +3 -1
  77. data/app/overrides/spree/admin/taxons/_form/hide_video_banner.html.erb.deface +3 -1
  78. data/app/overrides/spree/admin/taxons/_form/purchasable_on_status.html.erb.deface +3 -1
  79. data/app/overrides/spree/admin/taxons/_form/show_badge_status.html.erb.deface +3 -1
  80. data/app/overrides/spree/admin/taxons/_form/to_date_form_date.html.erb.deface +3 -4
  81. data/app/overrides/spree/admin/users/_form/roles_fields.html.erb.deface +1 -1
  82. data/app/overrides/spree/admin/users/index/body.html.erb.deface +3 -0
  83. data/app/overrides/spree/admin/users/index/headers.html.erb.deface +3 -0
  84. data/app/overrides/spree/admin/variants/_form/kyc_field.html.erb.deface +40 -0
  85. data/app/overrides/spree/admin/variants/edit/variant_status.html.erb.deface +6 -3
  86. data/app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb +45 -0
  87. data/app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb +55 -0
  88. data/app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb +0 -3
  89. data/app/request_schemas/spree_cm_commissioner/application_request_schema.rb +1 -1
  90. data/app/serializers/spree/v2/organizer/invite_guest_serializer.rb +13 -0
  91. data/app/serializers/spree/v2/storefront/accommodation_serializer.rb +0 -2
  92. data/app/serializers/spree/v2/storefront/taxon_serializer_decorator.rb +2 -0
  93. data/app/serializers/spree/v2/tenant/waiting_room_session_serializer.rb +9 -0
  94. data/app/serializers/spree_cm_commissioner/v2/storefront/guest_serializer.rb +2 -1
  95. data/app/services/spree_cm_commissioner/user_authenticator.rb +3 -1
  96. data/app/services/spree_cm_commissioner/user_roles_assigner.rb +62 -0
  97. data/app/views/spree/admin/shared/_cms_pages_tabs.html.erb +20 -0
  98. data/app/views/spree/admin/shared/_taxon_tabs.html.erb +19 -19
  99. data/app/views/spree/admin/stock_managements/_variant_stock_items.html.erb +1 -3
  100. data/app/views/spree/admin/stock_managements/index.html.erb +5 -40
  101. data/app/views/spree/shared/_base_mailer_header.html.erb +10 -2
  102. data/app/views/spree_cm_commissioner/event_transactional_mailer/_event_banner.html.erb +3 -0
  103. data/app/views/spree_cm_commissioner/event_transactional_mailer/_mailer_stylesheets.html.erb +317 -0
  104. data/app/views/spree_cm_commissioner/event_transactional_mailer/_note.html.erb +8 -0
  105. data/app/views/spree_cm_commissioner/event_transactional_mailer/_share_button.html.erb +3 -0
  106. data/app/views/spree_cm_commissioner/event_transactional_mailer/send_to_organizer.html.erb +59 -0
  107. data/app/views/spree_cm_commissioner/event_transactional_mailer/send_to_participant.html.erb +52 -0
  108. data/app/views/spree_cm_commissioner/layouts/event_transactional_mailer.html.erb +14 -0
  109. data/config/initializers/spree_permitted_attributes.rb +0 -5
  110. data/config/locales/en.yml +36 -0
  111. data/config/locales/km.yml +2 -0
  112. data/config/routes.rb +6 -11
  113. data/db/migrate/20250422014417_create_spree_cm_commissioner_invite_guest.rb +21 -0
  114. data/db/migrate/20250509033437_create_spree_cm_commissioner_transactional_emails.rb +12 -0
  115. data/db/migrate/20250509075429_add_max_order_quantity_to_spree_product.rb +5 -0
  116. data/db/migrate/20250512075319_add_tenant_id_to_spree_cms_pages.rb +6 -0
  117. data/db/migrate/20250520042602_add_event_to_spree_products.rb +7 -0
  118. data/db/migrate/20250520044533_add_event_to_spree_line_items.rb +7 -0
  119. data/db/migrate/20250521024345_add_tenant_id_to_cm_waiting_room_sessions.rb +6 -0
  120. data/db/migrate/20250521095539_add_kyc_to_spree_variants.rb +5 -0
  121. data/docker-compose.yml +1 -1
  122. data/lib/generators/spree_cm_commissioner/install/install_generator.rb +3 -11
  123. data/lib/generators/spree_cm_commissioner/install/templates/app/javascript/{spree_dashboard/spree_cm_commissioner → spree_cm_commissioner}/utilities.js +0 -4
  124. data/lib/spree_cm_commissioner/calendar_event.rb +1 -11
  125. data/lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb +1 -1
  126. data/lib/spree_cm_commissioner/test_helper/factories/line_item_factory.rb +1 -1
  127. data/lib/spree_cm_commissioner/test_helper/factories/product_factory.rb +5 -18
  128. data/lib/spree_cm_commissioner/test_helper/factories/role.rb +7 -0
  129. data/lib/spree_cm_commissioner/test_helper/factories/stock_location_factory.rb +2 -2
  130. data/lib/spree_cm_commissioner/test_helper/factories/taxon_home_banner_factory.rb +5 -0
  131. data/lib/spree_cm_commissioner/test_helper/factories/transactional_email_factory.rb +6 -0
  132. data/lib/spree_cm_commissioner/test_helper/factories/variant_factory.rb +6 -41
  133. data/lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb +1 -1
  134. data/lib/spree_cm_commissioner/version.rb +1 -1
  135. data/lib/spree_cm_commissioner.rb +0 -34
  136. data/lib/tasks/ensure_event_for_product_line_item_guests.rake +7 -0
  137. data/lib/tasks/update_invalid_self_root_places.rake +9 -0
  138. data/lib/tasks/update_orphan_root_places.rake +1 -0
  139. data/spree_cm_commissioner.gemspec +0 -5
  140. metadata +54 -82
  141. data/app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb +0 -42
  142. data/app/finders/spree_cm_commissioner/accommodations/find.rb +0 -40
  143. data/app/finders/spree_cm_commissioner/accommodations/find_variant.rb +0 -35
  144. data/app/interactors/spree_cm_commissioner/ensure_correct_product_type.rb +0 -40
  145. data/app/interactors/spree_cm_commissioner/inventory_item_syncer.rb +0 -25
  146. data/app/interactors/spree_cm_commissioner/stock/inventory_items_adjuster.rb +0 -13
  147. data/app/interactors/spree_cm_commissioner/stock/inventory_items_generator.rb +0 -15
  148. data/app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb +0 -75
  149. data/app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb +0 -24
  150. data/app/interactors/spree_cm_commissioner/user_roles_assigner.rb +0 -22
  151. data/app/jobs/spree_cm_commissioner/ensure_correct_product_type_job.rb +0 -7
  152. data/app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb +0 -7
  153. data/app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb +0 -11
  154. data/app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb +0 -11
  155. data/app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb +0 -9
  156. data/app/models/spree_cm_commissioner/inventory.rb +0 -11
  157. data/app/models/spree_cm_commissioner/inventory_item.rb +0 -56
  158. data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +0 -40
  159. data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +0 -126
  160. data/app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb +0 -36
  161. data/app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb +0 -27
  162. data/app/models/spree_cm_commissioner/stock/order_availability_checker.rb +0 -44
  163. data/app/request_schemas/spree_cm_commissioner/variant_request_schema.rb +0 -19
  164. data/app/views/spree/admin/stock_managements/_events_popover.html.erb +0 -23
  165. data/app/views/spree/admin/stock_managements/calendar.html.erb +0 -35
  166. data/db/migrate/20250304293518_create_cm_inventory_items.rb +0 -21
  167. data/db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb +0 -5
  168. data/db/migrate/20250502025848_add_index_to_spree_products.rb +0 -5
  169. data/db/migrate/20250502030001_add_product_type_to_spree_variants.rb +0 -5
  170. data/db/migrate/20250502030002_add_product_type_to_spree_line_items.rb +0 -5
  171. data/lib/spree_cm_commissioner/cached_inventory_item.rb +0 -23
  172. data/lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb +0 -9
  173. data/lib/tasks/create_default_non_permanent_inventory_items.rake +0 -16
  174. data/lib/tasks/ensure_correct_product_type.rake +0 -7
  175. data/lib/tasks/generate_inventory_items.rake +0 -7
@@ -19,7 +19,6 @@ require 'spree_cm_commissioner/user_session_jwt_token'
19
19
  require 'spree_cm_commissioner/trip_result'
20
20
  require 'spree_cm_commissioner/trip_query_result'
21
21
  require 'spree_cm_commissioner/trip_seat_layout_result'
22
- require 'spree_cm_commissioner/cached_inventory_item'
23
22
 
24
23
  require 'activerecord_multi_tenant'
25
24
  require 'google/cloud/recaptcha_enterprise'
@@ -45,36 +44,3 @@ require 'cm_app_logger'
45
44
  require 'counter_culture'
46
45
 
47
46
  require 'byebug' if Rails.env.development? || Rails.env.test?
48
-
49
- module SpreeCmCommissioner
50
- class << self
51
- # Allows overriding the default Redis connection pool with a custom one
52
- attr_writer :redis_pool
53
-
54
- def redis_pool
55
- @redis_pool ||= default_redis_pool
56
- end
57
-
58
- # Resets the Redis pool, useful for testing or reinitialization
59
- def reset_redis_pool
60
- @redis_pool = nil
61
- end
62
-
63
- private
64
-
65
- def default_redis_pool
66
- pool_size = ENV.fetch('REDIS_POOL_SIZE', '5').to_i
67
- timeout = ENV.fetch('REDIS_TIMEOUT', '5').to_i
68
- redis_url = ENV.fetch('REDIS_URL', 'redis://localhost:6379/12')
69
-
70
- ConnectionPool.new(size: pool_size, timeout: timeout) do
71
- Redis.new(url: redis_url, timeout: timeout)
72
- end
73
- end
74
- end
75
-
76
- # Provides a configuration block for customizing SpreeCmCommissioner settings
77
- def self.configure
78
- yield self
79
- end
80
- end
@@ -0,0 +1,7 @@
1
+ # recommend to be used in schedule.yml & manually access in /sidekiq/cron
2
+ namespace :spree_cm_commissioner do
3
+ desc 'Ensure event for product variant line items.'
4
+ task ensure_event_for_product_line_item_guests: :environment do
5
+ SpreeCmCommissioner::EnsureEventForProductLineItemGuestsJob.perform_now
6
+ end
7
+ end
@@ -0,0 +1,9 @@
1
+ namespace :spree_cm_commissioner do
2
+ desc 'Update invalid self-root places...'
3
+ task update_invalid_self_root_places: :environment do
4
+ SpreeCmCommissioner::Place.where('id = parent_id').find_each do |place|
5
+ place.update_columns(parent_id: nil) # rubocop:disable Rails/SkipsModelValidations
6
+ end
7
+ puts '✓ Fixed self-root places'
8
+ end
9
+ end
@@ -2,6 +2,7 @@ namespace :spree_cm_commissioner do
2
2
  desc 'Update orphan root places...'
3
3
  task update_orphan_root_places: :environment do
4
4
  count = SpreeCmCommissioner::Place.where(parent_id: 0).update_all(parent_id: nil) # rubocop:disable Rails/SkipsModelValidations
5
+ SpreeCmCommissioner::Place.where(parent_id: nil).update_all(depth: 0) # rubocop:disable Rails/SkipsModelValidations
5
6
  puts "#{count} orphan root places updated."
6
7
  end
7
8
  end
@@ -54,11 +54,6 @@ Gem::Specification.new do |s|
54
54
  s.add_dependency "rqrcode", "~> 2.0"
55
55
  s.add_dependency "premailer-rails"
56
56
  s.add_dependency 'counter_culture', '~> 3.2'
57
- # Redis
58
- s.add_dependency 'redis'
59
- s.add_dependency 'redis-rails'
60
- s.add_dependency 'connection_pool'
61
-
62
57
  s.add_development_dependency 'pg'
63
58
  s.add_development_dependency 'spree_dev_tools'
64
59
  s.add_dependency 'blazer', '~> 3.0.4'
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: 1.11.0.pre.pre4
4
+ version: 1.13.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - You
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-05-09 00:00:00.000000000 Z
11
+ date: 2025-05-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: spree
@@ -464,48 +464,6 @@ dependencies:
464
464
  - - "~>"
465
465
  - !ruby/object:Gem::Version
466
466
  version: '3.2'
467
- - !ruby/object:Gem::Dependency
468
- name: redis
469
- requirement: !ruby/object:Gem::Requirement
470
- requirements:
471
- - - ">="
472
- - !ruby/object:Gem::Version
473
- version: '0'
474
- type: :runtime
475
- prerelease: false
476
- version_requirements: !ruby/object:Gem::Requirement
477
- requirements:
478
- - - ">="
479
- - !ruby/object:Gem::Version
480
- version: '0'
481
- - !ruby/object:Gem::Dependency
482
- name: redis-rails
483
- requirement: !ruby/object:Gem::Requirement
484
- requirements:
485
- - - ">="
486
- - !ruby/object:Gem::Version
487
- version: '0'
488
- type: :runtime
489
- prerelease: false
490
- version_requirements: !ruby/object:Gem::Requirement
491
- requirements:
492
- - - ">="
493
- - !ruby/object:Gem::Version
494
- version: '0'
495
- - !ruby/object:Gem::Dependency
496
- name: connection_pool
497
- requirement: !ruby/object:Gem::Requirement
498
- requirements:
499
- - - ">="
500
- - !ruby/object:Gem::Version
501
- version: '0'
502
- type: :runtime
503
- prerelease: false
504
- version_requirements: !ruby/object:Gem::Requirement
505
- requirements:
506
- - - ">="
507
- - !ruby/object:Gem::Version
508
- version: '0'
509
467
  - !ruby/object:Gem::Dependency
510
468
  name: pg
511
469
  requirement: !ruby/object:Gem::Requirement
@@ -744,6 +702,7 @@ files:
744
702
  - app/controllers/spree/admin/calendars/base_controller.rb
745
703
  - app/controllers/spree/admin/calendars/orders_controller.rb
746
704
  - app/controllers/spree/admin/classifications_controller.rb
705
+ - app/controllers/spree/admin/cms_pages_controller_decorator.rb
747
706
  - app/controllers/spree/admin/customer_notifications_controller.rb
748
707
  - app/controllers/spree/admin/device_tokens_controller.rb
749
708
  - app/controllers/spree/admin/event_blazer_queries_controller.rb
@@ -820,6 +779,7 @@ files:
820
779
  - app/controllers/spree/api/v2/operator/taxons_controller.rb
821
780
  - app/controllers/spree/api/v2/organizer/base_controller.rb
822
781
  - app/controllers/spree/api/v2/organizer/images_controller.rb
782
+ - app/controllers/spree/api/v2/organizer/invite_guests_controller.rb
823
783
  - app/controllers/spree/api/v2/organizer/invites_controller.rb
824
784
  - app/controllers/spree/api/v2/organizer/s3_signed_urls_controller.rb
825
785
  - app/controllers/spree/api/v2/organizer/ticket_images_controller.rb
@@ -830,7 +790,6 @@ files:
830
790
  - app/controllers/spree/api/v2/platform/seat_number_layouts_controller.rb
831
791
  - app/controllers/spree/api/v2/platform/taxons_controller_decorator.rb
832
792
  - app/controllers/spree/api/v2/resource_controller_decorator.rb
833
- - app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb
834
793
  - app/controllers/spree/api/v2/storefront/accommodations_controller.rb
835
794
  - app/controllers/spree/api/v2/storefront/account/orders_controller_decorator.rb
836
795
  - app/controllers/spree/api/v2/storefront/account/preferred_payment_method_controller.rb
@@ -902,6 +861,7 @@ files:
902
861
  - app/controllers/spree/api/v2/tenant/cart_payment_method_groups_controller.rb
903
862
  - app/controllers/spree/api/v2/tenant/change_passwords_controller.rb
904
863
  - app/controllers/spree/api/v2/tenant/checkout_controller.rb
864
+ - app/controllers/spree/api/v2/tenant/cms_pages_controller.rb
905
865
  - app/controllers/spree/api/v2/tenant/customer_notifications_controller.rb
906
866
  - app/controllers/spree/api/v2/tenant/guests_controller.rb
907
867
  - app/controllers/spree/api/v2/tenant/homepage_sections_controller.rb
@@ -921,6 +881,7 @@ files:
921
881
  - app/controllers/spree/api/v2/tenant/user_device_tokens_controller.rb
922
882
  - app/controllers/spree/api/v2/tenant/user_registration_with_pin_codes_controller.rb
923
883
  - app/controllers/spree/api/v2/tenant/vendors_controller.rb
884
+ - app/controllers/spree/api/v2/tenant/waiting_room_sessions_controller.rb
924
885
  - app/controllers/spree/api/webhook/base_controller.rb
925
886
  - app/controllers/spree/api/webhook/media_convert_queues_controller.rb
926
887
  - app/controllers/spree/api/webhook/orders_controller.rb
@@ -985,6 +946,7 @@ files:
985
946
  - app/controllers/spree_cm_commissioner/admin/variants_controller_decorator.rb
986
947
  - app/controllers/spree_cm_commissioner/api/v2/storefront/cart_controller_decorator.rb
987
948
  - app/controllers/spree_cm_commissioner/api/v2/storefront/checkout_controller_decorator.rb
949
+ - app/controllers/spree_cm_commissioner/api/v2/storefront/cms_pages_controller_decorator.rb
988
950
  - app/controllers/spree_cm_commissioner/application_controller_decorator.rb
989
951
  - app/controllers/spree_cm_commissioner/guest_cards_controller.rb
990
952
  - app/controllers/spree_cm_commissioner/line_item_qr_images_controller.rb
@@ -1001,8 +963,6 @@ files:
1001
963
  - app/exception_notifier/spree_cm_commissioner/telegram_notifier.rb
1002
964
  - app/factory/spree_cm_commissioner/order_telegram_message_factory.rb
1003
965
  - app/factory/spree_cm_commissioner/telegram_message_factory.rb
1004
- - app/finders/spree_cm_commissioner/accommodations/find.rb
1005
- - app/finders/spree_cm_commissioner/accommodations/find_variant.rb
1006
966
  - app/finders/spree_cm_commissioner/line_items/find_by_variant_decorator.rb
1007
967
  - app/finders/spree_cm_commissioner/orders/find.rb
1008
968
  - app/finders/spree_cm_commissioner/orders/find_by_state.rb
@@ -1040,6 +1000,7 @@ files:
1040
1000
  - app/interactors/spree_cm_commissioner/confirm_pin_code_checker.rb
1041
1001
  - app/interactors/spree_cm_commissioner/conversion_pre_calculator.rb
1042
1002
  - app/interactors/spree_cm_commissioner/create_event.rb
1003
+ - app/interactors/spree_cm_commissioner/create_ticket.rb
1043
1004
  - app/interactors/spree_cm_commissioner/crew_inviter.rb
1044
1005
  - app/interactors/spree_cm_commissioner/customer_content_notification_creator.rb
1045
1006
  - app/interactors/spree_cm_commissioner/customer_notification_cron_executor.rb
@@ -1047,7 +1008,7 @@ files:
1047
1008
  - app/interactors/spree_cm_commissioner/customer_promotion_creator.rb
1048
1009
  - app/interactors/spree_cm_commissioner/enqueue_cart/add_item.rb
1049
1010
  - app/interactors/spree_cm_commissioner/enqueue_cart/add_item_status_marker.rb
1050
- - app/interactors/spree_cm_commissioner/ensure_correct_product_type.rb
1011
+ - app/interactors/spree_cm_commissioner/event_line_items_date_syncer.rb
1051
1012
  - app/interactors/spree_cm_commissioner/event_qr_generator.rb
1052
1013
  - app/interactors/spree_cm_commissioner/existing_account_checker.rb
1053
1014
  - app/interactors/spree_cm_commissioner/firebase_email_fetcher.rb
@@ -1061,7 +1022,6 @@ files:
1061
1022
  - app/interactors/spree_cm_commissioner/imported_csv_downloader.rb
1062
1023
  - app/interactors/spree_cm_commissioner/international_mobile_formatter.rb
1063
1024
  - app/interactors/spree_cm_commissioner/invalidate_cache_request.rb
1064
- - app/interactors/spree_cm_commissioner/inventory_item_syncer.rb
1065
1025
  - app/interactors/spree_cm_commissioner/invoice_creator.rb
1066
1026
  - app/interactors/spree_cm_commissioner/media/signed_cookie_generator.rb
1067
1027
  - app/interactors/spree_cm_commissioner/media/signed_path_generator.rb
@@ -1075,26 +1035,25 @@ files:
1075
1035
  - app/interactors/spree_cm_commissioner/order_accepted_state_updater.rb
1076
1036
  - app/interactors/spree_cm_commissioner/order_complete_notification_sender.rb
1077
1037
  - app/interactors/spree_cm_commissioner/order_complete_telegram_sender.rb
1038
+ - app/interactors/spree_cm_commissioner/order_importer/multi_guest.rb
1078
1039
  - app/interactors/spree_cm_commissioner/order_importer/single_guest.rb
1079
1040
  - app/interactors/spree_cm_commissioner/order_rejected_notification_sender.rb
1080
1041
  - app/interactors/spree_cm_commissioner/order_rejected_state_updater.rb
1081
1042
  - app/interactors/spree_cm_commissioner/order_requested_notification_sender.rb
1043
+ - app/interactors/spree_cm_commissioner/organizers_transactional_email_notifier.rb
1082
1044
  - app/interactors/spree_cm_commissioner/password_changer.rb
1083
1045
  - app/interactors/spree_cm_commissioner/phone_number_parser.rb
1084
1046
  - app/interactors/spree_cm_commissioner/pin_code_checker.rb
1085
1047
  - app/interactors/spree_cm_commissioner/pin_code_creator.rb
1086
1048
  - app/interactors/spree_cm_commissioner/pin_code_generator.rb
1087
1049
  - app/interactors/spree_cm_commissioner/pin_code_sender.rb
1050
+ - app/interactors/spree_cm_commissioner/product_event_id_to_children_syncer.rb
1088
1051
  - app/interactors/spree_cm_commissioner/profile_image_destroyer.rb
1089
1052
  - app/interactors/spree_cm_commissioner/profile_image_updater.rb
1090
1053
  - app/interactors/spree_cm_commissioner/recaptcha_token_validator.rb
1091
1054
  - app/interactors/spree_cm_commissioner/sms.rb
1092
1055
  - app/interactors/spree_cm_commissioner/sqs/media_convert_job_status.rb
1093
1056
  - app/interactors/spree_cm_commissioner/state_updater.rb
1094
- - app/interactors/spree_cm_commissioner/stock/inventory_items_adjuster.rb
1095
- - app/interactors/spree_cm_commissioner/stock/inventory_items_generator.rb
1096
- - app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb
1097
- - app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb
1098
1057
  - app/interactors/spree_cm_commissioner/subscriptions_order_creator.rb
1099
1058
  - app/interactors/spree_cm_commissioner/subscriptions_order_cron_executor.rb
1100
1059
  - app/interactors/spree_cm_commissioner/subscriptions_prepaid_order_creator.rb
@@ -1105,6 +1064,7 @@ files:
1105
1064
  - app/interactors/spree_cm_commissioner/telegram_web_app_init_data_validator.rb
1106
1065
  - app/interactors/spree_cm_commissioner/telegram_web_app_vendor_user_authorizer.rb
1107
1066
  - app/interactors/spree_cm_commissioner/telegram_web_app_vendor_user_checker.rb
1067
+ - app/interactors/spree_cm_commissioner/transactional_email_sender.rb
1108
1068
  - app/interactors/spree_cm_commissioner/unique_device_token_cron_executor.rb
1109
1069
  - app/interactors/spree_cm_commissioner/update_payment_gateway_status.rb
1110
1070
  - app/interactors/spree_cm_commissioner/user_contact_updater.rb
@@ -1118,7 +1078,6 @@ files:
1118
1078
  - app/interactors/spree_cm_commissioner/user_password_authenticator.rb
1119
1079
  - app/interactors/spree_cm_commissioner/user_pin_code_authenticator.rb
1120
1080
  - app/interactors/spree_cm_commissioner/user_registration_with_id_token.rb
1121
- - app/interactors/spree_cm_commissioner/user_roles_assigner.rb
1122
1081
  - app/interactors/spree_cm_commissioner/user_telegram_web_app_authenticator.rb
1123
1082
  - app/interactors/spree_cm_commissioner/user_vattanac_bank_web_app_authenticator.rb
1124
1083
  - app/interactors/spree_cm_commissioner/vattanac_bank_initiator.rb
@@ -1129,6 +1088,7 @@ files:
1129
1088
  - app/interactors/spree_cm_commissioner/waiting_guests_caller.rb
1130
1089
  - app/interactors/spree_cm_commissioner/waiting_room_latest_system_metadata_puller.rb
1131
1090
  - app/interactors/spree_cm_commissioner/waiting_room_session_creator.rb
1091
+ - app/interactors/spree_cm_commissioner/waiting_room_session_firebase_logger.rb
1132
1092
  - app/interactors/spree_cm_commissioner/webhook_subscriber_orders_sender.rb
1133
1093
  - app/jobs/application_job.rb
1134
1094
  - app/jobs/application_unique_job.rb
@@ -1142,23 +1102,21 @@ files:
1142
1102
  - app/jobs/spree_cm_commissioner/customer_notification_cron_job.rb
1143
1103
  - app/jobs/spree_cm_commissioner/customer_notification_sender_job.rb
1144
1104
  - app/jobs/spree_cm_commissioner/enqueue_cart/add_item_job.rb
1145
- - app/jobs/spree_cm_commissioner/ensure_correct_product_type_job.rb
1105
+ - app/jobs/spree_cm_commissioner/ensure_event_for_product_line_item_guests_job.rb
1146
1106
  - app/jobs/spree_cm_commissioner/ensure_event_id_for_guests_job.rb
1107
+ - app/jobs/spree_cm_commissioner/event_line_items_date_syncer_job.rb
1147
1108
  - app/jobs/spree_cm_commissioner/export_csv_job.rb
1148
1109
  - app/jobs/spree_cm_commissioner/firebase_email_fetcher_job.rb
1149
1110
  - app/jobs/spree_cm_commissioner/import_order_job.rb
1150
1111
  - app/jobs/spree_cm_commissioner/invalidate_cache_request_job.rb
1151
- - app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb
1152
1112
  - app/jobs/spree_cm_commissioner/option_type_variants_public_metadata_updater_job.rb
1153
1113
  - app/jobs/spree_cm_commissioner/option_value_variants_public_metadata_updater_job.rb
1154
1114
  - app/jobs/spree_cm_commissioner/order_complete_telegram_sender_job.rb
1115
+ - app/jobs/spree_cm_commissioner/product_event_id_to_children_syncer_job.rb
1155
1116
  - app/jobs/spree_cm_commissioner/queue_order_webhooks_requests_job.rb
1156
1117
  - app/jobs/spree_cm_commissioner/sms_job.rb
1157
1118
  - app/jobs/spree_cm_commissioner/sms_pin_code_job.rb
1158
1119
  - app/jobs/spree_cm_commissioner/state_job.rb
1159
- - app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb
1160
- - app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb
1161
- - app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb
1162
1120
  - app/jobs/spree_cm_commissioner/subscription_order_executor_job.rb
1163
1121
  - app/jobs/spree_cm_commissioner/telegram_debug_pin_code_sender_job.rb
1164
1122
  - app/jobs/spree_cm_commissioner/telegram_notification_sender_job.rb
@@ -1168,10 +1126,12 @@ files:
1168
1126
  - app/jobs/spree_cm_commissioner/vendor_job.rb
1169
1127
  - app/jobs/spree_cm_commissioner/waiting_guests_caller_job.rb
1170
1128
  - app/jobs/spree_cm_commissioner/waiting_room_latest_system_metadata_puller_job.rb
1129
+ - app/jobs/spree_cm_commissioner/waiting_room_session_firebase_logger_job.rb
1171
1130
  - app/jobs/spree_cm_commissioner/webhook_subscriber_orders_sender_job.rb
1172
1131
  - app/mailers/spree/order_mailer_decorator.rb
1173
1132
  - app/mailers/spree_cm_commissioner/application_mailer.rb
1174
1133
  - app/mailers/spree_cm_commissioner/crew_invite_mailer.rb
1134
+ - app/mailers/spree_cm_commissioner/event_transactional_mailer.rb
1175
1135
  - app/mailers/spree_cm_commissioner/pin_code_mailer.rb
1176
1136
  - app/models/.gitkeep
1177
1137
  - app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb
@@ -1212,6 +1172,7 @@ files:
1212
1172
  - app/models/spree_cm_commissioner/check_in_ability.rb
1213
1173
  - app/models/spree_cm_commissioner/check_in_record.rb
1214
1174
  - app/models/spree_cm_commissioner/classification_decorator.rb
1175
+ - app/models/spree_cm_commissioner/cms_page_decorator.rb
1215
1176
  - app/models/spree_cm_commissioner/configuration.rb
1216
1177
  - app/models/spree_cm_commissioner/crew_invite.rb
1217
1178
  - app/models/spree_cm_commissioner/customer.rb
@@ -1251,9 +1212,8 @@ files:
1251
1212
  - app/models/spree_cm_commissioner/image_methods_decorator.rb
1252
1213
  - app/models/spree_cm_commissioner/import.rb
1253
1214
  - app/models/spree_cm_commissioner/imports/import_order.rb
1254
- - app/models/spree_cm_commissioner/inventory.rb
1255
- - app/models/spree_cm_commissioner/inventory_item.rb
1256
1215
  - app/models/spree_cm_commissioner/invite.rb
1216
+ - app/models/spree_cm_commissioner/invite_guest.rb
1257
1217
  - app/models/spree_cm_commissioner/invite_user_event.rb
1258
1218
  - app/models/spree_cm_commissioner/invite_user_taxon.rb
1259
1219
  - app/models/spree_cm_commissioner/invoice.rb
@@ -1302,10 +1262,6 @@ files:
1302
1262
  - app/models/spree_cm_commissioner/promotion_decorator.rb
1303
1263
  - app/models/spree_cm_commissioner/property_decorator.rb
1304
1264
  - app/models/spree_cm_commissioner/prototype_decorator.rb
1305
- - app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb
1306
- - app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb
1307
- - app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb
1308
- - app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb
1309
1265
  - app/models/spree_cm_commissioner/role_decorator.rb
1310
1266
  - app/models/spree_cm_commissioner/role_permission.rb
1311
1267
  - app/models/spree_cm_commissioner/s3_presigned_url.rb
@@ -1318,7 +1274,6 @@ files:
1318
1274
  - app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb
1319
1275
  - app/models/spree_cm_commissioner/stock/inventory_unit_builder_decorator.rb
1320
1276
  - app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb
1321
- - app/models/spree_cm_commissioner/stock/order_availability_checker.rb
1322
1277
  - app/models/spree_cm_commissioner/stock_item_decorator.rb
1323
1278
  - app/models/spree_cm_commissioner/stock_location_decorator.rb
1324
1279
  - app/models/spree_cm_commissioner/stop.rb
@@ -1338,6 +1293,7 @@ files:
1338
1293
  - app/models/spree_cm_commissioner/taxonomy_decorator.rb
1339
1294
  - app/models/spree_cm_commissioner/telegram_bot.rb
1340
1295
  - app/models/spree_cm_commissioner/tenant.rb
1296
+ - app/models/spree_cm_commissioner/transactional_email.rb
1341
1297
  - app/models/spree_cm_commissioner/trip.rb
1342
1298
  - app/models/spree_cm_commissioner/trip_connection.rb
1343
1299
  - app/models/spree_cm_commissioner/trip_stop.rb
@@ -1385,6 +1341,8 @@ files:
1385
1341
  - app/notifications/spree_cm_commissioner/order_requested_notification.rb
1386
1342
  - app/overrides/spree/admin/adjustments/_adjustment/payable_table_body.html.erb.deface
1387
1343
  - app/overrides/spree/admin/adjustments/_adjustments_table/payable_table_header.html.erb.deface
1344
+ - app/overrides/spree/admin/cms_pages/_form/tenant_fields.html.erb.deface
1345
+ - app/overrides/spree/admin/cms_pages/index/cms_pages_tabs.html.erb.deface
1388
1346
  - app/overrides/spree/admin/menu_items/_form/badge_field.html.erb.deface
1389
1347
  - app/overrides/spree/admin/oauth_applications/_form/tenant_fields.html.erb.deface
1390
1348
  - app/overrides/spree/admin/option_types/_form/attr_type.html.erb.deface
@@ -1490,6 +1448,7 @@ files:
1490
1448
  - app/overrides/spree/admin/users/index/ransack.html.erb.deface
1491
1449
  - app/overrides/spree/admin/variants/_form/add_high_demand_field.html.erb.deface
1492
1450
  - app/overrides/spree/admin/variants/_form/add_permanent_stock.html.erb.deface
1451
+ - app/overrides/spree/admin/variants/_form/kyc_field.html.erb.deface
1493
1452
  - app/overrides/spree/admin/variants/_form/option_types_remover.html.erb.deface
1494
1453
  - app/overrides/spree/admin/variants/_form/option_types_replacer.html.erb.deface
1495
1454
  - app/overrides/spree/admin/variants/edit/card-header.html.erb.deface
@@ -1525,13 +1484,14 @@ files:
1525
1484
  - app/queries/spree_cm_commissioner/trip_search_query.rb
1526
1485
  - app/queries/spree_cm_commissioner/trip_seat_layout_query.rb
1527
1486
  - app/queries/spree_cm_commissioner/users_by_event_fetcher_query.rb
1487
+ - app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb
1488
+ - app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb
1528
1489
  - app/queries/spree_cm_commissioner/vendor_stop_place_query.rb
1529
1490
  - app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb
1530
1491
  - app/request_schemas/spree_cm_commissioner/application_request_schema.rb
1531
1492
  - app/request_schemas/spree_cm_commissioner/profile_image_request_schema.rb
1532
1493
  - app/request_schemas/spree_cm_commissioner/user_account_linkage_request_schema.rb
1533
1494
  - app/request_schemas/spree_cm_commissioner/user_profile_request_schema.rb
1534
- - app/request_schemas/spree_cm_commissioner/variant_request_schema.rb
1535
1495
  - app/serializables/spree_cm_commissioner/event_ticket_aggregator.rb
1536
1496
  - app/serializables/spree_cm_commissioner/pie_chart_event_aggregator.rb
1537
1497
  - app/serializables/spree_cm_commissioner/queue_item.rb
@@ -1541,6 +1501,7 @@ files:
1541
1501
  - app/serializers/spree/v2/organizer/asset_serializer.rb
1542
1502
  - app/serializers/spree/v2/organizer/base_serializer.rb
1543
1503
  - app/serializers/spree/v2/organizer/image_serializer.rb
1504
+ - app/serializers/spree/v2/organizer/invite_guest_serializer.rb
1544
1505
  - app/serializers/spree/v2/organizer/invite_serializer.rb
1545
1506
  - app/serializers/spree/v2/organizer/s3_signed_url_serializer.rb
1546
1507
  - app/serializers/spree/v2/organizer/taxon_serializer.rb
@@ -1610,6 +1571,7 @@ files:
1610
1571
  - app/serializers/spree/v2/tenant/variant_serializer.rb
1611
1572
  - app/serializers/spree/v2/tenant/vendor_image_serializer.rb
1612
1573
  - app/serializers/spree/v2/tenant/vendor_serializer.rb
1574
+ - app/serializers/spree/v2/tenant/waiting_room_session_serializer.rb
1613
1575
  - app/serializers/spree_cm_commissioner/api/v2/platform/digital_serializer_decorator.rb
1614
1576
  - app/serializers/spree_cm_commissioner/api/v2/platform/homepage_section_relatable_options_serializer.rb
1615
1577
  - app/serializers/spree_cm_commissioner/api/v2/platform/icon_serializer_decorator.rb
@@ -1705,6 +1667,7 @@ files:
1705
1667
  - app/services/spree_cm_commissioner/rsa_service.rb
1706
1668
  - app/services/spree_cm_commissioner/seeds/roles_decorator.rb
1707
1669
  - app/services/spree_cm_commissioner/user_authenticator.rb
1670
+ - app/services/spree_cm_commissioner/user_roles_assigner.rb
1708
1671
  - app/services/spree_cm_commissioner/vehicle_option_value_creator.rb
1709
1672
  - app/services/spree_cm_commissioner/waiting_room_system_metadata_fetcher.rb
1710
1673
  - app/services/spree_cm_commissioner/waiting_room_system_metadata_setter.rb
@@ -1841,6 +1804,7 @@ files:
1841
1804
  - app/views/spree/admin/promotions/rules/_guest_occupations.html.erb
1842
1805
  - app/views/spree/admin/promotions/rules/_vendors.html.erb
1843
1806
  - app/views/spree/admin/promotions/rules/_weekend.html.erb
1807
+ - app/views/spree/admin/shared/_cms_pages_tabs.html.erb
1844
1808
  - app/views/spree/admin/shared/_customer_notification_tabs.html.erb
1845
1809
  - app/views/spree/admin/shared/_direct_upload.html.erb
1846
1810
  - app/views/spree/admin/shared/_import_order_tabs.html.erb
@@ -1856,9 +1820,7 @@ files:
1856
1820
  - app/views/spree/admin/shared/_video_on_demand_helper_script.html.erb
1857
1821
  - app/views/spree/admin/shared/sub_menu/_calendar.html.erb
1858
1822
  - app/views/spree/admin/shared/sub_menu/_homepage.html.erb
1859
- - app/views/spree/admin/stock_managements/_events_popover.html.erb
1860
1823
  - app/views/spree/admin/stock_managements/_variant_stock_items.html.erb
1861
- - app/views/spree/admin/stock_managements/calendar.html.erb
1862
1824
  - app/views/spree/admin/stock_managements/index.html.erb
1863
1825
  - app/views/spree/admin/system/show.html.erb
1864
1826
  - app/views/spree/admin/taxon_childrens/index.html.erb
@@ -2115,8 +2077,15 @@ files:
2115
2077
  - app/views/spree/transit/vendors/edit.html.erb
2116
2078
  - app/views/spree_cm_commissioner/crew_invite_mailer/_mailer_stylesheets.html.erb
2117
2079
  - app/views/spree_cm_commissioner/crew_invite_mailer/send_crew_invite_email.html.erb
2080
+ - app/views/spree_cm_commissioner/event_transactional_mailer/_event_banner.html.erb
2081
+ - app/views/spree_cm_commissioner/event_transactional_mailer/_mailer_stylesheets.html.erb
2082
+ - app/views/spree_cm_commissioner/event_transactional_mailer/_note.html.erb
2083
+ - app/views/spree_cm_commissioner/event_transactional_mailer/_share_button.html.erb
2084
+ - app/views/spree_cm_commissioner/event_transactional_mailer/send_to_organizer.html.erb
2085
+ - app/views/spree_cm_commissioner/event_transactional_mailer/send_to_participant.html.erb
2118
2086
  - app/views/spree_cm_commissioner/guest_cards/show.html.erb
2119
2087
  - app/views/spree_cm_commissioner/layouts/crew_invite_mailer.html.erb
2088
+ - app/views/spree_cm_commissioner/layouts/event_transactional_mailer.html.erb
2120
2089
  - app/views/spree_cm_commissioner/layouts/line_item_mailer.html.erb
2121
2090
  - app/views/spree_cm_commissioner/layouts/order_mailer.html.erb
2122
2091
  - app/views/spree_cm_commissioner/layouts/telegram.html.erb
@@ -2424,7 +2393,6 @@ files:
2424
2393
  - db/migrate/20250304101907_create_spree_cm_commissioner_invite.rb
2425
2394
  - db/migrate/20250304101946_create_spree_cm_commissioner_invite_user_taxon.rb
2426
2395
  - db/migrate/20250304155234_add_meta_data_to_spree_vendors.rb
2427
- - db/migrate/20250304293518_create_cm_inventory_items.rb
2428
2396
  - db/migrate/20250307013422_add_parent_id_to_cm_place.rb
2429
2397
  - db/migrate/20250307073003_add_tenant_id_to_cm_customer_notifications.rb
2430
2398
  - db/migrate/20250307083809_remove_tenant_id_from_cm_notifications.rb
@@ -2441,16 +2409,20 @@ files:
2441
2409
  - db/migrate/20250404050117_add_archived_at_to_spree_orders.rb
2442
2410
  - db/migrate/20250407092556_add_variant_id_to_cm_trips.rb
2443
2411
  - db/migrate/20250418072528_add_nested_set_columns_to_places.rb
2412
+ - db/migrate/20250422014417_create_spree_cm_commissioner_invite_guest.rb
2444
2413
  - db/migrate/20250425084929_add_description_to_spree_prototypes.rb
2445
2414
  - db/migrate/20250425085938_add_preferences_to_spree_prototypes.rb
2446
2415
  - db/migrate/20250428025645_add_slug_to_spree_prototypes.rb
2447
- - db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb
2448
2416
  - db/migrate/20250430091742_create_cm_taxon_option_types.rb
2449
2417
  - db/migrate/20250430092928_create_cm_taxon_option_values.rb
2450
- - db/migrate/20250502025848_add_index_to_spree_products.rb
2451
- - db/migrate/20250502030001_add_product_type_to_spree_variants.rb
2452
- - db/migrate/20250502030002_add_product_type_to_spree_line_items.rb
2453
2418
  - db/migrate/20250506092929_add_trip_count_to_cm_vendor_stops.rb
2419
+ - db/migrate/20250509033437_create_spree_cm_commissioner_transactional_emails.rb
2420
+ - db/migrate/20250509075429_add_max_order_quantity_to_spree_product.rb
2421
+ - db/migrate/20250512075319_add_tenant_id_to_spree_cms_pages.rb
2422
+ - db/migrate/20250520042602_add_event_to_spree_products.rb
2423
+ - db/migrate/20250520044533_add_event_to_spree_line_items.rb
2424
+ - db/migrate/20250521024345_add_tenant_id_to_cm_waiting_room_sessions.rb
2425
+ - db/migrate/20250521095539_add_kyc_to_spree_variants.rb
2454
2426
  - docker-compose.yml
2455
2427
  - docs/option_types/attr_types.md
2456
2428
  - docs/private_key.pem
@@ -2465,12 +2437,11 @@ files:
2465
2437
  - docs/webhook/sqs/params_job_submitted.json
2466
2438
  - lib/cm_app_logger.rb
2467
2439
  - lib/generators/spree_cm_commissioner/install/install_generator.rb
2468
- - lib/generators/spree_cm_commissioner/install/templates/app/javascript/spree_dashboard/spree_cm_commissioner/utilities.js
2440
+ - lib/generators/spree_cm_commissioner/install/templates/app/javascript/spree_cm_commissioner/utilities.js
2469
2441
  - lib/generators/spree_cm_commissioner/install/templates/config/data/nationalities.yml
2470
2442
  - lib/generators/spree_cm_commissioner/install/templates/vendor/assets/javascript/spree_cm_commissioner/telegram/all.js
2471
2443
  - lib/generators/spree_cm_commissioner/install/templates/vendor/assets/stylesheets/spree_cm_commissioner/telegram/all.css
2472
2444
  - lib/spree_cm_commissioner.rb
2473
- - lib/spree_cm_commissioner/cached_inventory_item.rb
2474
2445
  - lib/spree_cm_commissioner/calendar_event.rb
2475
2446
  - lib/spree_cm_commissioner/engine.rb
2476
2447
  - lib/spree_cm_commissioner/factories.rb
@@ -2505,7 +2476,6 @@ files:
2505
2476
  - lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb
2506
2477
  - lib/spree_cm_commissioner/test_helper/factories/id_card_factory.rb
2507
2478
  - lib/spree_cm_commissioner/test_helper/factories/image_factory.rb
2508
- - lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb
2509
2479
  - lib/spree_cm_commissioner/test_helper/factories/invite_factory.rb
2510
2480
  - lib/spree_cm_commissioner/test_helper/factories/invite_user_event_factory.rb
2511
2481
  - lib/spree_cm_commissioner/test_helper/factories/line_item_factory.rb
@@ -2525,6 +2495,7 @@ files:
2525
2495
  - lib/spree_cm_commissioner/test_helper/factories/product_factory.rb
2526
2496
  - lib/spree_cm_commissioner/test_helper/factories/products_taxons_factory.rb
2527
2497
  - lib/spree_cm_commissioner/test_helper/factories/promotion_factory.rb
2498
+ - lib/spree_cm_commissioner/test_helper/factories/role.rb
2528
2499
  - lib/spree_cm_commissioner/test_helper/factories/role_permission_factory.rb
2529
2500
  - lib/spree_cm_commissioner/test_helper/factories/service_calendar_factory.rb
2530
2501
  - lib/spree_cm_commissioner/test_helper/factories/sms_logs.rb
@@ -2535,9 +2506,11 @@ files:
2535
2506
  - lib/spree_cm_commissioner/test_helper/factories/taxon_brand_logo_factory.rb
2536
2507
  - lib/spree_cm_commissioner/test_helper/factories/taxon_category_icon.rb
2537
2508
  - lib/spree_cm_commissioner/test_helper/factories/taxon_factory.rb
2509
+ - lib/spree_cm_commissioner/test_helper/factories/taxon_home_banner_factory.rb
2538
2510
  - lib/spree_cm_commissioner/test_helper/factories/taxon_web_banner_factory.rb
2539
2511
  - lib/spree_cm_commissioner/test_helper/factories/telegram_bot_factory.rb
2540
2512
  - lib/spree_cm_commissioner/test_helper/factories/tenant_factory.rb
2513
+ - lib/spree_cm_commissioner/test_helper/factories/transactional_email_factory.rb
2541
2514
  - lib/spree_cm_commissioner/test_helper/factories/transit_place_factory.rb
2542
2515
  - lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb
2543
2516
  - lib/spree_cm_commissioner/test_helper/factories/user_deletion_reasons_factory.rb
@@ -2560,19 +2533,18 @@ files:
2560
2533
  - lib/spree_cm_commissioner/trip_seat_layout_result.rb
2561
2534
  - lib/spree_cm_commissioner/user_session_jwt_token.rb
2562
2535
  - lib/spree_cm_commissioner/version.rb
2563
- - lib/tasks/create_default_non_permanent_inventory_items.rake
2564
2536
  - lib/tasks/customer_notification_cron_scheduler.rake
2565
- - lib/tasks/ensure_correct_product_type.rake
2566
2537
  - lib/tasks/ensure_event_for_guests.rake
2538
+ - lib/tasks/ensure_event_for_product_line_item_guests.rake
2567
2539
  - lib/tasks/ensure_number_for_line_items.rake
2568
2540
  - lib/tasks/fetch_email.rake
2569
- - lib/tasks/generate_inventory_items.rake
2570
2541
  - lib/tasks/kh_location_option_values.rake
2571
2542
  - lib/tasks/kh_provinces.rake
2572
2543
  - lib/tasks/migrate_and_rebuild_place_hierarchy.rake
2573
2544
  - lib/tasks/remove_duplicate_device_tokens.rake
2574
2545
  - lib/tasks/subscriptions_order_creator.rake
2575
2546
  - lib/tasks/update_gateway_status.rake
2547
+ - lib/tasks/update_invalid_self_root_places.rake
2576
2548
  - lib/tasks/update_orphan_root_places.rake
2577
2549
  - lib/tasks/update_taxons.rake
2578
2550
  - lib/tasks/variants_public_metadata_updater.rake
@@ -2601,9 +2573,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
2601
2573
  version: '2.7'
2602
2574
  required_rubygems_version: !ruby/object:Gem::Requirement
2603
2575
  requirements:
2604
- - - ">"
2576
+ - - ">="
2605
2577
  - !ruby/object:Gem::Version
2606
- version: 1.3.1
2578
+ version: '0'
2607
2579
  requirements:
2608
2580
  - none
2609
2581
  rubygems_version: 3.4.1
@@ -1,42 +0,0 @@
1
- module Spree
2
- module Api
3
- module V2
4
- module Storefront
5
- class Accommodations::VariantsController < ::Spree::Api::V2::ResourceController
6
- private
7
-
8
- # override
9
- def collection
10
- @collection ||= SpreeCmCommissioner::Accommodations::FindVariant.new(
11
- from_date: params[:from_date]&.to_date,
12
- to_date: params[:to_date]&.to_date,
13
- vendor_id: params[:vendor_id],
14
- number_of_adults: params[:adult].to_i,
15
- number_of_kids: params[:children].to_i
16
- ).execute
17
- end
18
-
19
- # override
20
- def resource
21
- @resource ||= collection.find(params[:id])
22
- end
23
-
24
- # override
25
- def resource_serializer
26
- Spree::V2::Storefront::VariantSerializer
27
- end
28
-
29
- # override
30
- def collection_serializer
31
- Spree::V2::Storefront::VariantSerializer
32
- end
33
-
34
- # override
35
- def required_schema
36
- SpreeCmCommissioner::VariantRequestSchema
37
- end
38
- end
39
- end
40
- end
41
- end
42
- end
@@ -1,40 +0,0 @@
1
- module SpreeCmCommissioner
2
- module Accommodations
3
- class Find
4
- attr_reader :from_date, :to_date, :state_id, :number_of_guests
5
-
6
- def initialize(from_date:, to_date:, state_id:, number_of_adults:, number_of_kids:)
7
- @from_date = from_date
8
- @to_date = to_date
9
- @state_id = state_id
10
- @number_of_guests = number_of_adults.to_i + number_of_kids.to_i
11
- end
12
-
13
- def execute
14
- scope
15
- .where(default_state_id: state_id)
16
- .where(inventory_items: { inventory_date: date_range_excluding_checkout })
17
- .where('CAST(spree_variants.public_metadata->\'cm_options\'->>\'number-of-adults\' AS INTEGER) +
18
- CAST(spree_variants.public_metadata->\'cm_options\'->>\'number-of-kids\' AS INTEGER) >= ?', number_of_guests
19
- )
20
- .where('inventory_items.quantity_available > 0')
21
- .distinct
22
- end
23
-
24
- private
25
-
26
- def scope
27
- Spree::Vendor
28
- .joins(variants: :inventory_items)
29
- .where(primary_product_type: :accommodation, state: :active)
30
- end
31
-
32
- # Why? check_out date is not considered to be charged
33
- # For example, if you check in on 2023-10-01 and check out on 2023-10-02,
34
- # you will be charged for one night (2023-10-01).
35
- def date_range_excluding_checkout
36
- from_date..to_date.prev_day
37
- end
38
- end
39
- end
40
- end