<h6>Choose a currency</h6>
<div class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="currency" id="EUR" value="EUR" checked>
+ <input class="form-check-input" type="radio" name="currency" id="EUR" value="EUR"
+ {% if currency == "EUR" %}checked{% end %}>
<label class="form-check-label" for="EUR">{{ _("Euro") }}</label>
</div>
<div class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="currency" id="USD" value="USD">
+ <input class="form-check-input" type="radio" name="currency" id="USD" value="USD"
+ {% if currency == "USD" %}checked{% end %}>
<label class="form-check-label" for="USD">{{ _("US Dollar") }}</label>
</div>
</div>
<h6>Frequency</h6>
<div class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="frequency" id="frequency-single" value="single" checked>
- <label class="form-check-label" for="frequency-single">{{ _("One Time") }}</label>
+ <input class="form-check-input" type="radio" name="frequency" id="frequency-one-time"
+ value="one-time" {% if frequency == "one-time" %}checked{% end %}>
+ <label class="form-check-label" for="frequency-one-time">{{ _("One Time") }}</label>
</div>
<div class="form-check form-check-inline">
- <input class="form-check-input" type="radio" name="frequency" id="frequency-monthly" value="monthly">
+ <input class="form-check-input" type="radio" name="frequency" id="frequency-monthly"
+ value="monthly" {% if frequency == "monthly" %}checked{% end %}>
<label class="form-check-label" for="frequency-monthly">{{ _("Monthly") }}</label>
</div>
</div>
<div class="my-5 p-5 bg-light">
<h6>{{ _("Choose an amount") }}</h6>
- <input type="hidden" name="amount" required>
+ <input type="hidden" name="amount" {% if amount %}value="{{ amount }}"{% end %} required>
<div class="btn-group-toggle flex-wrap mb-3" data-toggle="buttons">
- {% for amount in amounts %}
+ {% for a in amounts %}
<label class="btn btn-secondary btn-lg mb-2">
- <input type="radio" name="amount-selector" value="{{ amount }}"
- autocomplete="off"> <span class="USD">$</span>{{ amount }} <span class="EUR">€</span>
+ <input type="radio" name="amount-selector" value="{{ a }}" {% if amount == a %}checked{% end %}
+ autocomplete="off"> <span class="USD">$</span>{{ a }} <span class="EUR">€</span>
</label>
{% end %}
</div>
</label>
<div class="col-sm-5">
- <input type="number" class="form-control form-control-lg"
- name="amount-input" min="1">
+ <input type="number" class="form-control form-control-lg" name="amount-input" min="1"
+ {% if not amount in amounts %}value="{{ amount }}"{% end %}>
</div>
</div>
$(document).ready(function() {
var amount = $("input[name='amount']");
- $(".USD").hide();
+ // Adjust form to default currency
+ var currency = $("input[name='currency']:checked").val();
+ if (currency == "EUR") {
+ $(".USD").hide();
+ } else if (currency == "USD") {
+ $(".EUR").hide();
+ }
$("input[name='currency']").on("change", function() {
var currency = $(this).val();
$("#donate").click(function (event) {
var frequency = $("input[name='frequency']").val();
- if (frequency == "single") {
+ if (frequency == "one-time") {
event.preventDefault();
$("#modal-upsell").modal("show");
else:
country = None
- self.render("donate.html", countries=iso3166.countries, country=country)
+ # Get defaults
+ amount = self.get_argument_int("amount", None)
+ currency = self.get_argument("currency", None)
+ frequency = self.get_argument("frequency", None)
+
+ # Set default currency
+ if not currency in ("EUR", "USD"):
+ currency = "EUR"
+
+ # Set default frequency
+ if not frequency in ("one-time", "monthly"):
+ frequency = "one-time"
+
+ self.render("donate.html", countries=iso3166.countries,
+ country=country, amount=amount, currency=currency, frequency=frequency)
@tornado.gen.coroutine
def post(self):