From ef2eb9d0f55dfa73a2185ac67a45a2b767db58d3 Mon Sep 17 00:00:00 2001 From: evazion Date: Tue, 24 Dec 2019 11:52:16 -0600 Subject: [PATCH] user upgrades: factor out gold/platinum prices. --- app/controllers/user_upgrades_controller.rb | 6 +++--- app/helpers/user_upgrades_helper.rb | 4 ++++ app/logical/user_upgrade.rb | 13 +++++++++++++ app/views/user_upgrades/_stripe_payment.html.erb | 6 +++--- app/views/user_upgrades/new.html.erb | 10 ++++++++-- app/views/users/_upgrade_notice.html.erb | 2 +- 6 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 app/logical/user_upgrade.rb diff --git a/app/controllers/user_upgrades_controller.rb b/app/controllers/user_upgrades_controller.rb index 17b2fa404..263a908d8 100644 --- a/app/controllers/user_upgrades_controller.rb +++ b/app/controllers/user_upgrades_controller.rb @@ -30,13 +30,13 @@ class UserUpgradesController < ApplicationController if params[:desc] == "Upgrade to Gold" level = User::Levels::GOLD - cost = 2000 + cost = UserUpgrade.gold_price elsif params[:desc] == "Upgrade to Platinum" level = User::Levels::PLATINUM - cost = 4000 + cost = UserUpgrade.platinum_price elsif params[:desc] == "Upgrade Gold to Platinum" && @user.level == User::Levels::GOLD level = User::Levels::PLATINUM - cost = 2000 + cost = UserUpgrade.upgrade_price else raise "Invalid desc" end diff --git a/app/helpers/user_upgrades_helper.rb b/app/helpers/user_upgrades_helper.rb index 894faf2fd..0b7c301aa 100644 --- a/app/helpers/user_upgrades_helper.rb +++ b/app/helpers/user_upgrades_helper.rb @@ -18,4 +18,8 @@ module UserUpgradesHelper raw(html) end + + def cents_to_usd(cents) + number_to_currency(cents / 100, precision: 0) + end end diff --git a/app/logical/user_upgrade.rb b/app/logical/user_upgrade.rb new file mode 100644 index 000000000..b29909faf --- /dev/null +++ b/app/logical/user_upgrade.rb @@ -0,0 +1,13 @@ +class UserUpgrade + def self.gold_price + 2000 + end + + def self.platinum_price + 4000 + end + + def self.upgrade_price + 2000 + end +end diff --git a/app/views/user_upgrades/_stripe_payment.html.erb b/app/views/user_upgrades/_stripe_payment.html.erb index a6165385b..d71c3865e 100644 --- a/app/views/user_upgrades/_stripe_payment.html.erb +++ b/app/views/user_upgrades/_stripe_payment.html.erb @@ -2,10 +2,10 @@

You can pay with a credit or debit card. Safebooru uses Stripe as a payment intermediary so none of your personal information will be stored on the site.

<% if user.level < User::Levels::GOLD %> - <%= stripe_button("Upgrade to Gold", 2000, user) %> - <%= stripe_button("Upgrade to Platinum", 4000, user) %> + <%= stripe_button("Upgrade to Gold", UserUpgrade.gold_price, user) %> + <%= stripe_button("Upgrade to Platinum", UserUpgrade.platinum_price, user) %> <% elsif user.level < User::Levels::PLATINUM %> - <%= stripe_button("Upgrade Gold to Platinum", 2000, user) %> + <%= stripe_button("Upgrade Gold to Platinum", UserUpgrade.upgrade_price, user) %> <% end %> diff --git a/app/views/user_upgrades/new.html.erb b/app/views/user_upgrades/new.html.erb index 8522f60ca..2102cffca 100644 --- a/app/views/user_upgrades/new.html.erb +++ b/app/views/user_upgrades/new.html.erb @@ -23,8 +23,14 @@ Cost Free - $20
One time fee
- $40
One time fee
+ + <%= cents_to_usd(UserUpgrade.gold_price) %> +
One time fee
+ + + <%= cents_to_usd(UserUpgrade.platinum_price) %> +
One time fee
+ Tag Limit diff --git a/app/views/users/_upgrade_notice.html.erb b/app/views/users/_upgrade_notice.html.erb index 9029a59ea..756c7f19d 100644 --- a/app/views/users/_upgrade_notice.html.erb +++ b/app/views/users/_upgrade_notice.html.erb @@ -1,4 +1,4 @@
-

<%= link_to "Upgrade your account for only $20!", new_user_upgrade_path, id: "goto-upgrade-account" %>

+

<%= link_to "Upgrade your account for only #{cents_to_usd(UserUpgrade.gold_price)}!", new_user_upgrade_path, id: "goto-upgrade-account" %>

<%= link_to "No thanks", "#", id: "hide-upgrade-account-notice" %>