initial changes
This commit is contained in:
parent
3fe6e65e84
commit
98f094e5b8
6 changed files with 180 additions and 153 deletions
|
@ -1,4 +1,4 @@
|
||||||
.order-detail-container {padding-top: 70px; padding-bottom: 70px; margin-bottom: 70px;}
|
.order-detail-container {padding-top: 70px;padding-bottom: 70px;/* margin-bottom: 70px; */max-width: 720px;margin: 0 auto;}
|
||||||
|
|
||||||
.order-detail-container .invoice-title h2, .invoice-title h3 {
|
.order-detail-container .invoice-title h2, .invoice-title h3 {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
|
18
hosting/static/hosting/img/icon-pdf.svg
Normal file
18
hosting/static/hosting/img/icon-pdf.svg
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="492px" height="649px" viewBox="0 0 492 649" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<title>icon-pdf</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs></defs>
|
||||||
|
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="icon-pdf" fill-rule="nonzero" fill="#000000">
|
||||||
|
<g id="Group" transform="translate(93.000000, 269.000000)">
|
||||||
|
<path d="M98,47.8 C98,54.8 97,61.7 95.1,66.6 C93.1,72.5 90.1,76.5 86.2,80.5 C82.2,84.5 76.3,87.4 70.4,89.4 C64.5,91.4 55.6,92.3 46.6,92.3 L34.7,92.3 L34.7,134 L0,134 L0,0.3 L45.5,0.3 C54.4,0.3 62.4,1.3 69.3,3.2 C76.2,5.2 81.2,8.2 85.1,12.1 C89.1,16.1 92.1,21 94,27 C96.9,32 98,38.9 98,47.8 Z M61.3,46.8 C61.3,42.8 61.3,39.9 60.3,37.9 C60.3,35.9 59.3,33.9 57.4,32 C56.4,31 54.5,30 52.4,29.1 C50.4,29.1 47.4,28.1 44.5,28.1 L34.6,28.1 L34.6,63.7 L45.5,63.7 C48.4,63.7 50.4,63.7 52.5,62.7 C54.5,61.7 56.5,61.7 57.5,59.8 C58.5,57.8 59.5,56.9 60.4,54.8 C61.3,53.8 61.3,50.8 61.3,46.8 Z" id="Shape"></path>
|
||||||
|
<path d="M214.8,66.6 C214.8,78.5 213.8,89.3 210.8,97.3 C208.8,106.2 204.9,113.1 199.9,118.1 C195,123.1 189,127 182.1,130 C175.2,132 167.3,134 157.3,134 L108.8,134 L108.8,0.3 L156.3,0.3 C166.2,0.3 175.1,1.3 182,4.3 C188.9,7.2 194.9,10.2 199.8,16.2 C204.8,21.2 207.7,28.1 209.7,37 C213.8,44.8 214.8,54.7 214.8,66.6 Z M178.1,65.6 C178.1,58.7 178.1,52.7 177.1,47.8 C176.1,42.8 175.1,39.9 174.2,36.9 C172.2,34 170.2,32.9 168.3,31.9 C165.4,30.9 162.4,30.9 158.4,30.9 L145.6,30.9 L145.6,103.2 L158.4,103.2 C162.4,103.2 165.4,103.2 168.3,102.2 C171.2,101.2 173.3,99.3 174.2,97.2 C176.2,94.3 177.1,91.3 178.2,86.3 C178.1,80.5 178.1,74.5 178.1,65.6 Z" id="Shape"></path>
|
||||||
|
<polygon id="Shape" points="264.3 32 264.3 55.8 304.9 55.8 304.9 85.5 264.3 85.5 264.3 135 229.7 135 229.7 0.3 312.9 0.3 313.9 31 264.4 31 264.4 32"></polygon>
|
||||||
|
</g>
|
||||||
|
<path d="M491.3,649 L0.7,649 L0.7,0 L346.1,0 L491.3,145.2 L491.3,649 L491.3,649 Z M44.7,605 L448.4,605 L448.4,162.8 L327.4,42.9 L44.7,42.9 L44.7,605 Z" id="Shape"></path>
|
||||||
|
<polygon id="Shape" points="469.3 176 315.3 176 315.3 20.9 359.3 20.9 359.3 132 469.3 132"></polygon>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
17
hosting/static/hosting/img/icon-print.svg
Normal file
17
hosting/static/hosting/img/icon-print.svg
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="612px" height="612px" viewBox="0 0 612 612" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
|
||||||
|
<title>54471</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs></defs>
|
||||||
|
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<g id="54471" fill-rule="nonzero" fill="#000000">
|
||||||
|
<path d="M0,225.633 L0,386.367 C0,417.272 30.6,417.272 30.6,417.272 L83.454,417.272 L83.454,389.454 L27.818,389.454 L27.818,222.545 L584.181,222.545 L584.181,389.454 L528.545,389.454 L528.545,417.272 L581.4,417.272 C581.4,417.272 612,417.272 612,386.367 L612,225.633 C612,225.633 612,194.727 581.4,194.727 L30.6,194.727 C0,194.728 0,225.633 0,225.633 Z" id="Shape"></path>
|
||||||
|
<polygon id="Shape" points="500.728 166.909 500.728 0 111.273 0 111.273 166.909 139.091 166.909 139.091 27.818 472.909 27.818 472.909 166.909"></polygon>
|
||||||
|
<path d="M528.546,292.091 C528.546,278.182 514.358,278.182 514.358,278.182 L97.642,278.182 C97.642,278.182 83.455,278.182 83.455,292.091 C83.455,306 97.642,306 97.642,306 L514.359,306 C514.358,306 528.546,306 528.546,292.091 Z" id="Shape"></path>
|
||||||
|
<rect id="Rectangle-path" x="166.909" y="500.728" width="278.182" height="27.818"></rect>
|
||||||
|
<path d="M500.728,612 L500.728,389.454 L111.273,389.454 L111.273,612 L500.728,612 Z M139.091,417.272 L472.909,417.272 L472.909,584.181 L139.091,584.181 L139.091,417.272 Z" id="Shape"></path>
|
||||||
|
<rect id="Rectangle-path" x="166.909" y="445.091" width="278.182" height="27.818"></rect>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
|
@ -37,11 +37,7 @@
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
{% get_current_language as LANGUAGE_CODE %}
|
{% get_current_language as LANGUAGE_CODE %}
|
||||||
{% if LANGUAGE_CODE == 'en-us'%}
|
|
||||||
<a href="{% change_lang 'de' %}"><i class="fa fa-fw fa-globe" aria-hidden="true"></i> Deutsch</a>
|
|
||||||
{% else %}
|
|
||||||
<a href="{% change_lang 'en-us' %}"><i class="fa fa-fw fa-globe" aria-hidden="true"></i> English</a>
|
|
||||||
{% endif %}
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -7,168 +7,163 @@
|
||||||
|
|
||||||
<div class="order-detail-container">
|
<div class="order-detail-container">
|
||||||
{% if messages %}
|
{% if messages %}
|
||||||
<div class="row">
|
<div class="alert alert-warning">
|
||||||
<div class="col-xs-12 col-md-8 col-md-offset-2">
|
{% for message in messages %}
|
||||||
<br/>
|
<span>{{ message }}</span>
|
||||||
<div class="alert alert-warning">
|
{% endfor %}
|
||||||
{% for message in messages %}
|
|
||||||
<span>{{ message }}</span>
|
|
||||||
{% endfor %}
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if not error %}
|
{% if not error %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-xs-12 col-md-8 col-md-offset-2">
|
<div class="col-xs-12 col-md-8 col-md-offset-2">
|
||||||
<div class="invoice-title">
|
<div class="invoice-title">
|
||||||
<h2>{{page_header_text}}</h2>
|
<h2>{{page_header_text}}</h2>
|
||||||
<h3 class="pull-right">
|
<h3 class="pull-right">
|
||||||
{% if order %}
|
|
||||||
{% trans "Order #"%} {{order.id}}
|
|
||||||
{% endif %}
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-12 col-md-6 pull-right order-confirm-date">
|
|
||||||
<address>
|
|
||||||
<strong>{% trans "Date"%}:</strong><br>
|
|
||||||
<span id="order-created_at">
|
|
||||||
{% if order %}
|
|
||||||
{{order.created_at|date:'Y-m-d H:i'}}
|
|
||||||
{% else %}
|
|
||||||
{% now "Y-m-d H:i" %}
|
|
||||||
{% endif %}
|
|
||||||
</span><br><br>
|
|
||||||
{% if order %}
|
{% if order %}
|
||||||
<strong>{% trans "Status:"%}</strong><br>
|
{% trans "Order #"%} {{order.id}}
|
||||||
{% if order.status == 'Approved' %}
|
|
||||||
<strong class="text-success">
|
|
||||||
{% trans "Approved" %}
|
|
||||||
</strong>
|
|
||||||
{% else %}
|
|
||||||
<strong class="text-danger">
|
|
||||||
{% trans "Declined" %}
|
|
||||||
</strong>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<br><br>
|
</h3>
|
||||||
{% endif %}
|
</div>
|
||||||
</address>
|
<hr>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-md-6 pull-right order-confirm-date">
|
||||||
|
<address>
|
||||||
|
<strong>{% trans "Date"%}:</strong><br>
|
||||||
|
<span id="order-created_at">
|
||||||
|
{% if order %}
|
||||||
|
{{order.created_at|date:'Y-m-d H:i'}}
|
||||||
|
{% else %}
|
||||||
|
{% now "Y-m-d H:i" %}
|
||||||
|
{% endif %}
|
||||||
|
</span><br><br>
|
||||||
|
{% if order %}
|
||||||
|
<strong>{% trans "Status:"%}</strong><br>
|
||||||
|
{% if order.status == 'Approved' %}
|
||||||
|
<strong class="text-success">
|
||||||
|
{% trans "Approved" %}
|
||||||
|
</strong>
|
||||||
|
{% else %}
|
||||||
|
<strong class="text-danger">
|
||||||
|
{% trans "Declined" %}
|
||||||
|
</strong>
|
||||||
|
{% endif %}
|
||||||
|
<br><br>
|
||||||
|
{% endif %}
|
||||||
|
</address>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-md-6">
|
||||||
|
<address>
|
||||||
|
<h3><b>{% trans "Billed To:"%}</b></h3>
|
||||||
|
{% if order %}
|
||||||
|
{{user.name}}<br>
|
||||||
|
{{order.billing_address.street_address}},{{order.billing_address.postal_code}}<br>
|
||||||
|
{{order.billing_address.city}},
|
||||||
|
{{order.billing_address.country}}.
|
||||||
|
{% else %}
|
||||||
|
{% with request.session.billing_address_data as billing_address %}
|
||||||
|
{{billing_address.cardholder_name}}<br>
|
||||||
|
{{billing_address.street_address}},
|
||||||
|
{{billing_address.postal_code}}<br>
|
||||||
|
{{billing_address.city}},
|
||||||
|
{{billing_address.country}}.
|
||||||
|
{% endwith %}
|
||||||
|
{% endif %}
|
||||||
|
</address>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-xs-12 col-md-6">
|
<div class="row">
|
||||||
<address>
|
<div class="col-xs-6">
|
||||||
<h3><b>{% trans "Billed To:"%}</b></h3>
|
<address>
|
||||||
{% if order %}
|
<strong>{% trans "Payment Method:"%}</strong><br>
|
||||||
{{user.name}}<br>
|
{% if order %}
|
||||||
{{order.billing_address.street_address}},{{order.billing_address.postal_code}}<br>
|
{{order.cc_brand}} {% trans "ending in" %} ****
|
||||||
{{order.billing_address.city}},
|
{{order.last4}}<br>
|
||||||
{{order.billing_address.country}}.
|
{{user.email}}
|
||||||
{% else %}
|
{% else %}
|
||||||
{% with request.session.billing_address_data as billing_address %}
|
{{cc_brand}} {% trans "ending in" %} ****
|
||||||
{{billing_address|get_value_from_dict:'cardholder_name'}}<br>
|
{{cc_last4}}<br>
|
||||||
{{billing_address|get_value_from_dict:'street_address'}},
|
{{request.session.user.email}}
|
||||||
{{billing_address|get_value_from_dict:'postal_code'}}<br>
|
{% endif %}
|
||||||
{{billing_address|get_value_from_dict:'city'}},
|
</address>
|
||||||
{{billing_address|get_value_from_dict:'country'}}.
|
</div>
|
||||||
{% endwith %}
|
|
||||||
{% endif %}
|
|
||||||
</address>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-xs-6">
|
|
||||||
<address>
|
|
||||||
<strong>{% trans "Payment Method:"%}</strong><br>
|
|
||||||
{% if order %}
|
|
||||||
{{order.cc_brand}} {% trans "ending in" %} ****
|
|
||||||
{{order.last4}}<br>
|
|
||||||
{{user.email}}
|
|
||||||
{% else %}
|
|
||||||
{{cc_brand}} {% trans "ending in" %} ****
|
|
||||||
{{cc_last4}}<br>
|
|
||||||
{{request.session.user.email}}
|
|
||||||
{% endif %}
|
|
||||||
</address>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-8 col-md-offset-2">
|
<div class="col-md-8 col-md-offset-2">
|
||||||
<h3><b>{% trans "Order summary"%}</b></h3>
|
<h3><b>{% trans "Order summary"%}</b></h3>
|
||||||
<hr>
|
|
||||||
<div class="content">
|
|
||||||
{% if request.session.specs %}
|
|
||||||
{% with request.session.specs as vm %}
|
|
||||||
<p><b>{% trans "Cores"%}</b>
|
|
||||||
<span class="pull-right">{{vm.cpu}}</span>
|
|
||||||
</p>
|
|
||||||
<hr>
|
<hr>
|
||||||
<p><b>{% trans "Memory"%}</b>
|
<div class="content">
|
||||||
<span class="pull-right">{{vm.memory}} GB</span>
|
{% if request.session.specs %}
|
||||||
</p>
|
{% with request.session.specs as vm %}
|
||||||
<hr>
|
<p><b>{% trans "Cores"%}</b>
|
||||||
<p><b>{% trans "Disk space"%}</b>
|
<span class="pull-right">{{vm.cpu}}</span>
|
||||||
<span class="pull-right">{{vm.disk_size}} GB</span>
|
|
||||||
</p>
|
|
||||||
<hr>
|
|
||||||
<p><b>{% trans "Configuration"%}</b>
|
|
||||||
<span class="pull-right">{{request.session.template.name}}</span>
|
|
||||||
</p>
|
|
||||||
<hr>
|
|
||||||
<h4>{% trans "Total"%}
|
|
||||||
<p class="pull-right">
|
|
||||||
<b>{{vm.price}} CHF</b>
|
|
||||||
<span class="dcl-price-month"> /{% trans "Month" %}
|
|
||||||
</span>
|
|
||||||
</p>
|
</p>
|
||||||
</h4>
|
<hr>
|
||||||
{% endwith %}
|
<p><b>{% trans "Memory"%}</b>
|
||||||
{% else %}
|
<span class="pull-right">{{vm.memory}} GB</span>
|
||||||
<p><b>{% trans "Cores"%}</b>
|
</p>
|
||||||
<span class="pull-right">{{vm.cores}}</span>
|
<hr>
|
||||||
</p>
|
<p><b>{% trans "Disk space"%}</b>
|
||||||
<hr>
|
<span class="pull-right">{{vm.disk_size}} GB</span>
|
||||||
<p><b>{% trans "Memory"%}</b>
|
</p>
|
||||||
<span class="pull-right">{{vm.memory}} GB</span>
|
<hr>
|
||||||
</p>
|
<p><b>{% trans "Configuration"%}</b>
|
||||||
<hr>
|
<span class="pull-right">{{request.session.template.name}}</span>
|
||||||
<p><b>{% trans "Disk space"%}</b>
|
</p>
|
||||||
<span class="pull-right">{{vm.disk_size}} GB</span>
|
<hr>
|
||||||
</p>
|
<h4>{% trans "Total"%}
|
||||||
<hr>
|
<p class="pull-right">
|
||||||
<h4>{% trans "Total"%}<p class="pull-right"><b>{{vm.price}}
|
<b>{{vm.price}} CHF</b>
|
||||||
CHF</b><span
|
<span class="dcl-price-month"> /{% trans "Month" %}
|
||||||
class="dcl-price-month"> /{% trans "Month" %}</span>
|
</span>
|
||||||
</p></h4>
|
</p>
|
||||||
|
</h4>
|
||||||
|
{% endwith %}
|
||||||
|
{% else %}
|
||||||
|
<p><b>{% trans "Cores"%}</b>
|
||||||
|
<span class="pull-right">{{vm.cores}}</span>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p><b>{% trans "Memory"%}</b>
|
||||||
|
<span class="pull-right">{{vm.memory}} GB</span>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<p><b>{% trans "Disk space"%}</b>
|
||||||
|
<span class="pull-right">{{vm.disk_size}} GB</span>
|
||||||
|
</p>
|
||||||
|
<hr>
|
||||||
|
<h4>{% trans "Total"%}<p class="pull-right"><b>{{vm.price}}
|
||||||
|
CHF</b><span
|
||||||
|
class="dcl-price-month"> /{% trans "Month" %}</span>
|
||||||
|
</p></h4>
|
||||||
|
{% endif %}
|
||||||
|
</div>
|
||||||
|
<br/>
|
||||||
|
{% if not order %}
|
||||||
|
<form method="post" id="virtual_machine_create_form">
|
||||||
|
{% csrf_token %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8">
|
||||||
|
<p class="dcl-place-order-text">{% blocktrans with vm_price=request.session.specs.price %}By clicking "Place order" this plan will charge your credit card account with the fee of {{ vm_price }}CHF/month{% endblocktrans %}.</p>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 content">
|
||||||
|
<button class="btn btn-info pull-right"
|
||||||
|
id="btn-create-vm"
|
||||||
|
data-href="{% url 'hosting:order-confirmation' %}"
|
||||||
|
data-toggle="modal"
|
||||||
|
data-target="#createvm-modal">
|
||||||
|
{% trans "Place order"%}
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<br/>
|
|
||||||
{% if not order %}
|
|
||||||
<form method="post" id="virtual_machine_create_form">
|
|
||||||
{% csrf_token %}
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<p class="dcl-place-order-text">{% blocktrans with vm_price=request.session.specs.price %}By clicking "Place order" this plan will charge your credit card account with the fee of {{ vm_price }}CHF/month{% endblocktrans %}.</p>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4 content">
|
|
||||||
<button class="btn btn-info pull-right"
|
|
||||||
id="btn-create-vm"
|
|
||||||
data-href="{% url 'hosting:order-confirmation' %}"
|
|
||||||
data-toggle="modal"
|
|
||||||
data-target="#createvm-modal">
|
|
||||||
{% trans "Place order"%}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<!-- Create VM Modal -->
|
<!-- Create VM Modal -->
|
||||||
|
|
|
@ -9,9 +9,10 @@ from .views import (
|
||||||
HostingPricingView, CreateVirtualMachinesView, HostingBillListView,
|
HostingPricingView, CreateVirtualMachinesView, HostingBillListView,
|
||||||
HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
|
HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
|
||||||
SSHKeyChoiceView, DashboardView, SettingsView)
|
SSHKeyChoiceView, DashboardView, SettingsView)
|
||||||
|
from django.views.generic import TemplateView
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
|
url(r'test/?$', TemplateView.as_view(template_name='hosting/order_detail.html')),
|
||||||
url(r'index/?$', IndexView.as_view(), name='index'),
|
url(r'index/?$', IndexView.as_view(), name='index'),
|
||||||
url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
|
url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
|
||||||
url(r'dashboard/?$', DashboardView.as_view(), name='dashboard'),
|
url(r'dashboard/?$', DashboardView.as_view(), name='dashboard'),
|
||||||
|
|
Loading…
Reference in a new issue