124 lines
5.3 KiB
HTML
124 lines
5.3 KiB
HTML
{% extends "hosting/base_short.html" %}
|
|
{% load staticfiles bootstrap3 %}
|
|
{% block content %}
|
|
<!-- Credit card form -->
|
|
<div>
|
|
<div class="container payment-container">
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-4 col-md-offset-2 billing">
|
|
<h3><b>Billing Address</b></h3>
|
|
<hr>
|
|
<form role="form" id="billing-form" method="post" action="{% url 'hosting:payment' %}" novalidate>
|
|
{% for field in form %}
|
|
{% csrf_token %}
|
|
{% bootstrap_field field show_label=False type='fields'%}
|
|
{% endfor %}
|
|
{% bootstrap_form_errors form type='non_fields'%}
|
|
</form>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-12 col-sm-6 col-md-4 col-md-offset-2 creditcard-box">
|
|
<h3><b>Payment Details</b></h3>
|
|
<hr>
|
|
<div>
|
|
<div>
|
|
<form role="form" id="payment-form" novalidate>
|
|
<div class="row">
|
|
<div class="col-xs-9 col-md-12">
|
|
<div class="form-group">
|
|
<label class="control-label" for="cardNumber">CARD NUMBER</label>
|
|
<div class="input-group">
|
|
<input type="text" class="form-control" name="cardNumber" placeholder="Valid Card Number" required autofocus data-stripe="number" />
|
|
<span class="input-group-addon"><i class="fa fa-credit-card"></i></span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-6 col-md-7">
|
|
<div class="form-group">
|
|
<label for="expMonth">EXPIRATION DATE</label><br/>
|
|
<div class="col-xs-6 col-lg-6 col-md-6 pl-ziro">
|
|
<input type="text" class="form-control" name="expMonth" placeholder="MM" required data-stripe="exp_month" />
|
|
</div>
|
|
<div class="col-xs-6 col-lg-6 col-md-6 pl-ziro">
|
|
<input type="text" class="form-control" name="expYear" placeholder="YY" required data-stripe="exp_year" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-4 col-md-5 pull-right">
|
|
<div class="form-group">
|
|
<label for="cvCode">CV CODE</label>
|
|
<input type="password" class="form-control" name="cvCode" placeholder="CV" required data-stripe="cvc" />
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<button class="btn btn-success btn-lg btn-block" type="submit">Submit Payment</button>
|
|
</div>
|
|
</div>
|
|
<div class="row" style="display:none;">
|
|
<div class="col-xs-12">
|
|
<p class="payment-errors"></p>
|
|
</div>
|
|
</div>
|
|
{% if paymentError %}
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<p>
|
|
{% bootstrap_alert paymentError alert_type='danger' %}
|
|
</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-xs-12 col-md-3 col-md-offset-1 summary-box">
|
|
<form role="form" novalidate>
|
|
<div class="row">
|
|
<div class="col-xs-12">
|
|
<h3><b>Billing Amount</b></h3>
|
|
<hr>
|
|
<div class="content">
|
|
<p><b>Type</b> <span class="pull-right">{{request.session.vm_specs.location_code}}</span></p>
|
|
<hr>
|
|
<p><b>Cores</b> <span class="pull-right">{{request.session.vm_specs.cores}}</span></p>
|
|
<hr>
|
|
<p><b>Configuration</b> <span class="pull-right">{{request.session.vm_specs.configuration_detail}}</span></p>
|
|
<hr>
|
|
<p><b>Memory</b> <span class="pull-right">{{request.session.vm_specs.memory}} GiB</span></p>
|
|
<hr>
|
|
<p><b>Disk space</b> <span class="pull-right">{{request.session.vm_specs.disk_size}} GiB</span></p>
|
|
<hr>
|
|
<h4>Total<p class="pull-right"><b>{{request.session.vm_specs.final_price}} CHF</b></p></h4>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
<!-- stripe key data -->
|
|
{% if stripe_key %}
|
|
<script type="text/javascript">
|
|
(function () {window.stripeKey = "{{stripe_key}}";})();
|
|
</script>
|
|
{%endif%}
|
|
|
|
{%endblock%}
|
|
|
|
|
|
|
|
|