spree_cm_commissioner 2.8.7.pre.pre2 → 2.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +0 -6
- data/Gemfile.lock +1 -1
- data/app/controllers/concerns/spree_cm_commissioner/content_cachable.rb +0 -2
- data/app/controllers/spree/admin/homepage_section_controller.rb +1 -4
- data/app/controllers/spree/admin/inventory_holds_controller.rb +1 -20
- data/app/controllers/spree/admin/taxons_controller_decorator.rb +0 -19
- data/app/controllers/spree/api/v2/storefront/homepage_sections_controller.rb +0 -1
- data/app/controllers/spree/api/v2/storefront/order_histories_controller.rb +2 -7
- data/app/controllers/spree/api/v2/tenant/base_controller.rb +0 -4
- data/app/controllers/spree/api/v2/tenant/homepage_sections_controller.rb +0 -1
- data/app/controllers/spree/api/v2/tenant/order_histories_controller.rb +2 -7
- data/app/controllers/spree/api/v2/tenant/products_controller.rb +1 -1
- data/app/controllers/spree/api/v2/tenant/taxons_controller.rb +1 -1
- data/app/controllers/spree_cm_commissioner/admin/products_controller_decorator.rb +0 -19
- data/app/finders/spree_cm_commissioner/events/find_matches.rb +0 -1
- data/app/helpers/spree_cm_commissioner/admin/homepage_segment_helper.rb +0 -2
- data/app/mailers/spree/order_mailer_decorator.rb +0 -2
- data/app/models/concerns/spree_cm_commissioner/homepage_section_bitwise.rb +1 -2
- data/app/models/concerns/spree_cm_commissioner/option_type_attr_type.rb +1 -2
- data/app/models/concerns/spree_cm_commissioner/order_state_machine.rb +1 -33
- data/app/models/concerns/spree_cm_commissioner/product_delegation.rb +0 -2
- data/app/models/concerns/spree_cm_commissioner/product_type.rb +1 -1
- data/app/models/concerns/spree_cm_commissioner/taxon_kind.rb +1 -3
- data/app/models/spree_cm_commissioner/import.rb +1 -2
- data/app/models/spree_cm_commissioner/product_decorator.rb +0 -53
- data/app/models/spree_cm_commissioner/role_decorator.rb +1 -4
- data/app/models/spree_cm_commissioner/taxon_decorator.rb +0 -23
- data/app/models/spree_cm_commissioner/taxonomy_decorator.rb +1 -19
- data/app/models/spree_cm_commissioner/tenant.rb +0 -9
- data/app/models/spree_cm_commissioner/user_decorator.rb +0 -5
- data/app/models/spree_cm_commissioner/variant_decorator.rb +0 -4
- data/app/models/spree_cm_commissioner/variant_options.rb +0 -4
- data/app/models/spree_cm_commissioner/vendor_decorator.rb +0 -4
- data/app/serializers/spree/v2/storefront/homepage_section_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/product_serializer_decorator.rb +1 -2
- data/app/serializers/spree/v2/storefront/role_serializer.rb +1 -1
- data/app/serializers/spree/v2/storefront/taxon_serializer_decorator.rb +1 -2
- data/app/serializers/spree/v2/tenant/homepage_section_serializer.rb +1 -1
- data/app/serializers/spree/v2/tenant/role_serializer.rb +1 -1
- data/app/services/spree_cm_commissioner/api_caches/invalidate.rb +0 -12
- data/app/services/spree_cm_commissioner/cart/add_guest.rb +2 -16
- data/app/views/spree/admin/homepage_section/_form.html.erb +0 -5
- data/app/views/spree_cm_commissioner/order_mailer/purchased_items/_items.html.erb +9 -12
- data/config/initializers/spree_permitted_attributes.rb +0 -11
- data/config/locales/en.yml +4 -50
- data/config/locales/km.yml +2 -34
- data/config/routes.rb +0 -28
- data/lib/spree_cm_commissioner/version.rb +1 -1
- data/lib/spree_cm_commissioner.rb +1 -7
- data/spree_cm_commissioner.gemspec +1 -1
- metadata +3 -132
- data/app/controllers/spree/api/v2/storefront/preview_products_controller.rb +0 -48
- data/app/controllers/spree/api/v2/storefront/preview_sections_controller.rb +0 -27
- data/app/controllers/spree/api/v2/storefront/preview_taxons_controller.rb +0 -18
- data/app/controllers/spree/api/v2/storefront/products_controller_decorator.rb +0 -15
- data/app/controllers/spree/api/v2/storefront/taxons_controller_decorator.rb +0 -15
- data/app/controllers/spree/api/v2/tenant/ad_campaigns_controller.rb +0 -25
- data/app/controllers/spree/api/v2/tenant/episodes_controller.rb +0 -38
- data/app/controllers/spree/api/v2/tenant/free_vote_claims_controller.rb +0 -37
- data/app/controllers/spree/api/v2/tenant/preview_products_controller.rb +0 -47
- data/app/controllers/spree/api/v2/tenant/preview_sections_controller.rb +0 -26
- data/app/controllers/spree/api/v2/tenant/preview_shows_controller.rb +0 -19
- data/app/controllers/spree/api/v2/tenant/preview_taxons_controller.rb +0 -19
- data/app/controllers/spree/api/v2/tenant/show_contestants_controller.rb +0 -52
- data/app/controllers/spree/api/v2/tenant/show_elimination_sessions_controller.rb +0 -57
- data/app/controllers/spree/api/v2/tenant/show_people_controller.rb +0 -49
- data/app/controllers/spree/api/v2/tenant/show_person_assignments_controller.rb +0 -36
- data/app/controllers/spree/api/v2/tenant/shows_controller.rb +0 -36
- data/app/controllers/spree/api/v2/tenant/votes_controller.rb +0 -94
- data/app/controllers/spree/api/v2/tenant/voting_contestants_controller.rb +0 -43
- data/app/controllers/spree/api/v2/tenant/voting_credit_transactions_controller.rb +0 -41
- data/app/controllers/spree/api/v2/tenant/voting_credits_controller.rb +0 -31
- data/app/jobs/spree_cm_commissioner/show_contestants/import_job.rb +0 -9
- data/app/jobs/spree_cm_commissioner/vote_fraud_event_job.rb +0 -9
- data/app/jobs/spree_cm_commissioner/voting_credit_allocation_job.rb +0 -10
- data/app/jobs/spree_cm_commissioner/voting_credit_de_allocation_job.rb +0 -10
- data/app/models/concerns/spree_cm_commissioner/voting_session_live_stream_concern.rb +0 -41
- data/app/models/spree_cm_commissioner/imports/import_contestant.rb +0 -7
- data/app/models/spree_cm_commissioner/maintenance_tasks/voting_session.rb +0 -36
- data/app/models/spree_cm_commissioner/preview_role.rb +0 -8
- data/app/models/spree_cm_commissioner/role_user_decorator.rb +0 -8
- data/app/models/spree_cm_commissioner/show.rb +0 -163
- data/app/models/spree_cm_commissioner/show_contestant.rb +0 -39
- data/app/models/spree_cm_commissioner/show_contestant_image.rb +0 -11
- data/app/models/spree_cm_commissioner/show_contestant_video.rb +0 -15
- data/app/models/spree_cm_commissioner/show_episode.rb +0 -108
- data/app/models/spree_cm_commissioner/show_person.rb +0 -15
- data/app/models/spree_cm_commissioner/show_person_assignment.rb +0 -21
- data/app/models/spree_cm_commissioner/show_person_image.rb +0 -11
- data/app/models/spree_cm_commissioner/vote.rb +0 -16
- data/app/models/spree_cm_commissioner/vote_fraud_event.rb +0 -20
- data/app/models/spree_cm_commissioner/voting_contestant.rb +0 -100
- data/app/models/spree_cm_commissioner/voting_credit.rb +0 -72
- data/app/models/spree_cm_commissioner/voting_credit_transaction.rb +0 -55
- data/app/models/spree_cm_commissioner/voting_session.rb +0 -216
- data/app/models/spree_cm_commissioner/voting_session_stat.rb +0 -8
- data/app/overrides/spree/admin/orders/_search/payment_number_search_field.html.erb.deface +0 -8
- data/app/overrides/spree/admin/products/_form/enable_telegram_alert.html.erb.deface +0 -14
- data/app/overrides/spree/admin/products/_form/preview_checkbox.html.erb.deface +0 -9
- data/app/overrides/spree/admin/taxons/_form/preview_checkbox.html.erb.deface +0 -7
- data/app/serializers/spree/v2/tenant/ad_campaign_serializer.rb +0 -13
- data/app/serializers/spree/v2/tenant/advertisement_serializer.rb +0 -11
- data/app/serializers/spree/v2/tenant/show_contestant_serializer.rb +0 -21
- data/app/serializers/spree/v2/tenant/show_episode_serializer.rb +0 -20
- data/app/serializers/spree/v2/tenant/show_parent_serializer.rb +0 -13
- data/app/serializers/spree/v2/tenant/show_person_assignment_serializer.rb +0 -16
- data/app/serializers/spree/v2/tenant/show_person_serializer.rb +0 -13
- data/app/serializers/spree/v2/tenant/show_serializer.rb +0 -23
- data/app/serializers/spree/v2/tenant/video_serializer.rb +0 -9
- data/app/serializers/spree/v2/tenant/vote_package_serializer.rb +0 -9
- data/app/serializers/spree/v2/tenant/vote_serializer.rb +0 -14
- data/app/serializers/spree/v2/tenant/voting_contestant_serializer.rb +0 -23
- data/app/serializers/spree/v2/tenant/voting_credit_serializer.rb +0 -10
- data/app/serializers/spree/v2/tenant/voting_credit_transaction_serializer.rb +0 -14
- data/app/serializers/spree/v2/tenant/voting_session_serializer.rb +0 -21
- data/app/services/spree_cm_commissioner/fraud_check.rb +0 -299
- data/app/services/spree_cm_commissioner/imports/contestants/create.rb +0 -153
- data/app/services/spree_cm_commissioner/show_contestants/normalize_video_highlights.rb +0 -57
- data/app/services/spree_cm_commissioner/show_persons/contestant_assigner.rb +0 -51
- data/app/services/spree_cm_commissioner/url_embed/youtube_embed.rb +0 -44
- data/app/services/spree_cm_commissioner/vote_counters/audit_counters.rb +0 -43
- data/app/services/spree_cm_commissioner/vote_counters/base.rb +0 -31
- data/app/services/spree_cm_commissioner/vote_counters/increment.rb +0 -44
- data/app/services/spree_cm_commissioner/vote_counters/per_contestant_counter.rb +0 -68
- data/app/services/spree_cm_commissioner/vote_counters/rebuild_from_db.rb +0 -70
- data/app/services/spree_cm_commissioner/vote_counters/snapshot_to_db.rb +0 -113
- data/app/services/spree_cm_commissioner/vote_credit_deductor.rb +0 -68
- data/app/services/spree_cm_commissioner/vote_package/create.rb +0 -145
- data/app/services/spree_cm_commissioner/vote_package/update.rb +0 -91
- data/app/services/spree_cm_commissioner/vote_processor.rb +0 -144
- data/app/services/spree_cm_commissioner/voting_contestants/advancer.rb +0 -335
- data/app/services/spree_cm_commissioner/voting_contestants/assigner.rb +0 -40
- data/app/services/spree_cm_commissioner/voting_contestants/bulk_updater.rb +0 -106
- data/app/services/spree_cm_commissioner/voting_credits/allocate.rb +0 -77
- data/app/services/spree_cm_commissioner/voting_credits/claim_free_votes.rb +0 -119
- data/app/services/spree_cm_commissioner/voting_credits/credit_calculator.rb +0 -35
- data/app/services/spree_cm_commissioner/voting_credits/de_allocate.rb +0 -87
- data/app/services/spree_cm_commissioner/voting_leaderboards/calculate_score.rb +0 -67
- data/app/services/spree_cm_commissioner/voting_leaderboards/combined_result.rb +0 -190
- data/app/services/spree_cm_commissioner/voting_sessions/finalize.rb +0 -105
- data/db/migrate/20260309230148_create_cm_show_people.rb +0 -14
- data/db/migrate/20260309230149_create_cm_show_people_assignments.rb +0 -16
- data/db/migrate/20260310082711_create_cm_show_contestants.rb +0 -28
- data/db/migrate/20260310082720_create_cm_voting_sessions.rb +0 -21
- data/db/migrate/20260310082721_create_cm_voting_contestants.rb +0 -23
- data/db/migrate/20260310082734_add_voting_fields_to_spree_taxons.rb +0 -9
- data/db/migrate/20260310082735_add_type_to_spree_products.rb +0 -6
- data/db/migrate/20260310082749_create_cm_voting_credits.rb +0 -27
- data/db/migrate/20260326080200_create_cm_voting_credit_transactions.rb +0 -27
- data/db/migrate/20260330160000_create_cm_votes.rb +0 -25
- data/db/migrate/20260401072500_add_advanced_from_to_cm_voting_contestants.rb +0 -7
- data/db/migrate/20260402000001_add_voting_credit_scope_to_spree_taxons.rb +0 -6
- data/db/migrate/20260402000002_rename_scopeable_to_votable_in_cm_voting_credits.rb +0 -12
- data/db/migrate/20260403070000_add_name_to_cm_voting_sessions.rb +0 -5
- data/db/migrate/20260406000001_add_vendor_id_to_voting_tables.rb +0 -6
- data/db/migrate/20260406000001_rename_votes_remaining_to_amount_in_cm_voting_credits.rb +0 -11
- data/db/migrate/20260408085255_add_show_id_and_vendor_id_to_cm_voting_sessions.rb +0 -9
- data/db/migrate/20260420000001_rename_type_to_credit_type_in_cm_voting_credits.rb +0 -25
- data/db/migrate/20260422000001_create_cm_vote_fraud_events.rb +0 -23
- data/db/migrate/20260423000001_add_preview_to_taxons_products_and_sections.rb +0 -11
- data/db/migrate/20260423000002_create_preview_roles.rb +0 -24
- data/db/migrate/20260515120000_add_public_metadata_to_cm_voting_sessions.rb +0 -5
- data/db/migrate/20260518090920_add_unique_voter_count_to_voting_contestants.rb +0 -5
- data/db/migrate/20260518094322_create_cm_voting_session_stats.rb +0 -17
- data/db/migrate/20260520000001_add_scoring_model_to_cm_voting_sessions.rb +0 -5
- data/db/migrate/20260520000001_optimize_cm_votes_indexes.rb +0 -22
- data/db/migrate/20260525042257_add_vote_number_to_cm_voting_contestants.rb +0 -18
- data/db/migrate/20260527035430_add_confirmed_rank_to_cm_voting_contestants.rb +0 -5
- data/db/migrate/20260527062005_add_eliminated_at_to_cm_show_contestants.rb +0 -5
- data/db/migrate/20260603063652_add_parent_to_voting_sessions.rb +0 -9
- data/db/migrate/20260603090000_add_session_type_to_cm_voting_sessions.rb +0 -6
- data/db/migrate/20260608000000_add_display_to_cm_voting_sessions.rb +0 -5
- data/docs/sql/jsonb_query_guide.md +0 -57
- data/lib/spree_cm_commissioner/test_helper/factories/show_episode_factory.rb +0 -12
- data/lib/spree_cm_commissioner/test_helper/factories/show_factory.rb +0 -120
- data/lib/spree_cm_commissioner/test_helper/factories/vote_credit_factory.rb +0 -37
- data/lib/spree_cm_commissioner/test_helper/factories/vote_factory.rb +0 -28
- data/lib/spree_cm_commissioner/test_helper/factories/voting_credit_transaction_factory.rb +0 -11
- data/lib/spree_cm_commissioner/test_helper/factories/voting_session_factory.rb +0 -11
|
@@ -24,8 +24,6 @@ module SpreeCmCommissioner
|
|
|
24
24
|
|
|
25
25
|
before_validation :generate_slug, if: -> { slug.blank? && name.present? }
|
|
26
26
|
|
|
27
|
-
validate :single_active_vendor
|
|
28
|
-
|
|
29
27
|
def active_vendor
|
|
30
28
|
vendors.where(state: :active).first
|
|
31
29
|
end
|
|
@@ -45,12 +43,5 @@ module SpreeCmCommissioner
|
|
|
45
43
|
def generate_slug
|
|
46
44
|
self.slug = name.parameterize if slug.blank?
|
|
47
45
|
end
|
|
48
|
-
|
|
49
|
-
# Add Guardrails to ensure data integrity and make system predictable.
|
|
50
|
-
def single_active_vendor
|
|
51
|
-
return unless vendors.where(state: :active).count > 1
|
|
52
|
-
|
|
53
|
-
errors.add(:base, 'must have at most one active vendor')
|
|
54
|
-
end
|
|
55
46
|
end
|
|
56
47
|
end
|
|
@@ -19,8 +19,6 @@ module SpreeCmCommissioner
|
|
|
19
19
|
base.has_many :payments, as: :payable, class_name: 'Spree::Payment', dependent: :nullify
|
|
20
20
|
base.has_many :role_permissions, through: :spree_roles, class_name: 'SpreeCmCommissioner::RolePermission'
|
|
21
21
|
base.has_many :permissions, through: :role_permissions, class_name: 'SpreeCmCommissioner::Permission'
|
|
22
|
-
base.has_many :preview_spree_roles, -> { where(role_type: :preview) }, through: :role_users, source: :role, class_name: 'Spree::Role'
|
|
23
|
-
base.has_many :preview_roles, through: :preview_spree_roles, class_name: 'SpreeCmCommissioner::PreviewRole'
|
|
24
22
|
base.has_many :line_items, through: :orders, source: :line_items
|
|
25
23
|
base.has_many :check_ins, foreign_key: 'check_in_by_id', class_name: 'SpreeCmCommissioner::CheckIn'
|
|
26
24
|
base.has_many :user_events, class_name: 'SpreeCmCommissioner::UserEvent'
|
|
@@ -37,9 +35,6 @@ module SpreeCmCommissioner
|
|
|
37
35
|
base.has_many :user_agencies, class_name: 'SpreeCmCommissioner::UserAgency'
|
|
38
36
|
base.has_many :user_places, class_name: 'SpreeCmCommissioner::UserPlace'
|
|
39
37
|
base.has_many :places, through: :user_places, class_name: 'SpreeCmCommissioner::Place'
|
|
40
|
-
base.has_many :voting_credits, class_name: 'SpreeCmCommissioner::VotingCredit', dependent: :destroy
|
|
41
|
-
base.has_many :votes, class_name: 'SpreeCmCommissioner::Vote', dependent: :destroy
|
|
42
|
-
base.has_many :voting_credit_transactions, through: :voting_credits, class_name: 'SpreeCmCommissioner::VotingCreditTransaction'
|
|
43
38
|
|
|
44
39
|
base.has_one :profile, as: :viewable, dependent: :destroy, class_name: 'SpreeCmCommissioner::UserProfile'
|
|
45
40
|
base.has_one :customer, class_name: 'SpreeCmCommissioner::Customer'
|
|
@@ -48,10 +48,6 @@ module SpreeCmCommissioner
|
|
|
48
48
|
public_metadata[:preload_options_text].presence || Spree::Variants::VisibleOptionsPresenter.new(self).to_sentence
|
|
49
49
|
end
|
|
50
50
|
|
|
51
|
-
def vote_credits
|
|
52
|
-
options.vote_package_amount
|
|
53
|
-
end
|
|
54
|
-
|
|
55
51
|
def delivery_required?
|
|
56
52
|
delivery_option == 'delivery'
|
|
57
53
|
end
|
|
@@ -146,10 +146,6 @@ module SpreeCmCommissioner
|
|
|
146
146
|
@seat_type ||= option_value_name_for(option_type_name: 'seat-type')
|
|
147
147
|
end
|
|
148
148
|
|
|
149
|
-
def vote_package_amount
|
|
150
|
-
@vote_package_amount ||= option_value_name_for(option_type_name: 'vote-package')&.to_i
|
|
151
|
-
end
|
|
152
|
-
|
|
153
149
|
# can consider as customers.
|
|
154
150
|
def number_of_guests
|
|
155
151
|
number_of_adults + number_of_kids
|
|
@@ -33,10 +33,6 @@ module SpreeCmCommissioner
|
|
|
33
33
|
|
|
34
34
|
base.has_many :taxon_vendors, class_name: 'SpreeCmCommissioner::TaxonVendor'
|
|
35
35
|
base.has_many :taxons, through: :taxon_vendors
|
|
36
|
-
base.has_many :shows, -> { where(spree_taxons: { type: 'SpreeCmCommissioner::Show' }) },
|
|
37
|
-
through: :taxon_vendors, source: :taxon, class_name: 'SpreeCmCommissioner::Show'
|
|
38
|
-
|
|
39
|
-
base.has_many :voting_sessions, class_name: 'SpreeCmCommissioner::VotingSession', dependent: :destroy
|
|
40
36
|
|
|
41
37
|
base.has_many :promoted_option_types, -> { where(promoted: true).order(:position) },
|
|
42
38
|
through: :vendor_option_types, source: :option_type
|
|
@@ -2,7 +2,7 @@ module Spree
|
|
|
2
2
|
module V2
|
|
3
3
|
module Storefront
|
|
4
4
|
class HomepageSectionSerializer < BaseSerializer
|
|
5
|
-
attributes :id, :title, :segments, :description, :active, :position, :
|
|
5
|
+
attributes :id, :title, :segments, :description, :active, :position, :created_at, :updated_at
|
|
6
6
|
has_many :homepage_section_relatables
|
|
7
7
|
end
|
|
8
8
|
end
|
|
@@ -14,8 +14,7 @@ module Spree
|
|
|
14
14
|
|
|
15
15
|
base.attributes :need_confirmation, :product_type, :kyc, :kyc_fields, :allowed_upload_later, :allow_anonymous_booking,
|
|
16
16
|
:use_video_as_default, :allow_transfer, :allow_gift_transfer
|
|
17
|
-
|
|
18
|
-
base.attributes :reveal_description, :discontinue_on, :public_metadata, :purchasable_on, :preview,
|
|
17
|
+
base.attributes :reveal_description, :discontinue_on, :public_metadata, :purchasable_on,
|
|
19
18
|
:enable_inventory_hold
|
|
20
19
|
|
|
21
20
|
# Expose only the `event_id` here instead of the full event object.
|
|
@@ -17,8 +17,7 @@ module Spree
|
|
|
17
17
|
|
|
18
18
|
base.attributes :custom_redirect_url, :kind, :subtitle, :from_date, :to_date,
|
|
19
19
|
:background_color, :foreground_color, :show_badge_status,
|
|
20
|
-
:purchasable_on, :vendor_id, :available_on, :hide_video_banner
|
|
21
|
-
:preview
|
|
20
|
+
:purchasable_on, :vendor_id, :available_on, :hide_video_banner
|
|
22
21
|
|
|
23
22
|
# To get full seat layout details, call the seat_layouts API with this ID.
|
|
24
23
|
base.attribute :seat_layout_ids, &:preload_seat_layout_ids
|
|
@@ -3,7 +3,7 @@ module Spree
|
|
|
3
3
|
module Tenant
|
|
4
4
|
class HomepageSectionSerializer < BaseSerializer
|
|
5
5
|
attributes :id, :title, :segments, :description,
|
|
6
|
-
:active, :position, :
|
|
6
|
+
:active, :position, :created_at, :updated_at
|
|
7
7
|
|
|
8
8
|
has_many :homepage_section_relatables, serializer: ::Spree::V2::Tenant::HomepageSectionRelatableSerializer
|
|
9
9
|
end
|
|
@@ -66,19 +66,12 @@ module SpreeCmCommissioner
|
|
|
66
66
|
'/api/v2/storefront/homepage_data*'
|
|
67
67
|
],
|
|
68
68
|
'Spree::Taxon' => ['/api/v2/storefront/taxons/:id*'],
|
|
69
|
-
'SpreeCmCommissioner::Show' => ['/api/v2/storefront/taxons/:id*'],
|
|
70
69
|
'Spree::Product' => [
|
|
71
70
|
'/api/v2/tenant/products/:id*',
|
|
72
71
|
'/api/v2/tenant/products/:slug*',
|
|
73
72
|
'/api/v2/storefront/products/:id*',
|
|
74
73
|
'/api/v2/storefront/products/:slug*'
|
|
75
74
|
],
|
|
76
|
-
'SpreeCmCommissioner::ShowEpisode' => [
|
|
77
|
-
'/api/v2/tenant/products/:id*',
|
|
78
|
-
'/api/v2/tenant/products/:slug*',
|
|
79
|
-
'/api/v2/storefront/products/:id*',
|
|
80
|
-
'/api/v2/storefront/products/:slug*'
|
|
81
|
-
],
|
|
82
75
|
'Spree::Vendor' => [
|
|
83
76
|
'/api/v2/tenant/vendors/:id*',
|
|
84
77
|
'/api/v2/storefront/vendors/:id*',
|
|
@@ -94,15 +87,10 @@ module SpreeCmCommissioner
|
|
|
94
87
|
'SpreeCmCommissioner::HomepageBackground' => homepage_background_patterns,
|
|
95
88
|
'Spree::Menu' => ['/api/v2/storefront/menus/*'],
|
|
96
89
|
'Spree::Taxon' => ['/api/v2/storefront/taxons/*'],
|
|
97
|
-
'SpreeCmCommissioner::Show' => ['/api/v2/storefront/taxons/*'],
|
|
98
90
|
'Spree::Product' => [
|
|
99
91
|
'/api/v2/tenant/products/*',
|
|
100
92
|
'/api/v2/storefront/products/*'
|
|
101
93
|
],
|
|
102
|
-
'SpreeCmCommissioner::ShowEpisode' => [
|
|
103
|
-
'/api/v2/tenant/products/*',
|
|
104
|
-
'/api/v2/storefront/products/*'
|
|
105
|
-
],
|
|
106
94
|
'Spree::Vendor' => [
|
|
107
95
|
'/api/v2/tenant/vendors/*',
|
|
108
96
|
'/api/v2/storefront/vendors/*',
|
|
@@ -13,23 +13,9 @@ module SpreeCmCommissioner
|
|
|
13
13
|
create_blank_guest(line_item)
|
|
14
14
|
increase_quantity(line_item) if should_increase_quantity?(line_item)
|
|
15
15
|
recalculate_cart(order, line_item)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
success(order: order, line_item: line_item)
|
|
19
|
-
rescue ActiveRecord::RecordInvalid => e
|
|
20
|
-
# Convert ONLY the out-of-stock failure into a failure result. The stock validator
|
|
21
|
-
# tags its error with the type :selected_quantity_not_available (see
|
|
22
|
-
# Spree::Stock::AvailabilityValidator), so we match on that type rather than on any
|
|
23
|
-
# RecordInvalid. The raise rolls back the lock transaction (so the blank guest is
|
|
24
|
-
# not persisted); returning it as a failure lets the caller render the overridden
|
|
25
|
-
# availability message instead of a 500.
|
|
26
|
-
#
|
|
27
|
-
# Anything else a different line item validation, or an invalid order/shipment
|
|
28
|
-
# raised by recalculate_cart is re-raised so genuine backend errors are not
|
|
29
|
-
# masked behind an empty quantity error.
|
|
30
|
-
raise unless e.record == line_item && e.record.errors.of_kind?(:quantity, :selected_quantity_not_available)
|
|
31
16
|
|
|
32
|
-
|
|
17
|
+
success(order: order, line_item: line_item)
|
|
18
|
+
end
|
|
33
19
|
end
|
|
34
20
|
|
|
35
21
|
private
|
|
@@ -32,11 +32,6 @@
|
|
|
32
32
|
<%= f.label :active %>
|
|
33
33
|
<%= f.check_box :active %>
|
|
34
34
|
<% end %>
|
|
35
|
-
<%= f.field_container :preview, class: ['custom-control', 'custom-checkbox', 'my-4'] do %>
|
|
36
|
-
<%= f.check_box :preview, class: 'custom-control-input' %>
|
|
37
|
-
<%= f.label :preview, 'Preview (internal team only)', class: 'custom-control-label' %>
|
|
38
|
-
<%= f.error_message_on :preview %>
|
|
39
|
-
<% end %>
|
|
40
35
|
</div>
|
|
41
36
|
</div>
|
|
42
37
|
</div>
|
|
@@ -61,18 +61,15 @@
|
|
|
61
61
|
<% end %>
|
|
62
62
|
</td>
|
|
63
63
|
</tr>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
<
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
</td>
|
|
74
|
-
</tr>
|
|
75
|
-
<% end %>
|
|
64
|
+
<tr>
|
|
65
|
+
<td></td>
|
|
66
|
+
<td align="left" style="padding-top:6px;">
|
|
67
|
+
<%= link_to(
|
|
68
|
+
raw('<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="display: inline-block; vertical-align: middle; margin-right: 8px;"><rect width="5" height="5" x="3" y="3" rx="1"/><rect width="5" height="5" x="16" y="3" rx="1"/><rect width="5" height="5" x="3" y="16" rx="1"/><path d="M21 16h-3a2 2 0 0 0-2 2v3"/><path d="M21 21v.01"/><path d="M12 7v3a2 2 0 0 1-2 2H7"/><path d="M3 12h.01"/><path d="M12 3h.01"/><path d="M12 16v.01"/><path d="M16 12h1"/><path d="M21 12v.01"/><path d="M12 21v-1"/></svg> View Your Digital Ticket'),
|
|
69
|
+
custom_product_line_item_url(line_item), class: "btn-primary", target: :_blank
|
|
70
|
+
) %>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
76
73
|
</table>
|
|
77
74
|
</td>
|
|
78
75
|
</tr>
|
|
@@ -6,9 +6,6 @@ module Spree
|
|
|
6
6
|
@@vendor_attributes << :logo
|
|
7
7
|
@@vendor_attributes << :service_origin_id
|
|
8
8
|
|
|
9
|
-
# store_accessor key (public_metadata), not a DB column, so it must be permitted explicitly
|
|
10
|
-
@@product_attributes << :enable_telegram_alert unless @@product_attributes.include?(:enable_telegram_alert)
|
|
11
|
-
|
|
12
9
|
# Permitted all guest attributes for now as permitting only some guest attributes is not working by design
|
|
13
10
|
# of spree add_item service, if we want to only permit some guest attributes,
|
|
14
11
|
# we need to override most part of add_item service.
|
|
@@ -50,10 +47,6 @@ module Spree
|
|
|
50
47
|
available_on
|
|
51
48
|
hide_video_banner
|
|
52
49
|
vendor_id
|
|
53
|
-
type
|
|
54
|
-
voting_config
|
|
55
|
-
fraud_config
|
|
56
|
-
preview
|
|
57
50
|
]
|
|
58
51
|
|
|
59
52
|
@@store_attributes += [
|
|
@@ -111,9 +104,5 @@ module Spree
|
|
|
111
104
|
route_stops
|
|
112
105
|
terms_and_conditions
|
|
113
106
|
]
|
|
114
|
-
|
|
115
|
-
@@product_attributes += %i[
|
|
116
|
-
preview
|
|
117
|
-
]
|
|
118
107
|
end
|
|
119
108
|
end
|
data/config/locales/en.yml
CHANGED
|
@@ -216,11 +216,7 @@ en:
|
|
|
216
216
|
riel: "៛"
|
|
217
217
|
|
|
218
218
|
spree:
|
|
219
|
-
|
|
220
|
-
reversion_error: "Cannot eliminate here yet. This contestant appears in a later session."
|
|
221
|
-
is_open_dated: "Is Open Dated Trip?"
|
|
222
|
-
description: "Description"
|
|
223
|
-
enable_telegram_alert: Enable Telegram Alert
|
|
219
|
+
description: Description
|
|
224
220
|
registered_by:
|
|
225
221
|
system_registered: "System Registered"
|
|
226
222
|
self_registered: "Self Registered"
|
|
@@ -418,9 +414,6 @@ en:
|
|
|
418
414
|
zero: "Rooms are not available on %{date}"
|
|
419
415
|
one: "Only 1 room available on %{date}"
|
|
420
416
|
other: "Only %{count} rooms available on %{date}"
|
|
421
|
-
# Overrides Spree core's "selected of %{item} is not available." Must stay under
|
|
422
|
-
# `spree:` -- Spree::Stock::AvailabilityValidator looks it up as Spree.t(:selected_quantity_not_available).
|
|
423
|
-
selected_quantity_not_available: "Not enough %{item} are available for the quantity you selected. Please try again."
|
|
424
417
|
auto_apply: "Auto apply"
|
|
425
418
|
auto_apply_info: "Path & code will be removed"
|
|
426
419
|
transit:
|
|
@@ -538,10 +531,6 @@ en:
|
|
|
538
531
|
attributes:
|
|
539
532
|
exception_rules:
|
|
540
533
|
invalid_json: "is not a valid format"
|
|
541
|
-
spree_cm_commissioner/show_contestant:
|
|
542
|
-
attributes:
|
|
543
|
-
video_highlights:
|
|
544
|
-
invalid_json: "is not a valid format"
|
|
545
534
|
spree_cm_commissioner/customer:
|
|
546
535
|
attributes:
|
|
547
536
|
base:
|
|
@@ -553,20 +542,6 @@ en:
|
|
|
553
542
|
attributes:
|
|
554
543
|
place_id:
|
|
555
544
|
taken: "has already existed with this place type"
|
|
556
|
-
spree_cm_commissioner/voting_session:
|
|
557
|
-
attributes:
|
|
558
|
-
closes_at:
|
|
559
|
-
must_be_after_opens_at: "must be after opens_at"
|
|
560
|
-
must_not_exceed_parent: "cannot be after parent session closes_at"
|
|
561
|
-
parent_id:
|
|
562
|
-
must_have_contestants: '"%{name}" must have contestants assigned'
|
|
563
|
-
spree_cm_commissioner/voting_contestant:
|
|
564
|
-
attributes:
|
|
565
|
-
base:
|
|
566
|
-
last_contestant_in_parent_session: 'cannot remove the last contestant from "%{session_name}" because child sessions depend on it'
|
|
567
|
-
advanced_from_session: 'was advanced from a previous session and cannot be removed directly. Clear the advancement in the source session instead.'
|
|
568
|
-
pre_vote_session: 'cannot be removed from a pre-vote session.'
|
|
569
|
-
has_advanced_to_session: 'has been assigned to advance to another session. Clear the advancement first before removing this contestant.'
|
|
570
545
|
spree_cm_commissioner/tenant:
|
|
571
546
|
attributes:
|
|
572
547
|
host:
|
|
@@ -726,10 +701,6 @@ en:
|
|
|
726
701
|
FPS_TWEENTY_FOUR: "24 (Cinematic Mode)"
|
|
727
702
|
FPS_THIRTY: "30 (TV Show or Online Video)"
|
|
728
703
|
FPS_SIXTY: "60 (Sport and Gaming)"
|
|
729
|
-
import_contestants:
|
|
730
|
-
missing_file: "Please select a file to import."
|
|
731
|
-
queued: "Import queued. Contestants will be created in the background."
|
|
732
|
-
|
|
733
704
|
import_orders:
|
|
734
705
|
invalid_file: "Invalid File upload"
|
|
735
706
|
invalid_json_format: "Invalid JSON format for orders"
|
|
@@ -744,7 +715,7 @@ en:
|
|
|
744
715
|
inventory_hold:
|
|
745
716
|
acquire:
|
|
746
717
|
success: "Item reserved for %{minutes} minutes"
|
|
747
|
-
insufficient_stock: "
|
|
718
|
+
insufficient_stock: "Sorry, this item is no longer available."
|
|
748
719
|
limit_exceeded: "You have too many pending reservations. Please complete or cancel a reservation before trying another."
|
|
749
720
|
system_error: "We encountered an issue reserving this item. Please try again."
|
|
750
721
|
lock_timeout: "Another reservation is in progress for this order. Please wait and try again."
|
|
@@ -806,25 +777,7 @@ en:
|
|
|
806
777
|
token_missing: "Verification token is missing"
|
|
807
778
|
verification_failed: "Human verification failed"
|
|
808
779
|
service_unavailable: "Verification service is temporarily unavailable"
|
|
809
|
-
|
|
810
|
-
voting_contestants:
|
|
811
|
-
assigner:
|
|
812
|
-
not_eliminated: "Only eliminated contestants can be added to a Save Contestants session. %{name} is %{status}."
|
|
813
|
-
voting_leaderboards:
|
|
814
|
-
combined_result:
|
|
815
|
-
pre_vote_not_finalized: "Cannot combine results: Pre-Vote sessions not yet finalized: %{names}"
|
|
816
|
-
|
|
817
|
-
voting:
|
|
818
|
-
errors:
|
|
819
|
-
rate_limit_user: "You're voting too fast. Please wait a moment before voting again."
|
|
820
|
-
rate_limit_ip: "Too many votes from your network. Please try again shortly."
|
|
821
|
-
device_account_limit: "This device has been used by too many accounts."
|
|
822
|
-
vpn_blocked: "Voting is not allowed from VPN or proxy connections."
|
|
823
|
-
contestant_vote_cap_exceeded: "You have reached the maximum number of votes allowed for this contestant."
|
|
824
|
-
no_winners_confirmed: "No winners confirmed"
|
|
825
|
-
all_contestants_must_be_ranked: "All non-eliminated contestants must be ranked"
|
|
826
|
-
save_advance_to_session_required: "A target voting session must be selected to advance saved contestants"
|
|
827
|
-
advance_to_session_not_found: "The selected target session could not be found"
|
|
780
|
+
|
|
828
781
|
ticket_transfer:
|
|
829
782
|
rules:
|
|
830
783
|
rule_already_exists_for_scope: "An active transfer fee rule already exists for %{scope_type} with currency %{currency}"
|
|
@@ -870,3 +823,4 @@ en:
|
|
|
870
823
|
cooldown_active: "Please wait %{hours_remaining} hour(s) before attempting another transfer"
|
|
871
824
|
max_transfers_reached: "This ticket has reached the maximum number of transfers (%{limit})"
|
|
872
825
|
event_cutoff_reached: "Transfers are no longer allowed less than %{hours} hour(s) before the event starts"
|
|
826
|
+
|
data/config/locales/km.yml
CHANGED
|
@@ -200,8 +200,6 @@ km:
|
|
|
200
200
|
riel: "៛"
|
|
201
201
|
|
|
202
202
|
spree:
|
|
203
|
-
voting_contestant_advancer:
|
|
204
|
-
reversion_error: "មិនអាចដកចេញនៅវគ្គនេះបានទេ។ បេក្ខជននេះមាននៅវគ្គបោះឆ្នោតក្រោយ។"
|
|
205
203
|
registered_by:
|
|
206
204
|
system_registered: "ចុះឈ្មោះដោយប្រព័ន្ធ"
|
|
207
205
|
self_registered: "ចុះឈ្មោះដោយខ្លួនឯង"
|
|
@@ -359,7 +357,6 @@ km:
|
|
|
359
357
|
unknown: "មិនស្គាល់"
|
|
360
358
|
upsupported_payment: "មិនស្គាល់ការបង់ប្រាក់"
|
|
361
359
|
selected_item_not_available_on_date: "Selected item not available on %{date}"
|
|
362
|
-
selected_quantity_not_available: "%{item} នៅសល់តិចជាងការអ្នកស្នើសុំរបស់អ្នក ឬអស់ពីស្តុក សូមព្យាយាមម្ដងទៀត។"
|
|
363
360
|
auto_apply: "ដាក់ប្រើដោយស្វ័យប្រវត្តិ"
|
|
364
361
|
auto_apply_info: "Path & code will be removed"
|
|
365
362
|
device_tokens: "Device Tokens"
|
|
@@ -409,24 +406,6 @@ km:
|
|
|
409
406
|
attributes:
|
|
410
407
|
exception_rules:
|
|
411
408
|
invalid_json: "Format មិនត្រឹមត្រូវ"
|
|
412
|
-
spree_cm_commissioner/show_contestant:
|
|
413
|
-
attributes:
|
|
414
|
-
video_highlights:
|
|
415
|
-
invalid_json: "Format មិនត្រឹមត្រូវ"
|
|
416
|
-
spree_cm_commissioner/voting_session:
|
|
417
|
-
attributes:
|
|
418
|
-
closes_at:
|
|
419
|
-
must_be_after_opens_at: "ត្រូវតែក្រោយ opens_at"
|
|
420
|
-
must_not_exceed_parent: "មិនអាចក្រោយ closes_at របស់ session មេ"
|
|
421
|
-
parent_id:
|
|
422
|
-
must_have_contestants: '"%{name}" ត្រូវតែមានអ្នកចូលប្រកួត'
|
|
423
|
-
spree_cm_commissioner/voting_contestant:
|
|
424
|
-
attributes:
|
|
425
|
-
base:
|
|
426
|
-
last_contestant_in_parent_session: 'មិនអាចដកអ្នកចូលប្រកួតចុងក្រោយពី "%{session_name}" ព្រោះ session កូនពឹងផ្អែកលើវា'
|
|
427
|
-
advanced_from_session: 'ត្រូវបានដំឡើងពី session មុន ហើយមិនអាចដកចេញដោយផ្ទាល់បានទេ។ សូមលុបការដំឡើងនៅក្នុង session ប្រភពជំនួសវិញ។'
|
|
428
|
-
pre_vote_session: 'មិនអាចដកចេញពី pre-vote session បានទេ។'
|
|
429
|
-
has_advanced_to_session: 'ត្រូវបានកំណត់ឱ្យដំឡើងទៅ session មួយទៀត។ សូមលុបការដំឡើងជាមុនសិន មុននឹងដកអ្នកចូលប្រកួតនេះចេញ។'
|
|
430
409
|
spree_cm_commissioner/tenant:
|
|
431
410
|
attributes:
|
|
432
411
|
host:
|
|
@@ -539,7 +518,7 @@ km:
|
|
|
539
518
|
inventory_hold:
|
|
540
519
|
acquire:
|
|
541
520
|
success: "ទំនិញត្រូវបានកក់រយៈពេល %{minutes} នាទី"
|
|
542
|
-
insufficient_stock: "
|
|
521
|
+
insufficient_stock: "សុំទោស! ទំនិញមិនមានស្តុកគ្រប់គ្រាន់សម្រាប់ការកក់របស់អ្នកទេ។"
|
|
543
522
|
limit_exceeded: "អ្នកមានការកក់ដែលរង់ចាំច្រើនពេក។ សូមបញ្ចប់ ឬលុបការកក់មួយមុនពេលព្យាយាមវិញ។"
|
|
544
523
|
system_error: "មានបញ្ហាក្នុងការកក់ទំនិញនេះ។ សូមព្យាយាមម្តងទៀត។"
|
|
545
524
|
lock_timeout: "កំពុងកក់សម្រាប់ការបញ្ជាទិញនេះ។ សូមរង់ចាំ ហើយព្យាយាមម្តងទៀត។"
|
|
@@ -653,17 +632,7 @@ km:
|
|
|
653
632
|
turnstile:
|
|
654
633
|
token_missing: "សញ្ញាណផ្ទៀងផ្ទាត់គឺបាត់"
|
|
655
634
|
service_unavailable: "សេវាកម្មពេលនេះមិនមានការផ្ទៀងផ្ទាត់"
|
|
656
|
-
|
|
657
|
-
spree_cm_commissioner:
|
|
658
|
-
voting_contestants:
|
|
659
|
-
assigner:
|
|
660
|
-
not_eliminated: "តែអ្នកចូលប្រកួតដែលត្រូវបានលុបចោលប៉ុណ្ណោះអាចបន្ថែមទៅ Save Contestants session បាន។ %{name} មានស្ថានភាព %{status}។"
|
|
661
|
-
voting:
|
|
662
|
-
errors:
|
|
663
|
-
no_winners_confirmed: "មិនមានអ្នកឈ្នះត្រូវបានបញ្ជាក់"
|
|
664
|
-
all_contestants_must_be_ranked: "អ្នកចូលរួមទាំងអស់ដែលមិនត្រូវបានលុបចោលត្រូវតែមានចំណាត់ថ្នាក់"
|
|
665
|
-
save_advance_to_session_required: "ត្រូវតែជ្រើសរើសសម័យបោះឆ្នោតគោលដៅដើម្បីជំរុញអ្នកចូលរួមដែលបានជ្រើស"
|
|
666
|
-
advance_to_session_not_found: "រកមិនឃើញសម័យគោលដៅដែលបានជ្រើស"
|
|
635
|
+
verification_failed: "ការផ្ទៀងផ្ទាត់មនុស្សបានបរាជ័យ។ សូមព្យាយាមម្តងទៀត។"
|
|
667
636
|
|
|
668
637
|
ticket_transfer:
|
|
669
638
|
transfer_not_found: "រកមិនឃើញការផ្ទេរ"
|
|
@@ -707,4 +676,3 @@ km:
|
|
|
707
676
|
cooldown_active: "សូមរង់ចាំ %{hours_remaining} ម៉ោងមុនពេលព្យាយាមផ្ទេរម្តងទៀត"
|
|
708
677
|
max_transfers_reached: "សំបុត្រនេះបានឈានដល់ចំនួនផ្ទេរអតិបរមា (%{limit})"
|
|
709
678
|
event_cutoff_reached: "ការផ្ទេរមិនត្រូវបានអនុញ្ញាតឡើយក្នុងរយៈពេល %{hours} ម៉ោងមុនពេលព្រឹត្តិការណ៍ចាប់ផ្តើម"
|
|
710
|
-
verification_failed: "ការផ្ទៀងផ្ទាត់មនុស្សបានបរាជ័យ។ សូមព្យាយាមម្តងទៀត។"
|
data/config/routes.rb
CHANGED
|
@@ -511,7 +511,6 @@ Spree::Core::Engine.add_routes do
|
|
|
511
511
|
resources :vendors
|
|
512
512
|
resources :products
|
|
513
513
|
resources :taxons, only: %i[index show], id: /.+/
|
|
514
|
-
resources :ad_campaigns, only: [:index]
|
|
515
514
|
|
|
516
515
|
resources :account_checker
|
|
517
516
|
resource :pin_code_checkers, only: [:update]
|
|
@@ -521,7 +520,6 @@ Spree::Core::Engine.add_routes do
|
|
|
521
520
|
|
|
522
521
|
resources :homepage, only: [] do
|
|
523
522
|
resources :homepage_sections, only: [:index]
|
|
524
|
-
resources :preview_sections, only: %i[index]
|
|
525
523
|
end
|
|
526
524
|
|
|
527
525
|
resource :account, controller: :account, only: %i[show update]
|
|
@@ -600,29 +598,6 @@ Spree::Core::Engine.add_routes do
|
|
|
600
598
|
resources :cms_pages, only: %i[index show]
|
|
601
599
|
resources :waiting_room_sessions, only: :create
|
|
602
600
|
|
|
603
|
-
resources :shows, only: [:show] do
|
|
604
|
-
resources :episodes, only: %i[index show]
|
|
605
|
-
resources :people, controller: :show_people, only: %i[index] do
|
|
606
|
-
resources :assignments, controller: :show_person_assignments, only: %i[index]
|
|
607
|
-
end
|
|
608
|
-
resources :contestants, controller: :show_contestants, only: %i[show]
|
|
609
|
-
resources :elimination_sessions, controller: :show_elimination_sessions, only: %i[index]
|
|
610
|
-
resources :free_vote_claims, only: :create
|
|
611
|
-
end
|
|
612
|
-
|
|
613
|
-
resources :voting_sessions, only: [] do
|
|
614
|
-
resources :voting_contestants, only: :index
|
|
615
|
-
resources :voting_credits, only: :index
|
|
616
|
-
resources :votes, only: %i[create index]
|
|
617
|
-
end
|
|
618
|
-
|
|
619
|
-
resources :voting_credit_transactions, only: :index
|
|
620
|
-
resources :votes, only: :index
|
|
621
|
-
|
|
622
|
-
resources :preview_taxons, only: %i[index show], id: /.+/
|
|
623
|
-
resources :preview_products, only: %i[index show]
|
|
624
|
-
resources :preview_shows, only: %i[show]
|
|
625
|
-
|
|
626
601
|
resources :order_histories, only: %i[index] do
|
|
627
602
|
member do
|
|
628
603
|
patch :archive
|
|
@@ -734,7 +709,6 @@ Spree::Core::Engine.add_routes do
|
|
|
734
709
|
resources :homepage, only: [] do
|
|
735
710
|
resources :homepage_sections, only: [:index]
|
|
736
711
|
resource :homepage_background, controller: :homepage_background, only: [:show]
|
|
737
|
-
resources :preview_sections, only: %i[index]
|
|
738
712
|
end
|
|
739
713
|
resources :active_homepage_events, only: [:index]
|
|
740
714
|
|
|
@@ -758,8 +732,6 @@ Spree::Core::Engine.add_routes do
|
|
|
758
732
|
resources :inventory_items, only: %i[index]
|
|
759
733
|
resources :event_matches, only: %i[index]
|
|
760
734
|
resources :invite_guests, only: %i[show update]
|
|
761
|
-
resources :preview_taxons, only: %i[index show], id: /.+/
|
|
762
|
-
resources :preview_products, only: %i[index show]
|
|
763
735
|
resources :ticket_transfers do
|
|
764
736
|
collection do
|
|
765
737
|
get :preview_rule
|
|
@@ -69,22 +69,16 @@ require 'byebug' if Rails.env.development? || Rails.env.test?
|
|
|
69
69
|
module SpreeCmCommissioner
|
|
70
70
|
class << self
|
|
71
71
|
# Allows overriding the default Redis connection pools with custom ones
|
|
72
|
-
attr_writer :inventory_redis_pool
|
|
72
|
+
attr_writer :inventory_redis_pool
|
|
73
73
|
|
|
74
74
|
# Inventory Redis pool for inventory management
|
|
75
75
|
def inventory_redis_pool
|
|
76
76
|
@inventory_redis_pool ||= default_redis_pool
|
|
77
77
|
end
|
|
78
78
|
|
|
79
|
-
# Voting Redis pool for voting system counters
|
|
80
|
-
def voting_redis_pool
|
|
81
|
-
@voting_redis_pool ||= default_redis_pool
|
|
82
|
-
end
|
|
83
|
-
|
|
84
79
|
# Resets all Redis pools, useful for testing or reinitialization
|
|
85
80
|
def reset_redis_pools
|
|
86
81
|
@inventory_redis_pool = nil
|
|
87
|
-
@voting_redis_pool = nil
|
|
88
82
|
end
|
|
89
83
|
|
|
90
84
|
private
|