diff --git a/app/controllers/credits_controller.rb b/app/controllers/credits_controller.rb index 70997f59d..9dbcc4d4a 100644 --- a/app/controllers/credits_controller.rb +++ b/app/controllers/credits_controller.rb @@ -99,14 +99,17 @@ class CreditsController < ApplicationController end def cost_per_credit - if @number_to_purchase < 10 - 500 - elsif @number_to_purchase < 100 - 400 - elsif @number_to_purchase < 1000 - 300 + prices = SiteConfig.credit_prices_in_cents + + case @number_to_purchase + when ..9 + prices[:small] + when 10..99 + prices[:medium] + when 100..999 + prices[:large] else - 250 + prices[:xlarge] end end end diff --git a/app/controllers/internal/configs_controller.rb b/app/controllers/internal/configs_controller.rb index a68ce94ef..5fd3579c7 100644 --- a/app/controllers/internal/configs_controller.rb +++ b/app/controllers/internal/configs_controller.rb @@ -56,6 +56,7 @@ module Internal social_media_handles: SiteConfig.social_media_handles.keys, email_addresses: SiteConfig.email_addresses.keys, meta_keywords: SiteConfig.meta_keywords.keys, + credit_prices_in_cents: SiteConfig.credit_prices_in_cents.keys, ) end @@ -70,6 +71,7 @@ module Internal %i[sidebar_tags suggested_tags suggested_users].each do |param| config[param] = config[param].downcase.delete(" ") if config[param] end + config[:credit_prices_in_cents]&.transform_values!(&:to_i) end def bust_relevant_caches diff --git a/app/models/site_config.rb b/app/models/site_config.rb index 56f4c786b..6a7e22a68 100644 --- a/app/models/site_config.rb +++ b/app/models/site_config.rb @@ -138,4 +138,12 @@ class SiteConfig < RailsSettings::Base # Broadcast field :welcome_notifications_live_at, type: :date + + # Credits + field :credit_prices_in_cents, type: :hash, default: { + small: 500, + medium: 400, + large: 300, + xlarge: 250 + } end diff --git a/app/views/internal/configs/show.html.erb b/app/views/internal/configs/show.html.erb index 7ef057ab0..37b900ea9 100644 --- a/app/views/internal/configs/show.html.erb +++ b/app/views/internal/configs/show.html.erb @@ -248,6 +248,49 @@ +