Add a system for upgrading accounts using upgrade codes. Users purchase an upgrade code off-site then redeem it on-site to upgrade their account to Gold. Upgrade codes are randomly pre-generated and are one time use only. Codes have enough randomness that guessing a code is infeasible.
29 lines
1.3 KiB
Plaintext
29 lines
1.3 KiB
Plaintext
<% page_title "Redeem upgrade code" %>
|
|
|
|
<%= render "users/secondary_links" %>
|
|
|
|
<div id="c-user-upgrades">
|
|
<div id="a-redeem" class="fixed-width-container mx-auto">
|
|
<h1 class="text-center mb-4">Redeem upgrade code</h1>
|
|
|
|
<% if CurrentUser.user.level <= User::Levels::MEMBER %>
|
|
<p>Enter your upgrade code below to upgrade your account to Gold.</p>
|
|
|
|
<p>After you purchase a Gold account, you will receive an upgrade code. Enter it here to upgrade your account. If you don't have a code,
|
|
go to the <%= link_to "upgrade page", new_user_upgrade_path %> first to buy one, then come back here to redeem it.</p>
|
|
|
|
<% if CurrentUser.user.is_anonymous? %>
|
|
<p>You must <%= link_to "login", login_path(url: redeem_upgrade_codes_path) %> or
|
|
<%= link_to "create a new account", new_user_path(url: redeem_upgrade_codes_path) %> first before you can redeem your upgrade code.</p>
|
|
<% else %>
|
|
<%= simple_form_for(:upgrade_code, url: upgrade_upgrade_codes_path, remote: true) do |f| %>
|
|
<%= f.input :code, placeholder: "abcd1234", input_html: { value: params[:code] } %>
|
|
<%= f.submit "Upgrade account", class: "button-primary" %>
|
|
<% end %>
|
|
<% end %>
|
|
<% else %>
|
|
<p class="text-center">Your account has already been upgraded.</p>
|
|
<% end %>
|
|
</div>
|
|
</div>
|