spree_cm_commissioner 2.0.0.pre.pre → 2.0.0.pre.pre1

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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/.env.example +3 -0
  3. data/.github/workflows/test_and_build_gem.yml +2 -16
  4. data/.gitignore +1 -2
  5. data/Gemfile.lock +1 -32
  6. data/Rakefile +4 -33
  7. data/app/assets/images/cm-hangmeas-checkout_image.svg +63 -0
  8. data/app/assets/images/cm-hangmeas-failed.svg +56 -0
  9. data/app/assets/images/cm-hangmeas-loader.svg +50 -0
  10. data/app/assets/images/cm-hangmeas-success.svg +51 -0
  11. data/app/assets/images/mailer/mail.png +0 -0
  12. data/app/assets/images/mailer/tenant_phone.png +0 -0
  13. data/app/assets/images/mailer/tenant_user.png +0 -0
  14. data/app/assets/javascripts/spree_cm_commissioner/backend.js +1 -0
  15. data/app/assets/javascripts/spree_cm_commissioner/tenant_payment_icon_fields.js +65 -0
  16. data/app/assets/stylesheets/spree_cm_commissioner/backend/calendar.scss +11 -8
  17. data/app/assets/stylesheets/spree_cm_commissioner/backend/commissioner_admin.css.scss +1 -0
  18. data/app/assets/stylesheets/spree_cm_commissioner/backend/tenant_payment_icon_fields.scss +60 -0
  19. data/app/controllers/concerns/spree_cm_commissioner/content_cachable.rb +2 -1
  20. data/app/controllers/concerns/spree_cm_commissioner/transit/taxon_bitwise.rb +44 -0
  21. data/app/controllers/spree/admin/event_blazer_queries_controller.rb +11 -4
  22. data/app/controllers/spree/admin/stock_managements_controller.rb +1 -63
  23. data/app/controllers/spree/admin/tenants_controller.rb +8 -0
  24. data/app/controllers/spree/admin/trip_blazer_queries_controller.rb +35 -0
  25. data/app/controllers/spree/api/v2/operator/pie_chart_events_controller.rb +46 -0
  26. data/app/controllers/spree/api/v2/organizer/invite_crews_controller.rb +33 -0
  27. data/app/controllers/spree/api/v2/organizer/invite_guests_controller.rb +1 -1
  28. data/app/controllers/spree/api/v2/storefront/accommodations_controller.rb +31 -14
  29. data/app/controllers/spree/api/v2/storefront/dynamic_field_options_controller.rb +5 -1
  30. data/app/controllers/spree/api/v2/storefront/guests_controller.rb +30 -4
  31. data/app/controllers/spree/api/v2/storefront/queue_cart/line_items_controller.rb +2 -2
  32. data/app/controllers/spree/api/v2/tenant/checkout_controller.rb +2 -0
  33. data/app/controllers/spree_cm_commissioner/admin/variants_controller_decorator.rb +1 -1
  34. data/app/controllers/spree_cm_commissioner/api/v2/storefront/checkout_controller_decorator.rb +11 -0
  35. data/app/controllers/spree_cm_commissioner/well_known_controller.rb +31 -17
  36. data/app/factory/spree_cm_commissioner/invite_guest_claimed_telegram_message_factory.rb +24 -81
  37. data/app/finders/spree_cm_commissioner/line_items/find_by_variant_decorator.rb +20 -0
  38. data/app/interactors/spree_cm_commissioner/apple_app_site_association_fetcher.rb +27 -0
  39. data/app/interactors/spree_cm_commissioner/asset_links_fetcher.rb +27 -0
  40. data/app/interactors/spree_cm_commissioner/create_ticket.rb +6 -5
  41. data/app/interactors/spree_cm_commissioner/create_vendor.rb +44 -0
  42. data/app/interactors/spree_cm_commissioner/crew_invite_link_handler.rb +48 -0
  43. data/app/interactors/spree_cm_commissioner/pin_code_sender.rb +0 -1
  44. data/app/interactors/spree_cm_commissioner/sms.rb +1 -1
  45. data/app/interactors/spree_cm_commissioner/telegram_chats_auto_finder.rb +144 -0
  46. data/app/interactors/spree_cm_commissioner/user_id_token_authenticator.rb +7 -3
  47. data/app/interactors/spree_cm_commissioner/user_id_token_checker.rb +11 -3
  48. data/app/interactors/spree_cm_commissioner/user_identity_checker.rb +12 -6
  49. data/app/interactors/spree_cm_commissioner/user_registration_with_id_token.rb +7 -1
  50. data/app/interactors/spree_cm_commissioner/vattanac_bank_initiator.rb +5 -1
  51. data/app/jobs/spree_cm_commissioner/application_job.rb +0 -20
  52. data/app/jobs/spree_cm_commissioner/application_unique_job.rb +0 -20
  53. data/app/jobs/spree_cm_commissioner/sms_pin_code_job.rb +1 -1
  54. data/app/mailers/spree/order_mailer_decorator.rb +18 -3
  55. data/app/models/concerns/spree_cm_commissioner/event_check_in_flowable.rb +30 -0
  56. data/app/models/concerns/spree_cm_commissioner/line_item_durationable.rb +33 -9
  57. data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +13 -1
  58. data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +0 -39
  59. data/app/models/concerns/spree_cm_commissioner/product_delegation.rb +3 -1
  60. data/app/models/concerns/spree_cm_commissioner/product_type.rb +0 -10
  61. data/app/models/concerns/spree_cm_commissioner/taxon_kind.rb +1 -1
  62. data/app/models/concerns/spree_cm_commissioner/tenant_preference.rb +5 -0
  63. data/app/models/concerns/spree_cm_commissioner/variant_options_concern.rb +4 -2
  64. data/app/models/spree_cm_commissioner/blazer_queryable.rb +8 -0
  65. data/app/models/spree_cm_commissioner/branch.rb +12 -0
  66. data/app/models/spree_cm_commissioner/chart_type.rb +10 -0
  67. data/app/models/spree_cm_commissioner/crew_invite_link.rb +4 -0
  68. data/app/models/spree_cm_commissioner/dynamic_field.rb +37 -3
  69. data/app/models/spree_cm_commissioner/dynamic_field_option.rb +7 -1
  70. data/app/models/spree_cm_commissioner/guest.rb +57 -19
  71. data/app/models/spree_cm_commissioner/guest_dynamic_field.rb +61 -3
  72. data/app/models/spree_cm_commissioner/invite.rb +4 -6
  73. data/app/models/spree_cm_commissioner/invite_team.rb +3 -1
  74. data/app/models/spree_cm_commissioner/line_item_decorator.rb +78 -46
  75. data/app/models/spree_cm_commissioner/line_item_seat.rb +10 -0
  76. data/app/models/spree_cm_commissioner/notification_taxon.rb +1 -1
  77. data/app/models/spree_cm_commissioner/option_type_decorator.rb +11 -1
  78. data/app/models/spree_cm_commissioner/option_value_vehicle_type.rb +8 -0
  79. data/app/models/spree_cm_commissioner/order_decorator.rb +1 -30
  80. data/app/models/spree_cm_commissioner/pin_code.rb +3 -2
  81. data/app/models/spree_cm_commissioner/pin_code_telegram.rb +28 -0
  82. data/app/models/spree_cm_commissioner/place.rb +3 -1
  83. data/app/models/spree_cm_commissioner/product_decorator.rb +26 -10
  84. data/app/models/spree_cm_commissioner/promotion_category_decorator.rb +11 -0
  85. data/app/models/spree_cm_commissioner/service_calendar.rb +2 -0
  86. data/app/models/spree_cm_commissioner/state_decorator.rb +1 -0
  87. data/app/models/spree_cm_commissioner/stock/availability_checker.rb +25 -26
  88. data/app/models/spree_cm_commissioner/stock/availability_validator_decorator.rb +1 -2
  89. data/app/models/spree_cm_commissioner/stock/line_item_availability_checker.rb +3 -3
  90. data/app/models/spree_cm_commissioner/stock_item_decorator.rb +0 -17
  91. data/app/models/spree_cm_commissioner/stop.rb +23 -0
  92. data/app/models/spree_cm_commissioner/taxon_decorator.rb +6 -2
  93. data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +6 -0
  94. data/app/models/spree_cm_commissioner/telegram_chat.rb +6 -0
  95. data/app/models/spree_cm_commissioner/trip.rb +10 -12
  96. data/app/models/spree_cm_commissioner/trip_connection.rb +5 -5
  97. data/app/models/spree_cm_commissioner/trip_stop.rb +3 -2
  98. data/app/models/spree_cm_commissioner/user_decorator.rb +6 -0
  99. data/app/models/spree_cm_commissioner/user_identity_provider.rb +26 -4
  100. data/app/models/spree_cm_commissioner/user_taxon.rb +1 -0
  101. data/app/models/spree_cm_commissioner/variant_decorator.rb +47 -36
  102. data/app/models/spree_cm_commissioner/variant_options.rb +23 -0
  103. data/app/models/spree_cm_commissioner/vehicle.rb +14 -9
  104. data/app/models/spree_cm_commissioner/vehicle_seat.rb +11 -0
  105. data/app/models/spree_cm_commissioner/vehicle_type.rb +76 -0
  106. data/app/models/spree_cm_commissioner/vendor_decorator.rb +13 -7
  107. data/app/models/spree_cm_commissioner/vendor_place.rb +5 -6
  108. data/app/models/spree_cm_commissioner/vendor_stop.rb +2 -1
  109. data/app/overrides/spree/admin/taxons/_form/check_in_flows.html.erb.deface +18 -0
  110. data/app/overrides/spree/admin/variants/_form/kyc_field.html.erb.deface +2 -2
  111. data/app/queries/spree_cm_commissioner/guest_searcher_query.rb +45 -3
  112. data/app/queries/spree_cm_commissioner/pie_chart_event_queries.rb +179 -0
  113. data/app/queries/spree_cm_commissioner/trip_query.rb +26 -23
  114. data/app/queries/spree_cm_commissioner/trip_search_query.rb +76 -0
  115. data/app/queries/spree_cm_commissioner/variant_availability/non_permanent_stock_query.rb +45 -0
  116. data/app/queries/spree_cm_commissioner/variant_availability/permanent_stock_query.rb +55 -0
  117. data/app/request_schemas/spree_cm_commissioner/accommodation_request_schema.rb +0 -3
  118. data/app/request_schemas/spree_cm_commissioner/application_request_schema.rb +1 -1
  119. data/app/serializables/spree_cm_commissioner/pie_chart_event.rb +11 -0
  120. data/app/serializers/spree/v2/organizer/invite_crews_serializer.rb +11 -0
  121. data/app/serializers/spree/v2/storefront/accommodation_serializer.rb +0 -2
  122. data/app/serializers/spree/v2/storefront/line_item_serializer_decorator.rb +0 -1
  123. data/app/serializers/spree/v2/tenant/user_serializer.rb +1 -0
  124. data/app/serializers/spree_cm_commissioner/v2/operator/chart_type_serializer.rb +10 -0
  125. data/app/serializers/spree_cm_commissioner/v2/operator/dashboard_crew_event_serializer.rb +4 -1
  126. data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_option_serializer.rb +1 -3
  127. data/app/serializers/spree_cm_commissioner/v2/storefront/dynamic_field_serializer.rb +1 -3
  128. data/app/serializers/spree_cm_commissioner/v2/storefront/guest_dynamic_field_serializer.rb +2 -1
  129. data/app/services/spree_cm_commissioner/organizer/export_guest_csv_service.rb +23 -15
  130. data/app/services/spree_cm_commissioner/user_authenticator.rb +1 -1
  131. data/app/services/spree_cm_commissioner/vehicle_option_value_creator.rb +11 -0
  132. data/app/views/blazer/queries/_content.html.erb +8 -0
  133. data/app/views/spree/admin/stock_managements/_variant_stock_items.html.erb +2 -7
  134. data/app/views/spree/admin/stock_managements/index.html.erb +6 -55
  135. data/app/views/spree/admin/tenant_vendors/index.html.erb +9 -2
  136. data/app/views/spree/admin/tenants/_form.html.erb +118 -42
  137. data/app/views/spree/admin/tenants/edit.html.erb +2 -1
  138. data/app/views/spree/admin/tenants/index.html.erb +7 -1
  139. data/app/views/spree/admin/vendors/_form.html.erb +14 -0
  140. data/app/views/spree/order_mailer/confirm_email.html.erb +27 -16
  141. data/app/views/spree_cm_commissioner/layouts/order_mailer.html.erb +5 -1
  142. data/app/views/spree_cm_commissioner/order_mailer/_mailer_stylesheets.html.erb +41 -4
  143. data/app/views/spree_cm_commissioner/order_mailer/tenant/_customer_info.html.erb +42 -0
  144. data/app/views/spree_cm_commissioner/order_mailer/tenant/_footer.html.erb +25 -0
  145. data/app/views/spree_cm_commissioner/order_mailer/tenant/_greeting.html.erb +19 -0
  146. data/app/views/spree_cm_commissioner/order_mailer/tenant/_support_contact.html.erb +33 -0
  147. data/config/initializers/spree_permitted_attributes.rb +2 -5
  148. data/config/locales/en.yml +10 -1
  149. data/config/routes.rb +7 -22
  150. data/db/migrate/20240202080634_update_counter_cache_of_vehicle_type.rb +1 -3
  151. data/db/migrate/20250616084219_add_description_to_cm_vendor_place.rb +5 -0
  152. data/db/migrate/20250630103536_create_cm_telegram_chats.rb +13 -0
  153. data/db/migrate/20250701093203_add_configurations_to_cm_dynamic_field.rb +6 -0
  154. data/db/migrate/20250702091305_add_dynamic_field_option_to_guest_dynamic_field.rb +5 -0
  155. data/db/migrate/20250702091935_add_status_to_dynamic_field_option.rb +5 -0
  156. data/db/migrate/20250707032008_add_vendor_id_to_spree_category.rb +7 -0
  157. data/db/migrate/20250709073455_add_email_fields_to_spree_vendors.rb +6 -0
  158. data/db/migrate/20250711092937_add_position_to_cm_dynamic_fields.rb +11 -0
  159. data/db/migrate/20250711093045_add_position_to_cm_dynamic_field_options.rb +11 -0
  160. data/db/migrate/20250714121508_rename_cm_taxon_blazer_query_to_blazer_queryables.rb +7 -0
  161. data/db/migrate/20250714124323_make_cm_blazer_queryables_polymorphic.rb +19 -0
  162. data/db/migrate/20250715103333_remove_indexes_from_cm_user_identity_providers.rb +13 -0
  163. data/db/migrate/20250718071620_add_data_fill_stage_to_dynamic_fields.rb +5 -0
  164. data/docker-compose.yml +1 -1
  165. data/lib/cm_app_logger.rb +4 -11
  166. data/lib/generators/spree_cm_commissioner/install/install_generator.rb +11 -14
  167. data/lib/generators/spree_cm_commissioner/install/templates/app/javascript/{spree_dashboard/spree_cm_commissioner → spree_cm_commissioner}/utilities.js +0 -4
  168. data/lib/spree_cm_commissioner/calendar_event.rb +1 -11
  169. data/lib/spree_cm_commissioner/test_helper/factories/branch_factory.rb +12 -0
  170. data/lib/spree_cm_commissioner/test_helper/factories/departure_time_option_type_factory.rb +8 -0
  171. data/lib/spree_cm_commissioner/test_helper/factories/duration_option_type_factory.rb +8 -0
  172. data/lib/spree_cm_commissioner/test_helper/factories/guest_factory.rb +0 -10
  173. data/lib/spree_cm_commissioner/test_helper/factories/homepage_section_relatable_factory.rb +1 -1
  174. data/lib/spree_cm_commissioner/test_helper/factories/line_item_factory.rb +1 -1
  175. data/lib/spree_cm_commissioner/test_helper/factories/line_item_seat_factory.rb +7 -0
  176. data/lib/spree_cm_commissioner/test_helper/factories/option_type_factory.rb +30 -6
  177. data/lib/spree_cm_commissioner/test_helper/factories/order_factory.rb +36 -0
  178. data/lib/spree_cm_commissioner/test_helper/factories/product_factory.rb +34 -18
  179. data/lib/spree_cm_commissioner/test_helper/factories/stock_location_factory.rb +2 -2
  180. data/lib/spree_cm_commissioner/test_helper/factories/stop_factory.rb +14 -0
  181. data/lib/spree_cm_commissioner/test_helper/factories/transit_place_factory.rb +8 -0
  182. data/lib/spree_cm_commissioner/test_helper/factories/trip_factory.rb +3 -10
  183. data/lib/spree_cm_commissioner/test_helper/factories/user_identity_provider_factory.rb +1 -1
  184. data/lib/spree_cm_commissioner/test_helper/factories/variant_factory.rb +19 -41
  185. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_factory.rb +1 -1
  186. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_option_type_factory.rb +8 -0
  187. data/lib/spree_cm_commissioner/test_helper/factories/vehicle_type_factory.rb +96 -0
  188. data/lib/spree_cm_commissioner/test_helper/factories/vendor_factory.rb +1 -1
  189. data/lib/spree_cm_commissioner/trip_seat_layout_result.rb +11 -0
  190. data/lib/spree_cm_commissioner/version.rb +1 -1
  191. data/lib/spree_cm_commissioner.rb +1 -35
  192. data/spree_cm_commissioner.gemspec +0 -7
  193. metadata +70 -133
  194. data/app/controllers/spree/admin/inventory_items_controller.rb +0 -83
  195. data/app/controllers/spree/api/v2/storefront/accommodations/variants_controller.rb +0 -42
  196. data/app/finders/spree_cm_commissioner/accommodations/find.rb +0 -37
  197. data/app/finders/spree_cm_commissioner/accommodations/find_variant.rb +0 -32
  198. data/app/interactors/spree_cm_commissioner/ensure_correct_product_type.rb +0 -40
  199. data/app/interactors/spree_cm_commissioner/inventory_item_syncer.rb +0 -25
  200. data/app/interactors/spree_cm_commissioner/stock/inventory_item_resetter.rb +0 -44
  201. data/app/interactors/spree_cm_commissioner/stock/inventory_items_adjuster.rb +0 -13
  202. data/app/interactors/spree_cm_commissioner/stock/inventory_items_generator.rb +0 -15
  203. data/app/interactors/spree_cm_commissioner/stock/permanent_inventory_items_generator.rb +0 -75
  204. data/app/interactors/spree_cm_commissioner/stock/stock_movement_creator.rb +0 -32
  205. data/app/jobs/spree_cm_commissioner/ensure_correct_product_type_job.rb +0 -7
  206. data/app/jobs/spree_cm_commissioner/inventory_item_syncer_job.rb +0 -7
  207. data/app/jobs/spree_cm_commissioner/stock/inventory_items_adjuster_job.rb +0 -11
  208. data/app/jobs/spree_cm_commissioner/stock/inventory_items_generator_job.rb +0 -11
  209. data/app/jobs/spree_cm_commissioner/stock/permanent_inventory_items_generator_job.rb +0 -9
  210. data/app/models/concerns/spree_cm_commissioner/order_seatable.rb +0 -44
  211. data/app/models/spree_cm_commissioner/block.rb +0 -23
  212. data/app/models/spree_cm_commissioner/inventory.rb +0 -11
  213. data/app/models/spree_cm_commissioner/inventory_item.rb +0 -69
  214. data/app/models/spree_cm_commissioner/price_decorator.rb +0 -9
  215. data/app/models/spree_cm_commissioner/redis_stock/cached_inventory_items_builder.rb +0 -41
  216. data/app/models/spree_cm_commissioner/redis_stock/inventory_updater.rb +0 -126
  217. data/app/models/spree_cm_commissioner/redis_stock/line_items_cached_inventory_items_builder.rb +0 -36
  218. data/app/models/spree_cm_commissioner/redis_stock/variant_cached_inventory_items_builder.rb +0 -25
  219. data/app/models/spree_cm_commissioner/reserved_block.rb +0 -30
  220. data/app/models/spree_cm_commissioner/seat_layout.rb +0 -20
  221. data/app/models/spree_cm_commissioner/seat_section.rb +0 -16
  222. data/app/models/spree_cm_commissioner/seats/blocks_canceler.rb +0 -30
  223. data/app/models/spree_cm_commissioner/seats/blocks_holder.rb +0 -53
  224. data/app/models/spree_cm_commissioner/seats/blocks_reserver.rb +0 -49
  225. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_on_hold_by_other_guest.rb +0 -4
  226. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_other_guest.rb +0 -4
  227. data/app/models/spree_cm_commissioner/seats/errors/blocks_are_reserved_by_same_guest.rb +0 -4
  228. data/app/models/spree_cm_commissioner/seats/errors/unable_to_save_reserved_block_record.rb +0 -4
  229. data/app/models/spree_cm_commissioner/stock/order_availability_checker.rb +0 -44
  230. data/app/models/spree_cm_commissioner/taxon_blazer_query.rb +0 -8
  231. data/app/models/spree_cm_commissioner/variant_block.rb +0 -9
  232. data/app/request_schemas/spree_cm_commissioner/variant_request_schema.rb +0 -19
  233. data/app/views/spree/admin/inventory_items/show.html.erb +0 -72
  234. data/app/views/spree/admin/stock_managements/calendar.html.erb +0 -56
  235. data/config/initializers/paper_trail.rb +0 -1
  236. data/db/migrate/20250304293518_create_cm_inventory_items.rb +0 -21
  237. data/db/migrate/20250429094228_add_lock_version_to_cm_inventory_items.rb +0 -5
  238. data/db/migrate/20250502025848_add_index_to_spree_products.rb +0 -5
  239. data/db/migrate/20250502030001_add_product_type_to_spree_variants.rb +0 -5
  240. data/db/migrate/20250502030002_add_product_type_to_spree_line_items.rb +0 -5
  241. data/db/migrate/20250603035256_add_inventory_item_to_spree_prices.rb +0 -7
  242. data/db/migrate/20250619073724_drop_table_cm_line_item_seats.rb +0 -5
  243. data/db/migrate/20250619073812_drop_table_cm_vehicle_seats.rb +0 -5
  244. data/db/migrate/20250619073844_drop_table_cm_vehicle_types.rb +0 -9
  245. data/db/migrate/20250619073957_drop_table_cm_option_value_vehicle_types.rb +0 -5
  246. data/db/migrate/20250619082354_remove_unnecessary_fields_from_cm_places.rb +0 -9
  247. data/db/migrate/20250619082736_remove_route_type_from_spree_products.rb +0 -5
  248. data/db/migrate/20250619083055_remove_unnecessary_fields_from_spree_taxons.rb +0 -5
  249. data/db/migrate/20250620083055_remove_variant_id_from_cm_trips.rb +0 -5
  250. data/db/migrate/20250620090000_update_cm_trip_connections_to_use_cm_trips.rb +0 -6
  251. data/db/migrate/20250620090001_create_cm_seat_layouts.rb +0 -17
  252. data/db/migrate/20250620090002_create_cm_seat_sections.rb +0 -18
  253. data/db/migrate/20250620090003_create_cm_blocks.rb +0 -18
  254. data/db/migrate/20250624091005_create_cm_reserved_blocks.rb +0 -29
  255. data/db/migrate/20250626083642_create_cm_variant_blocks.rb +0 -24
  256. data/db/migrate/20250627023314_add_block_id_to_cm_guests.rb +0 -13
  257. data/lib/spree_cm_commissioner/cached_inventory_item.rb +0 -23
  258. data/lib/spree_cm_commissioner/test_helper/factories/block_factory.rb +0 -9
  259. data/lib/spree_cm_commissioner/test_helper/factories/inventory_item_factory.rb +0 -9
  260. data/lib/spree_cm_commissioner/test_helper/factories/reserved_block_factory.rb +0 -27
  261. data/lib/spree_cm_commissioner/test_helper/factories/seat_layout_factory.rb +0 -8
  262. data/lib/spree_cm_commissioner/test_helper/factories/seat_section_factory.rb +0 -8
  263. data/lib/spree_cm_commissioner/test_helper/factories/trip_connection_factory.rb +0 -6
  264. data/lib/spree_cm_commissioner/test_helper/factories/variant_block_factory.rb +0 -7
  265. data/lib/tasks/create_default_non_permanent_inventory_items.rake +0 -16
  266. data/lib/tasks/ensure_correct_product_type.rake +0 -7
  267. data/lib/tasks/generate_inventory_items.rake +0 -7
@@ -55,10 +55,10 @@
55
55
  border-radius: 1.5625rem 1.5625rem 0 0;
56
56
  background: #653ed7;
57
57
  background: url(<%= image_path("mailer/event-mailer-bg.png") %>) center center / cover,
58
- linear-gradient(45deg, #653ed7, rgba(0, 0, 255, 0) 70.71%),
59
- linear-gradient(225deg, #653ed7, rgba(0, 0, 255, 0) 70.71%),
60
- linear-gradient(330deg, #35ace0, rgba(0, 0, 255, 0) 70.71%),
61
- linear-gradient(150deg, #35ace0, rgba(0, 0, 255, 0) 70.71%);
58
+ linear-gradient(45deg, #653ed7, rgba(0, 0, 255, 0) 70.71%),
59
+ linear-gradient(225deg, #653ed7, rgba(0, 0, 255, 0) 70.71%),
60
+ linear-gradient(330deg, #35ace0, rgba(0, 0, 255, 0) 70.71%),
61
+ linear-gradient(150deg, #35ace0, rgba(0, 0, 255, 0) 70.71%);
62
62
  }
63
63
  #confirm-email #greeting-card p,
64
64
  #confirm-email #greeting-card .booking-confirmm,
@@ -66,6 +66,24 @@
66
66
  #confirm-email #greeting-card .description {
67
67
  color: #fff;
68
68
  }
69
+
70
+ #confirm-email #greeting-card-1 {
71
+ color: #fff;
72
+ padding: 1.5rem;
73
+ background-size: cover;
74
+ background-position: center;
75
+ background-repeat: no-repeat;
76
+ border-radius: 1.5625rem 1.5625rem 0 0;
77
+ background: #<%= @brand_color %>;
78
+ }
79
+ #confirm-email #greeting-card-1 p,
80
+ #confirm-email #greeting-card-1 .header,
81
+ #confirm-email #greeting-card-1 .booking-confirm,
82
+ #confirm-email #greeting-card-1 .hello,
83
+ #confirm-email #greeting-card-1 .description {
84
+ color: #fff;
85
+ }
86
+
69
87
  #confirm-email .align-right {
70
88
  vertical-align: top;
71
89
  }
@@ -74,6 +92,15 @@
74
92
  margin-top: 1.25rem;
75
93
  margin-bottom: 0.625rem;
76
94
  }
95
+ #confirm-email .icon-hang-meas {
96
+ width: 6.25rem;
97
+ }
98
+ #confirm-email .header {
99
+ display: flex;
100
+ align-items: center;
101
+ justify-content: space-between;
102
+ width: 100%;
103
+ }
77
104
  #confirm-email #greeting-card .hello,
78
105
  .booking-confirm {
79
106
  font-size: 1.375rem;
@@ -83,6 +110,15 @@
83
110
  margin-bottom: 0.25rem;
84
111
  margin-top: 1.25rem;
85
112
  }
113
+ #confirm-email #greeting-card-1 .booking-confirm {
114
+ font-size: 1.375rem;
115
+ font-style: normal;
116
+ font-weight: 700;
117
+ line-height: 1.75rem;
118
+ margin-bottom: 0.25rem;
119
+ margin-top: 1.25rem;
120
+ color: #fff;
121
+ }
86
122
  #confirm-email #greeting-card .booking-confirm {
87
123
  font-size: 1.5rem;
88
124
  padding: 0.625rem 0;
@@ -233,6 +269,7 @@
233
269
  }
234
270
  #confirm-email .notice-info .description {
235
271
  padding-left: 0.75rem;
272
+ color: #939393;
236
273
  }
237
274
  #confirm-email .notice-info a {
238
275
  color: #6444D8;
@@ -0,0 +1,42 @@
1
+ <div class="content-cell">
2
+ <div class="container">
3
+ <h2><%= I18n.t('mail.order_mailer.customer_info') %></h2>
4
+ <div class="flex two-columns">
5
+ <div class="two-columns-item">
6
+ <div class="flex two-columns-item_detail">
7
+ <div class="two-columns_icon"><%= image_tag "mailer/tenant_user.png", class: "mail-icon" %></div>
8
+ <div class="two-columns_text-container">
9
+ <p class="two-columns_title">Name</p>
10
+ <p class="two-columns_description"><%= user_full_name(order) %></p>
11
+ </div>
12
+ </div>
13
+ <div class="flex two-columns-item_detail">
14
+ <div class="two-columns_icon"><%= image_tag "mailer/mail.png", class: "mail-icon" %></div>
15
+ <div class="two-columns_text-container">
16
+ <p class="two-columns_title">Email</p>
17
+ <% if order.email.present? %>
18
+ <p class="two-columns_description"><%= link_to order.email, "mailto:#{order.email}" %></p>
19
+ <% end %>
20
+ </div>
21
+ </div>
22
+ </div>
23
+ <div class="vertical-separater"></div>
24
+ <div class="two-columns-item">
25
+ <div class="flex two-columns-item_detail">
26
+ <div class="two-columns_icon"><%= image_tag "mailer/tenant_phone.png", class: "mail-icon" %></div>
27
+ <div class="two-columns_text-container">
28
+ <p class="two-columns_title">Contact</p>
29
+ <% if order.phone_number.present? || order.intel_phone_number.present? %>
30
+ <p class="two-columns_description">
31
+ <%= link_to(
32
+ order.phone_number || order.intel_phone_number,
33
+ "tel:#{order.phone_number || order.intel_phone_number}") %>
34
+ </p>
35
+ <% end %>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ </div>
40
+ <hr>
41
+ </div>
42
+ </div>
@@ -0,0 +1,25 @@
1
+ <div class="email-footer_inner">
2
+ <div class="mb-24"><%= store.description%></div>
3
+ <div class="mb-24 f-14"><%= store.address%></div>
4
+ <h2 class="mb-24">Connect with us</h2>
5
+ <table class="mb-24 social_icons">
6
+ <tbody>
7
+ <tr>
8
+ <% if store.facebook? %>
9
+ <td class="social_icon">
10
+ <%= link_to store.facebook, target: :_blank do %>
11
+ <%= image_tag "mailer/facebook.png", class: "mail-icon"%>
12
+ <% end %>
13
+ </td>
14
+ <% end %>
15
+ <% if store.instagram?%>
16
+ <td class="social_icon">
17
+ <%= link_to store.instagram, target: :_blank do %>
18
+ <%= image_tag "mailer/instagram.png", class: "mail-icon"%>
19
+ <% end %>
20
+ </td>
21
+ <% end %>
22
+ </tr>
23
+ </tbody>
24
+ </table>
25
+ </div>
@@ -0,0 +1,19 @@
1
+ <div id="greeting-card-1">
2
+ <div>
3
+ <div class="header">
4
+ <h1><%=@order.store.name %></h1>
5
+ <% if @vendor_logo_url.present? %>
6
+ <img src="<%= @vendor_logo_url %>" alt="Vendor Logo" class="icon-hang-meas">
7
+ <% end %>
8
+ </div>
9
+ <div class="booking-confirm">
10
+ <%= I18n.t('mail.order_mailer.booking_confirm') %>
11
+ </div>
12
+ <div class="hello">
13
+ <%= I18n.t('mail.order_mailer.hello', full_name: user_full_name(order)) %>
14
+ </div>
15
+ <div class="description">
16
+ <%= I18n.t('mail.order_mailer.booking_event', order_number: @order.number || 'NA') %>
17
+ </div>
18
+ </div>
19
+ </div>
@@ -0,0 +1,33 @@
1
+ <div class="content-cell">
2
+ <div class="container">
3
+ <h2><%= I18n.t('mail.order_mailer.bookmeplus_support')%></h2>
4
+ <div class="flex two-columns">
5
+ <div class="two-columns-item">
6
+ <div class="flex two-columns-item_detail">
7
+ <div class="two-columns_icon"><%= image_tag "mailer/tenant_phone.png", class: "mail-icon"%></div>
8
+ <div class="two-columns_text-container">
9
+ <p class="two-columns_title">Contact</p>
10
+ <% if current_store.contact_phone.present? %>
11
+ <p class="two-columns_description">
12
+ <%= link_to current_store.contact_phone, "tel:#{current_store.contact_phone}" %>
13
+ </p>
14
+ <% end %>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ <div class="vertical-separater"></div>
19
+ <div class="two-columns-item">
20
+ <div class="flex two-columns-item_detail">
21
+ <div class="two-columns_icon"><%= image_tag "mailer/mail.png", class: "mail-icon"%></div>
22
+ <div class="two-columns_text-container">
23
+ <p class="two-columns_title">Email</p>
24
+ <p class="two-columns_description">
25
+ <%= @vendor&.support_email.present? ? link_to(@vendor.support_email, "mailto:#{@vendor.support_email}") : "N/A" %>
26
+ </p>
27
+
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ </div>
@@ -31,6 +31,8 @@ module Spree
31
31
  subtitle
32
32
  preferred_background_color
33
33
  preferred_foreground_color
34
+ preferred_group_check_in_enabled
35
+ preferred_individual_check_in_enabled
34
36
  show_badge_status
35
37
  purchasable_on
36
38
  available_on
@@ -58,10 +60,5 @@ module Spree
58
60
  age
59
61
  gender
60
62
  ]
61
-
62
- @@stock_movement_attributes += %i[
63
- originator_type
64
- originator_id
65
- ]
66
63
  end
67
64
  end
@@ -54,7 +54,11 @@ en:
54
54
  guest_card_classes:
55
55
  empty_info: "No guest card classes information available."
56
56
  background_image: "Background Image"
57
-
57
+ guest_dynamic_field:
58
+ errors:
59
+ pre_registration_required: "is required before ticket issuance"
60
+ post_registration_required: "must be completed after purchase"
61
+ during_check_in_required: "is required during check-in"
58
62
  google_wallet:
59
63
  note: "Click <b>Create</b> or <b> Update</b> to connect to Google Wallet after filled all information "
60
64
  google_wallet_class_created: "Google Wallet class created successfully."
@@ -459,6 +463,10 @@ en:
459
463
  businesses_cant_be_blank: "Businesses can't be blank"
460
464
  phone_number_cant_be_blank: "Phone number can't be blank"
461
465
  quantity_cant_be_less_than_or_equal_to_zero: "Quantity can't be less or equal than 0"
466
+ spree_cm_commissioner/vendor_place:
467
+ attributes:
468
+ place_id:
469
+ taken: "has already existed with this place type"
462
470
 
463
471
  mail:
464
472
  order_mailer:
@@ -543,6 +551,7 @@ en:
543
551
  update_user_login: "update user code"
544
552
  contact_update: "update contact code"
545
553
  otp_code: "OTP code"
554
+ telegram_verification: "telegram code"
546
555
 
547
556
  notifications:
548
557
  spree_cm_commissioner:
data/config/routes.rb CHANGED
@@ -138,21 +138,7 @@ Spree::Core::Engine.add_routes do
138
138
  end
139
139
  end
140
140
 
141
- resources :stock_managements do
142
- collection do
143
- get :calendar
144
- end
145
- end
146
-
147
- resources :variants do
148
- resources :inventory_items, only: %i[show create] do
149
- member do
150
- patch :reset
151
- patch :update_prices
152
- delete :delete_prices
153
- end
154
- end
155
- end
141
+ resources :stock_managements
156
142
 
157
143
  resources :product_completion_steps do
158
144
  collection do
@@ -288,6 +274,7 @@ Spree::Core::Engine.add_routes do
288
274
  resources :vendors, controller: :tenant_vendors
289
275
  end
290
276
  resources :event_blazer_queries
277
+ resources :trip_blazer_queries
291
278
  end
292
279
 
293
280
  resources :events, controller: 'events/base' do
@@ -464,6 +451,7 @@ Spree::Core::Engine.add_routes do
464
451
  resources :images
465
452
  resource :s3_signed_urls
466
453
  resources :invites
454
+ resources :invite_crews, only: %i[show update]
467
455
  resources :invite_guests, only: %i[show update]
468
456
  end
469
457
 
@@ -543,8 +531,6 @@ Spree::Core::Engine.add_routes do
543
531
  end
544
532
 
545
533
  namespace :storefront do
546
- resources :inventory_item
547
-
548
534
  resources :waiting_room_sessions, only: :create
549
535
  resources :vattanac_banks, only: %i[create]
550
536
  resource :cart, controller: :cart, only: %i[show create destroy] do
@@ -570,10 +556,7 @@ Spree::Core::Engine.add_routes do
570
556
  resource :cart_guests, only: %i[create destroy]
571
557
  resources :cart_payment_method_groups, only: %i[index]
572
558
 
573
- resources :accommodations, only: %i[index show] do
574
- resources :variants, only: %i[index show], module: :accommodations
575
- end
576
-
559
+ resources :accommodations, only: %i[index show]
577
560
  resources :line_items, only: %i[index show]
578
561
  resources :account_checker
579
562
  resource :account_recovers, only: [:update]
@@ -661,6 +644,7 @@ Spree::Core::Engine.add_routes do
661
644
  resources :taxons, only: %i[show] do
662
645
  resource :event_ticket_aggregators, only: %i[show]
663
646
  resource :pie_chart_event_aggregators, only: %i[show]
647
+ resources :pie_chart_events, only: %i[index show]
664
648
  end
665
649
  end
666
650
  end
@@ -688,5 +672,6 @@ Rails.application.routes.draw do
688
672
  get 'o/:id', to: 'spree_cm_commissioner/orders#show', as: 'order'
689
673
  get 'li/:id', to: 'spree_cm_commissioner/line_item_qr_images#show', as: 'line_item_qr_image'
690
674
  get 'g/:id', to: 'spree_cm_commissioner/guest_cards#show', as: 'guest_cards'
691
- get '.well-known/:id', to: 'spree_cm_commissioner/well_known#show', constraints: { id: /(assetlinks\.json|apple-app-site-association)/ }
675
+ get '.well-known/assetlinks.json', to: 'spree_cm_commissioner/well_known#assetlinks_json'
676
+ get '.well-known/apple-app-site-association', to: 'spree_cm_commissioner/well_known#apple_app_site_association'
692
677
  end
@@ -1,7 +1,5 @@
1
1
  class UpdateCounterCacheOfVehicleType < ActiveRecord::Migration[7.0]
2
- def up
3
- if defined?(SpreeCmCommissioner::VehicleSeat) && SpreeCmCommissioner::VehicleSeat.respond_to?(:counter_culture_fix_counts)
2
+ def up
4
3
  SpreeCmCommissioner::VehicleSeat.counter_culture_fix_counts
5
4
  end
6
- end
7
5
  end
@@ -0,0 +1,5 @@
1
+ class AddDescriptionToCmVendorPlace < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :cm_vendor_places, :description, :string, if_not_exists: true
4
+ end
5
+ end
@@ -0,0 +1,13 @@
1
+ class CreateCmTelegramChats < ActiveRecord::Migration[7.0]
2
+ def change
3
+ create_table :cm_telegram_chats, if_not_exists: true do |t|
4
+ t.bigint :chat_id, null: false
5
+ t.string :chat_title
6
+ t.string :chat_type
7
+ t.boolean :active, default: false
8
+ t.references :vendor, foreign_key: { to_table: :spree_vendors }
9
+ t.timestamps
10
+ end
11
+ add_index :cm_telegram_chats, :chat_id, unique: true, if_not_exists: true
12
+ end
13
+ end
@@ -0,0 +1,6 @@
1
+ class AddConfigurationsToCmDynamicField < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :cm_dynamic_fields, :configurations, :jsonb, default: {}, null: false, if_not_exists: true
4
+ add_index :cm_dynamic_fields, :configurations, if_not_exists: true
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ class AddDynamicFieldOptionToGuestDynamicField < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_reference :cm_guest_dynamic_fields, :dynamic_field_option, index: true, foreign_key: { to_table: :cm_dynamic_field_options }, if_not_exists: true
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddStatusToDynamicFieldOption < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :cm_dynamic_field_options, :status, :integer, default: 0, if_not_exists: true
4
+ end
5
+ end
@@ -0,0 +1,7 @@
1
+ class AddVendorIdToSpreeCategory < ActiveRecord::Migration[7.0]
2
+ def change
3
+ unless column_exists?(:spree_promotion_categories, :vendor_id)
4
+ add_reference :spree_promotion_categories, :vendor, index: true, foreign_key: { to_table: :spree_vendors }
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,6 @@
1
+ class AddEmailFieldsToSpreeVendors < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :spree_vendors, :from_email, :string, if_not_exists: true
4
+ add_column :spree_vendors, :support_email, :string, if_not_exists: true
5
+ end
6
+ end
@@ -0,0 +1,11 @@
1
+ class AddPositionToCmDynamicFields < ActiveRecord::Migration[7.0]
2
+ def change
3
+ unless column_exists?(:cm_dynamic_fields, :position)
4
+ add_column :cm_dynamic_fields, :position, :integer, default: 0, null: false
5
+ end
6
+
7
+ unless index_exists?(:cm_dynamic_fields, :position, name: 'index_dynamic_fields_on_position')
8
+ add_index :cm_dynamic_fields, :position, name: 'index_dynamic_fields_on_position'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ class AddPositionToCmDynamicFieldOptions < ActiveRecord::Migration[7.0]
2
+ def change
3
+ unless column_exists?(:cm_dynamic_field_options, :position)
4
+ add_column :cm_dynamic_field_options, :position, :integer, default: 0, null: false
5
+ end
6
+
7
+ unless index_exists?(:cm_dynamic_field_options, :position, name: 'index_dynamic_field_options_on_position')
8
+ add_index :cm_dynamic_field_options, :position, name: 'index_dynamic_field_options_on_position'
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,7 @@
1
+ class RenameCmTaxonBlazerQueryToBlazerQueryables < ActiveRecord::Migration[7.0]
2
+ def change
3
+ if table_exists?(:cm_taxon_blazer_queries)
4
+ rename_table :cm_taxon_blazer_queries, :cm_blazer_queryables
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,19 @@
1
+ class MakeCmBlazerQueryablesPolymorphic < ActiveRecord::Migration[7.0]
2
+ def change
3
+ if column_exists?(:cm_blazer_queryables, :taxon_id) && !column_exists?(:cm_blazer_queryables, :queryable_id)
4
+ rename_column :cm_blazer_queryables, :taxon_id, :queryable_id
5
+ end
6
+
7
+ unless column_exists?(:cm_blazer_queryables, :queryable_type)
8
+ add_column :cm_blazer_queryables, :queryable_type, :string, default: 'Spree::Taxon'
9
+ end
10
+
11
+ if foreign_key_exists?(:cm_blazer_queryables, column: :queryable_id)
12
+ remove_foreign_key :cm_blazer_queryables, column: :queryable_id
13
+ end
14
+
15
+ unless index_exists?(:cm_blazer_queryables, [:queryable_type, :queryable_id], name: 'index_cm_blazer_queryables_on_queryable_type_and_id')
16
+ add_index :cm_blazer_queryables, [:queryable_type, :queryable_id], name: 'index_cm_blazer_queryables_on_queryable_type_and_id'
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ class RemoveIndexesFromCmUserIdentityProviders < ActiveRecord::Migration[7.0]
2
+ def change
3
+ execute <<-SQL
4
+ ALTER TABLE cm_user_identity_providers
5
+ DROP CONSTRAINT IF EXISTS index_cm_user_identity_providers_on_identity_type_and_sub;
6
+ SQL
7
+
8
+ execute <<-SQL
9
+ ALTER TABLE cm_user_identity_providers
10
+ DROP CONSTRAINT IF EXISTS index_cm_user_identity_providers_on_user_id_and_identity_type;
11
+ SQL
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ class AddDataFillStageToDynamicFields < ActiveRecord::Migration[7.0]
2
+ def change
3
+ add_column :cm_dynamic_fields, :data_fill_stage, :integer, default: 0, null: false, if_not_exists: true
4
+ end
5
+ end
data/docker-compose.yml CHANGED
@@ -20,7 +20,7 @@ services:
20
20
 
21
21
  volumes:
22
22
  - .:/gem
23
- - ./vendor/bundle:/gem/vendor/bundle
23
+ - /gem/vendor/bundle
24
24
 
25
25
  # depends_on:
26
26
  # - db
data/lib/cm_app_logger.rb CHANGED
@@ -1,18 +1,11 @@
1
1
  # lib/cm_app_logger.rb
2
2
  module CmAppLogger
3
3
  def self.log(label:, data: nil)
4
- message = { label: label, data: data }
5
- start_time = Time.current
6
- Rails.logger.info(message.to_json)
7
-
8
- return unless block_given?
9
-
10
- # Capture the block’s return value and return it to preserve existing behavior for callers expecting that value.
11
- block_result = yield
4
+ message = {
5
+ label: label,
6
+ data: data
7
+ }
12
8
 
13
- message[:start_time] = start_time
14
- message[:duration_ms] = (Time.current - start_time) * 1000
15
9
  Rails.logger.info(message.to_json)
16
- block_result
17
10
  end
18
11
  end
@@ -11,9 +11,14 @@ module SpreeCmCommissioner
11
11
  end
12
12
 
13
13
  def add_migrations
14
- run 'bundle exec rake railties:install:migrations FROM=spree_multi_vendor'
15
- run 'bundle exec rake railties:install:migrations FROM=spree_cm_commissioner'
16
- run 'bundle exec rails generate paper_trail:install'
14
+ gems = %i[
15
+ spree_multi_vendor
16
+ spree_cm_commissioner
17
+ ]
18
+
19
+ gems.each do |gem|
20
+ run "bundle exec rake railties:install:migrations FROM=#{gem}"
21
+ end
17
22
  end
18
23
 
19
24
  def run_migrations
@@ -35,17 +40,9 @@ module SpreeCmCommissioner
35
40
  after: %r{//= require spree/backend}, verbose: true
36
41
 
37
42
  # For NPM support
38
- if File.exist?(File.join(destination_root, 'app/javascript/spree_dashboard'))
39
- template 'app/javascript/spree_dashboard/spree_cm_commissioner/utilities.js'
40
- inject_into_file 'app/javascript/spree_dashboard/spree-dashboard.js', "\nimport \"./spree_cm_commissioner/utilities.js\"",
41
- after: %r{import "@spree/dashboard"}, verbose: true
42
- else
43
- Logger.new($stdout).debug <<~MSG
44
- SpreeCmCommissioner: JavaScript files for the dashboard are missing.
45
- Please move your JavaScript files to the appropriate location in
46
- app/javascript/spree_dashboard.
47
- MSG
48
- end
43
+ template 'app/javascript/spree_cm_commissioner/utilities.js'
44
+ inject_into_file 'app/javascript/spree-dashboard.js', "\nimport \"./spree_cm_commissioner/utilities.js\"",
45
+ after: %r{import "@spree/dashboard"}, verbose: true
49
46
  end
50
47
 
51
48
  def install_telegram_web_bot
@@ -6,7 +6,3 @@ const $ = jquery;
6
6
  document.addEventListener("spree:load", function () {
7
7
  $('[data-toggle="popover"]').popover();
8
8
  });
9
-
10
- document.documentElement.addEventListener("turbo:frame-load", (event) => {
11
- $('[data-toggle="popover"]').popover();
12
- });
@@ -2,7 +2,7 @@ module SpreeCmCommissioner
2
2
  class CalendarEvent
3
3
  attr_reader :from_date, :to_date, :title, :options
4
4
 
5
- def initialize(from_date:, to_date:, title: nil, options: nil)
5
+ def initialize(from_date:, to_date:, title:, options:)
6
6
  @from_date = from_date
7
7
  @to_date = to_date
8
8
  @title = title
@@ -23,15 +23,5 @@ module SpreeCmCommissioner
23
23
  )
24
24
  end
25
25
  end
26
-
27
- def self.from_inventory_items(inventory_items)
28
- inventory_items.map do |item|
29
- CalendarEvent.new(
30
- from_date: item.inventory_date,
31
- to_date: item.inventory_date,
32
- options: { inventory_item: item }
33
- )
34
- end
35
- end
36
26
  end
37
27
  end
@@ -0,0 +1,12 @@
1
+ FactoryBot.define do
2
+
3
+ factory :cm_branch , class: SpreeCmCommissioner::Branch do
4
+ name { 'testBranch'}
5
+ lat { 11.11 }
6
+ lon { 11.11}
7
+ formatted_phone_number { generate(:phone_number) }
8
+ formatted_address { "test_address" }
9
+ state
10
+ vendor
11
+ end
12
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :departure_time, class: Spree::OptionType do
3
+ name { 'departure_time' }
4
+ attr_type { 'departure_time' }
5
+ kind {'variant'}
6
+ presentation { '' }
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ FactoryBot.define do
2
+ factory :duration, class: Spree::OptionType do
3
+ name { 'duration' }
4
+ attr_type { 'duration' }
5
+ kind {'variant'}
6
+ presentation { '' }
7
+ end
8
+ end
@@ -1,5 +1,4 @@
1
1
  FactoryBot.define do
2
- # use cm_guest instead for consistency
3
2
  factory :guest, class: SpreeCmCommissioner::Guest do
4
3
  line_item { |a| a.association(:line_item) }
5
4
  first_name { FFaker::Name.name }
@@ -8,13 +7,4 @@ FactoryBot.define do
8
7
  dob { '1986-03-28' }
9
8
  token { SecureRandom.hex(32) }
10
9
  end
11
-
12
- factory :cm_guest, class: SpreeCmCommissioner::Guest do
13
- line_item { |a| a.association(:line_item) }
14
- first_name { FFaker::Name.name }
15
- last_name { FFaker::Name.name }
16
- gender { 1 }
17
- dob { '1986-03-28' }
18
- token { SecureRandom.hex(32) }
19
- end
20
10
  end
@@ -17,7 +17,7 @@ FactoryBot.define do
17
17
  end
18
18
 
19
19
  factory :cm_product_homepage_section_relatable do
20
- relatable { create(:cm_product) }
20
+ relatable { create(:product) }
21
21
  end
22
22
 
23
23
  factory :cm_taxon_homepage_section_relatable do
@@ -16,7 +16,7 @@ FactoryBot.define do
16
16
  variant { product.master }
17
17
 
18
18
  factory :cm_need_confirmation_line_item do
19
- product { create(:cm_product, need_confirmation: true) }
19
+ product { create(:product, need_confirmation: true) }
20
20
  end
21
21
 
22
22
  factory :cm_kyc_line_item do