Merge remote-tracking branch 'upstream/master'

This commit is contained in:
Siarhei Puhach 2017-07-13 11:28:29 +03:00
commit 82ad7db0f7
16 changed files with 670 additions and 656 deletions

View file

@ -1,3 +1,14 @@
1.0.19: 2017-07-09
* [blog] Added a space between "Posted on" and the "Date"
* [datacenterlight, digitalglarus] Introduced Google Analytics for DCL and digitalglarus.ch
* [datacenterlight] Fixed calculator error message positioning
* [digitalglarus] Fixed favicon for digitalglarus
* [all] Introduced PEP8 code standards using flake8
* [all] DEBUG is set to False on production
* [all] Using memcached as cache provider on production
* [datacenterlight] Removed Order Now button outline in the order form
* [datacenterlight] Refactored html pages, fixed missing body tag, removed some duplicate script imports
* [datacenterlight] Introduced Why Data Center Light page
1.0.18: 2017-07-02
* [datacenterlight] Introduced the new flow. Landing page -> Payment -> Order confirmation -> Success
* [datacenterlight] Fixed issue showing local time to the user in order confirmation page, vm pages (like ssh keys)

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-02 23:08+0530\n"
"POT-Creation-Date: 2017-07-09 15:21+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -42,6 +42,71 @@ msgstr ""
"Vielen dank für Ihre Anmeldung. Sie erhalten in kürze eine Bestätigungsmail "
"von unserem Team"
#: templates/datacenterlight/calculator_form.html:5
#: templates/datacenterlight/pricing.html:22
msgid "VM hosting"
msgstr ""
#: templates/datacenterlight/calculator_form.html:9
msgid "month"
msgstr "Monat"
#: templates/datacenterlight/calculator_form.html:11
#: templates/datacenterlight/pricing.html:28
msgid "VAT included"
msgstr "MwSt. inklusive"
#: templates/datacenterlight/calculator_form.html:16
#: templates/datacenterlight/pricing.html:33
msgid "Hosted in Switzerland"
msgstr "Standort: Schweiz"
#: templates/datacenterlight/calculator_form.html:21
msgid "Please enter a value greater than or equal to 1."
msgstr "Bitte gib einen Wert größer oder gleich 1 ein."
#: templates/datacenterlight/calculator_form.html:30
msgid "Please enter a value greater than or equal to 2."
msgstr "Bitte gib einen Wert größer oder gleich 2 ein."
#: templates/datacenterlight/calculator_form.html:39
msgid "Please enter a value greater than or equal to 10."
msgstr "Bitte gib einen Wert größer oder gleich 10 ein"
#: templates/datacenterlight/calculator_form.html:40
#: templates/datacenterlight/pricing.html:50
msgid "GB Storage (SSD)"
msgstr "GB Storage (SSD)"
#: templates/datacenterlight/calculator_form.html:59
msgid "Name"
msgstr ""
#: templates/datacenterlight/calculator_form.html:60
msgid "Your Name"
msgstr "Dein Name"
#: templates/datacenterlight/calculator_form.html:60
msgid "Please enter your name"
msgstr "Bitte gib Deinen Namen ein"
#: templates/datacenterlight/calculator_form.html:74
msgid "Email"
msgstr "E-Mail-Adresse"
#: templates/datacenterlight/calculator_form.html:75
msgid "Your Email"
msgstr "Deine E-Mail"
#: templates/datacenterlight/calculator_form.html:75
msgid "Please enter a valid email address"
msgstr "Bitte gib eine gültige E-Mailadresse ein"
#: templates/datacenterlight/calculator_form.html:88
#: templates/datacenterlight/pricing.html:79
msgid "Order Now!"
msgstr "Bestelle jetzt!"
#: templates/datacenterlight/emails/request_access_confirmation.html:99
#: templates/datacenterlight/emails/request_access_confirmation.txt:99
msgid "Thank you for your request."
@ -129,27 +194,28 @@ msgstr ""
#: templates/datacenterlight/includes/_footer.html:11
#: templates/datacenterlight/includes/_footer.html:31
#: templates/datacenterlight/includes/_navbar.html:27
#: templates/datacenterlight/index.html:20
#: templates/datacenterlight/index.html:47
#: templates/datacenterlight/includes/_navbar.html:28
#: templates/datacenterlight/index.html:19
#: templates/datacenterlight/index.html:46
msgid "Highlights"
msgstr ""
#: templates/datacenterlight/includes/_footer.html:14
#: templates/datacenterlight/includes/_footer.html:34
#: templates/datacenterlight/includes/_navbar.html:30
#: templates/datacenterlight/index.html:86
#: templates/datacenterlight/index.html:85
msgid "Scale out"
msgstr "Skalierung"
#: templates/datacenterlight/includes/_footer.html:17
#: templates/datacenterlight/includes/_footer.html:37
#: templates/datacenterlight/includes/_navbar.html:33
#: templates/datacenterlight/index.html:112
#: templates/datacenterlight/includes/_navbar.html:31
#: templates/datacenterlight/index.html:111
msgid "Reliable and light"
msgstr "Zuverlässig und leicht"
#: templates/datacenterlight/includes/_footer.html:20
#: templates/datacenterlight/includes/_navbar.html:36
#: templates/datacenterlight/includes/_navbar.html:32
msgid "Order VM"
msgstr "VM bestellen"
@ -167,28 +233,33 @@ msgstr "Home"
msgid "Pricing"
msgstr "Preise"
#: templates/datacenterlight/index.html:16
#: templates/datacenterlight/includes/_navbar.html:36
#: templates/datacenterlight/whydatacenterlight.html:12
msgid "Why Data Center Light?"
msgstr "Warum Data Center Light?"
#: templates/datacenterlight/index.html:15
msgid "Finally, an affordable VM hosting in Switzerland!"
msgstr "Endlich: bezahlbares VM Hosting in der Schweiz"
#: templates/datacenterlight/index.html:23
#: templates/datacenterlight/index.html:22
msgid "I want it!"
msgstr "Das will ich haben!"
#: templates/datacenterlight/index.html:53
#: templates/datacenterlight/index.html:52
msgid ""
"Reuses existing factory halls instead of building a new expensive building."
msgstr ""
"Verwendet ehemalige Fabrikhallen anstatt ein neues, teures Gebäude zu "
"errichten."
#: templates/datacenterlight/index.html:58
#: templates/datacenterlight/index.html:57
msgid "Only wants you to pay for what you actually need."
msgstr ""
"Möchte, dass du nur bezahlst, was du auch wirklich brauchst: Wähle deine "
"Ressourcen individuell aus!"
#: templates/datacenterlight/index.html:62
#: templates/datacenterlight/index.html:61
msgid ""
"Is creative, using a modern and alternative design for a data center in "
"order to make it more sustainable and affordable at the same time."
@ -197,7 +268,7 @@ msgstr ""
"macht um Nachhaltigkeit zu fördern und somit erschwingliche Preise bieten zu "
"können."
#: templates/datacenterlight/index.html:66
#: templates/datacenterlight/index.html:65
msgid ""
"Cuts down the costs for you by using FOSS (Free Open Source Software) "
"exclusively, wherefore we can save money from paying licenses."
@ -206,7 +277,7 @@ msgstr ""
"mit FOSS (Free Open Source Software) arbeitet und wir daher auf "
"Lizenzgebühren verzichten können."
#: templates/datacenterlight/index.html:89
#: templates/datacenterlight/index.html:88
msgid ""
"We don't use special hardware. We use commodity hardware: we buy computers "
"that you buy. Just many more and put them in a cozy home for computers "
@ -216,7 +287,7 @@ msgstr ""
"erschwingliche Systeme. Bei grösserer Auslastung werden mehr "
"Standardkomponenten hinzugekauft und skalieren so das Datencenter."
#: templates/datacenterlight/index.html:115
#: templates/datacenterlight/index.html:114
msgid ""
"Our VMs are located in Switzerland, with reliable power supply and fast "
"internet connection. Our VM costs less thanks to our featherlight "
@ -226,91 +297,26 @@ msgstr ""
"Energieversorgung, sowie schneller Internetverbindung ausgestattet. Unser "
"Angebot ist aufgrund unserer leichten Infrastruktur überaus kostengünstig."
#: templates/datacenterlight/index.html:133
#: templates/datacenterlight/index.html:132
#: templates/datacenterlight/pricing.html:86
msgid "Simple and affordable: Try our virtual machine with featherlight price."
msgstr ""
"Einfach und bezahlbar: Teste nun unsere virtuellen Maschinen mit "
"federleichten Preisen."
#: templates/datacenterlight/index.html:134
#: templates/datacenterlight/index.html:133
msgid "Affordable VM hosting based in Switzerland"
msgstr "Bezahlbares VM Hosting in der Schweiz"
#: templates/datacenterlight/index.html:145
#: templates/datacenterlight/pricing.html:22
msgid "VM hosting"
msgstr ""
#: templates/datacenterlight/index.html:149
msgid "month"
msgstr "Monat"
#: templates/datacenterlight/index.html:151
#: templates/datacenterlight/pricing.html:28
msgid "VAT included"
msgstr "MwSt. inklusive"
#: templates/datacenterlight/index.html:156
#: templates/datacenterlight/pricing.html:33
msgid "Hosted in Switzerland"
msgstr "Standort: Schweiz"
#: templates/datacenterlight/index.html:161
msgid "Please enter a value greater than or equal to 1."
msgstr "Bitte gib einen Wert größer oder gleich 1 ein."
#: templates/datacenterlight/index.html:170
msgid "Please enter a value greater than or equal to 2."
msgstr "Bitte gib einen Wert größer oder gleich 2 ein."
#: templates/datacenterlight/index.html:179
msgid "Please enter a value greater than or equal to 10."
msgstr "Bitte gib einen Wert größer oder gleich 10 ein"
#: templates/datacenterlight/index.html:180
#: templates/datacenterlight/pricing.html:50
msgid "GB Storage (SSD)"
msgstr "GB Storage (SSD)"
#: templates/datacenterlight/index.html:199
msgid "Name"
msgstr ""
#: templates/datacenterlight/index.html:200
msgid "Your Name"
msgstr "Dein Name"
#: templates/datacenterlight/index.html:200
msgid "Please enter your name"
msgstr "Bitte gib Deinen Namen ein"
#: templates/datacenterlight/index.html:214
msgid "Email"
msgstr "E-Mail-Adresse"
#: templates/datacenterlight/index.html:215
msgid "Your Email"
msgstr "Deine E-Mail"
#: templates/datacenterlight/index.html:215
msgid "Please enter a valid email address"
msgstr "Bitte gib eine gültige E-Mailadresse ein"
#: templates/datacenterlight/index.html:228
#: templates/datacenterlight/pricing.html:79
msgid "Order Now!"
msgstr "Bestelle jetzt!"
#: templates/datacenterlight/index.html:254
#: templates/datacenterlight/index.html:166
msgid "Switzerland "
msgstr "Schweiz"
#: templates/datacenterlight/index.html:271
#: templates/datacenterlight/index.html:183
msgid "Questions?"
msgstr "Fragen?"
#: templates/datacenterlight/index.html:271
#: templates/datacenterlight/index.html:183
msgid "Contact us!"
msgstr "Kontaktiere uns!"
@ -392,11 +398,106 @@ msgstr ""
msgid "as soon as possible!"
msgstr ""
#: views.py:234
#: templates/datacenterlight/whydatacenterlight.html:26
msgid "Tech Stack"
msgstr "Tech Stack"
#: templates/datacenterlight/whydatacenterlight.html:29
msgid "We are seriously open source."
msgstr "Wir sind vollends opensource."
#: templates/datacenterlight/whydatacenterlight.html:30
msgid ""
" Our full software stack is open source We don't use anything that isn't "
"open source. <br>Yes, we are that cool. "
msgstr ""
"Unser gesamter Softwaresstack ist Open-Source Wir verwenden nichts, das "
"nicht Open-Source ist.<br/>Yep, so cool sind wir."
#: templates/datacenterlight/whydatacenterlight.html:37
msgid "Our services run on"
msgstr "Unsere Dienste läuft auf"
#: templates/datacenterlight/whydatacenterlight.html:41
msgid "Our monitoring"
msgstr "Unser Monitoring"
#: templates/datacenterlight/whydatacenterlight.html:45
msgid "Our storage layer"
msgstr "Unser Storage-Layer"
#: templates/datacenterlight/whydatacenterlight.html:49
msgid "Our web frontend"
msgstr "Unser Web-Frontend"
#: templates/datacenterlight/whydatacenterlight.html:53
msgid "Our cloud"
msgstr "Unsere Cloud"
#: templates/datacenterlight/whydatacenterlight.html:57
msgid "Our configuration management system"
msgstr "Unser Konfigurationsmanagementsystem"
#: templates/datacenterlight/whydatacenterlight.html:61
msgid "Our awesome juice"
msgstr "Unser Treibstoff"
#: templates/datacenterlight/whydatacenterlight.html:65
msgid "Our NAT64 gateway"
msgstr "Unser NAT64 Gateway"
#: templates/datacenterlight/whydatacenterlight.html:90
msgid "We believe in giving back to the FOSS community."
msgstr "Wir unterstützen die FOSS Community."
#: templates/datacenterlight/whydatacenterlight.html:91
msgid ""
"Data Center Light is the child of free and open source software (FOSS) "
"movement. <br>We grew up with it, live by it, and believe in it.<br> The "
"more we work on our data center,<br> the more we contribute back to the FOSS "
"community."
msgstr ""
"Data Center Light ist ein Teil der Free und Opens Source Software (FOSS) "
"Bewegung.<br/> Wir sind damit gross geworden, leben damit und glauben daran."
"<br/> Je weiter wir mit unserem Data Center Light vorankommen, desto mehr "
"können wir etwas an die FOSS Community zurückgeben."
#: templates/datacenterlight/whydatacenterlight.html:104
msgid "We bring the future to you."
msgstr "Wir bringen die Zukunft zu dir."
#: templates/datacenterlight/whydatacenterlight.html:107
msgid ""
" Data Center Light uses the most modern technologies out there.<br>\n"
" Your VM needs only IPv6. Data Center Light "
"provides<br> transparent two-way IPv6/IPv4 translation.\n"
" "
msgstr ""
"Data Center Light verwendet die zur Zeit modernsten Technologien.<br/>Deine "
"VM läuft mit IPv6. Data Center Light bietet eine transparente IPv6/IPv4-"
"Zweiweglösung."
#: templates/datacenterlight/whydatacenterlight.html:122
msgid ""
" No more spinning metal plates! Data Center Light uses only SSDs. We keep "
"things faster and lighter. "
msgstr ""
"Keine drehenden Metallplatten mehr! Data Center Light verwendet "
"ausschliesslich SSDs. Wir halten die Dinge schnell, leicht und effizient."
#: templates/datacenterlight/whydatacenterlight.html:138
msgid "Starting from only 15CHF per month. Try now."
msgstr "Unser Angebot beginnt bei 15 CHF pro Monat. Probier's jetzt aus!"
#: templates/datacenterlight/whydatacenterlight.html:139
msgid "Actions speak louder than words. Let's do it, try our VM now."
msgstr "Tagen sagen mehr als Worte Teste jetzt unsere VM!"
#: views.py:235
msgid "is not a proper name"
msgstr "ist kein gültiger Name"
#: views.py:241
#: views.py:242
msgid "is not a proper email"
msgstr "ist keine gültige E-Mailadresse"

View file

@ -640,6 +640,9 @@ tech-sub-sec h2 {
.btm-space{
padding-bottom: 8px;
}
.btm-space-tayga{
padding-bottom: 12px;
}
.percent-text {
font-size: 50px;
color: #999;
@ -826,6 +829,7 @@ tech-sub-sec h2 {
margin-top: 20px;
font-size: 20px;
width: 200px;
border: none;
}
.price-calc-section .card .select-configuration select{
outline: none;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 6 KiB

View file

@ -64,4 +64,5 @@
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js"></script>
</body>
</html>

View file

@ -0,0 +1,89 @@
{% load staticfiles i18n%}
<form id="order_form" method="POST" action="" data-toggle="validator" role="form">
{% csrf_token %}
<div class="title">
<h3>{% trans "VM hosting" %} </h3>
</div>
<div class="price">
<span id="total">15</span>
<span>CHF/{% trans "month" %}</span>
<div class="price-text">
<p>{% trans "VAT included" %}</p>
</div>
</div>
<div class="descriptions">
<div class="description form-group">
<p>{% trans "Hosted in Switzerland" %}</p>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="cpu" aria-hidden="true"></i>
<input class="input-price select-number" type="number" min="1" max="42" id="coreValue" name="cpu" data-error="{% trans 'Please enter a value greater than or equal to 1.' %}" required>
<span> Core</span>
<i class="fa fa-plus-circle right" data-plus="cpu" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="ram" aria-hidden="true"></i>
<input id="ramValue" class="input-price select-number" type="number" min="2" max="200" name="ram" data-error="{% trans 'Please enter a value greater than or equal to 2.' %}" required>
<span> GB RAM</span>
<i class="fa fa-plus-circle right" data-plus="ram" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="storage" aria-hidden="true"></i>
<input id="storageValue" class="input-price select-number" type="number" min="10" max="500" step="10" name="storage" data-error="{% trans 'Please enter a value greater than or equal to 10.' %}" required>
<span>{% trans "GB Storage (SSD)" %}</span>
<i class="fa fa-plus-circle right" data-plus="storage" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="description select-configuration input form-group justify-center">
<label for="config">OS</label>
<select name="config" id="">
{% for template in templates %}
<option value="{{template.id}}">{{template.name}} </option>
{% endfor %}
</select>
</div>
<input type="hidden" name="total">
<!--<div class="description check-ip">
<input type="checkbox" name="ipv6"> Ipv6 Only<br>
</div>-->
<div class="form-group">
<div class="description input justify-center">
<label for="name" class="control-label">{% trans "Name"%}</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Your Name'%}" data-minlength="3" data-error="{% trans 'Please enter your name' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'name' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
<div class="form-group">
<div class="description input justify-center">
<label for="email" class="control-label">{% trans "Email"%}</label>
<input name="email" type="email" pattern="^[^@\s]+@([^@\s]+\.)+[^@\s]+$" class="form-control" placeholder="{% trans 'Your Email' %}" data-error="{% trans 'Please enter a valid email address' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'email' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
</div>
<input type="submit" class="btn btn-primary disabled" value="{% trans 'Order Now!' %}"></input>
</form>

View file

@ -1,6 +1,5 @@
{% extends "datacenterlight/base.html" %}
{% load staticfiles i18n%}
{% get_current_language as LANGUAGE_CODE %}
{% block content %}
@ -139,94 +138,7 @@
<div class="landing card">
<img class="img-beta" src="{% static 'datacenterlight/img/beta-img.png' %}" alt="">
<div class="caption">
<form id="order_form" method="POST" action="" data-toggle="validator" role="form">
{% csrf_token %}
<div class="title">
<h3>{% trans "VM hosting" %} </h3>
</div>
<div class="price">
<span id="total">15</span>
<span>CHF/{% trans "month" %}</span>
<div class="price-text">
<p>{% trans "VAT included" %}</p>
</div>
</div>
<div class="descriptions">
<div class="description form-group">
<p>{% trans "Hosted in Switzerland" %}</p>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="cpu" aria-hidden="true"></i>
<input class="input-price select-number" type="number" min="1" max="42" id="coreValue" name="cpu" data-error="{% trans 'Please enter a value greater than or equal to 1.' %}" required>
<span> Core</span>
<i class="fa fa-plus-circle right" data-plus="cpu" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="ram" aria-hidden="true"></i>
<input id="ramValue" class="input-price select-number" type="number" min="2" max="200" name="ram" data-error="{% trans 'Please enter a value greater than or equal to 2.' %}" required>
<span> GB RAM</span>
<i class="fa fa-plus-circle right" data-plus="ram" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="storage" aria-hidden="true"></i>
<input id="storageValue" class="input-price select-number" type="number" min="10" max="500" step="10" name="storage" data-error="{% trans 'Please enter a value greater than or equal to 10.' %}" required>
<span>{% trans "GB Storage (SSD)" %}</span>
<i class="fa fa-plus-circle right" data-plus="storage" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="description select-configuration input form-group justify-center">
<label for="config">OS</label>
<select name="config" id="">
{% for template in templates %}
<option value="{{template.id}}">{{template.name}} </option>
{% endfor %}
</select>
</div>
<input type="hidden" name="total">
<!--<div class="description check-ip">
<input type="checkbox" name="ipv6"> Ipv6 Only<br>
</div>-->
<div class="form-group">
<div class="description input justify-center">
<label for="name" class="control-label">{% trans "Name"%}</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Your Name'%}" data-minlength="3" data-error="{% trans 'Please enter your name' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'name' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
<div class="form-group">
<div class="description input justify-center">
<label for="email" class="control-label">{% trans "Email"%}</label>
<input name="email" type="email" pattern="^[^@\s]+@([^@\s]+\.)+[^@\s]+$" class="form-control" placeholder="{% trans 'Your Email' %}" data-error="{% trans 'Please enter a valid email address' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'email' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
</div>
<input type="submit" class="btn btn-primary" value="{% trans 'Order Now!' %}"></input>
</form>
{% include "datacenterlight/calculator_form.html" %}
</div>
</div>
</div>

View file

@ -12,7 +12,6 @@
</div>
</div>
<script src="{% static 'datacenterlight/js/jquery.js' %}"></script>
<script type="text/javascript">
window.onload=function(){
@ -30,11 +29,4 @@
};
</script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="{% static 'datacenterlight/js/bootstrap.min.js' %}"></script>
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
{% endblock %}

View file

@ -1,10 +1,7 @@
{% extends "datacenterlight/base.html" %}
{% load staticfiles i18n%}
{% get_current_language as LANGUAGE_CODE %}
{% block content %}
<!-- Why Data Center Light? -->
<div class="full-whydcl-sec">
<div class="whydcl-header whydcl-section" id="why_dcl">
@ -64,7 +61,7 @@
<span class="logo-caption">{% trans "Our awesome juice" %}</span>
</div>
<div class="col-xs-12 col-sm-6 col-md-6 col-md-6 logo-wrap">
<img class="img-responsive" src="{% static 'datacenterlight/img/tayga.png' %}" alt="Tayga">
<img class="img-responsive btm-space-tayga" src="{% static 'datacenterlight/img/tayga.png' %}" alt="Tayga">
<span class="logo-caption">{% trans "Our NAT64 gateway" %}</span>
</div>
@ -91,7 +88,7 @@
<div class="col-xs-12 col-sm-8 col-md-7 text-right">
<div class="tech-sub-sec">
<h2>{% trans "We believe in giving back to the FOSS community." %}</h2>
<p class="lead">{% blocktrans %}Data Center Light is the child of free and open source software (FOSS). <br>We grew up with it, live by it, and believe in it.<br> The more we work on our data center,<br> the more we contribute back to the FOSS community.{% endblocktrans %}</p>
<p class="lead">{% blocktrans %}Data Center Light is the child of free and open source software (FOSS) movement. <br>We grew up with it, live by it, and believe in it.<br> The more we work on our data center,<br> the more we contribute back to the FOSS community.{% endblocktrans %}</p>
</div>
</div>
</div>
@ -126,9 +123,6 @@
</div>
</div>
</div>
</div>
</div>
</div>
@ -150,94 +144,7 @@
<div class="landing card">
<img class="img-beta" src="{% static 'datacenterlight/img/beta-img.png' %}" alt="">
<div class="caption">
<form id="order_form" method="POST" action="" data-toggle="validator" role="form">
{% csrf_token %}
<div class="title">
<h3>{% trans "VM hosting" %} </h3>
</div>
<div class="price">
<span id="total">15</span>
<span>CHF/{% trans "month" %}</span>
<div class="price-text">
<p>{% trans "VAT included" %}</p>
</div>
</div>
<div class="descriptions">
<div class="description form-group">
<p>{% trans "Hosted in Switzerland" %}</p>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="cpu" aria-hidden="true"></i>
<input class="input-price select-number" type="number" min="1" max="42" id="coreValue" name="cpu" data-error="{% trans 'Please enter a value greater than or equal to 1.' %}" required>
<span> Core</span>
<i class="fa fa-plus-circle right" data-plus="cpu" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="ram" aria-hidden="true"></i>
<input id="ramValue" class="input-price select-number" type="number" min="2" max="200" name="ram" data-error="{% trans 'Please enter a value greater than or equal to 2.' %}" required>
<span> GB RAM</span>
<i class="fa fa-plus-circle right" data-plus="ram" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="form-group">
<div class="description input">
<i class="fa fa-minus-circle left" data-minus="storage" aria-hidden="true"></i>
<input id="storageValue" class="input-price select-number" type="number" min="10" max="500" step="10" name="storage" data-error="{% trans 'Please enter a value greater than or equal to 10.' %}" required>
<span>{% trans "GB Storage (SSD)" %}</span>
<i class="fa fa-plus-circle right" data-plus="storage" aria-hidden="true"></i>
</div>
<div class="help-block with-errors"></div>
</div>
<div class="description select-configuration input form-group justify-center">
<label for="config">OS</label>
<select name="config" id="">
{% for template in templates %}
<option value="{{template.id}}">{{template.name}} </option>
{% endfor %}
</select>
</div>
<input type="hidden" name="total">
<!--<div class="description check-ip">
<input type="checkbox" name="ipv6"> Ipv6 Only<br>
</div>-->
<div class="form-group">
<div class="description input justify-center">
<label for="name" class="control-label">{% trans "Name"%}</label>
<input type="text" name="name" class="form-control" placeholder="{% trans 'Your Name'%}" data-minlength="3" data-error="{% trans 'Please enter your name' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'name' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
<div class="form-group">
<div class="description input justify-center">
<label for="email" class="control-label">{% trans "Email"%}</label>
<input name="email" type="email" pattern="^[^@\s]+@([^@\s]+\.)+[^@\s]+$" class="form-control" placeholder="{% trans 'Your Email' %}" data-error="{% trans 'Please enter a valid email address' %}" required>
</div>
<div class="help-block with-errors">
{% for message in messages %}
{% if 'email' in message.tags %}
<ul class="list-unstyled"><li>
{{ message|safe }}
</li></ul>
{% endif %}
{% endfor %}
</div>
</div>
</div>
<input type="submit" class="btn btn-primary" value="{% trans 'Order Now!' %}"></input>
</form>
{% include "datacenterlight/calculator_form.html" %}
</div>
</div>
</div>
@ -249,6 +156,4 @@
</div>
<!-- End Why Data Center Light? -->
{% endblock %}

View file

@ -146,7 +146,6 @@ TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(PROJECT_DIR, 'cms_templates/'),
os.path.join(PROJECT_DIR, 'templates'),
os.path.join(PROJECT_DIR, 'cms_templates/djangocms_blog/'),
os.path.join(PROJECT_DIR, 'membership'),
os.path.join(PROJECT_DIR, 'hosting/templates/'),
@ -154,8 +153,8 @@ TEMPLATES = [
os.path.join(PROJECT_DIR, 'ungleich/templates/djangocms_blog/'),
os.path.join(PROJECT_DIR, 'ungleich/templates/cms/ungleichch'),
os.path.join(PROJECT_DIR, 'ungleich/templates/ungleich'),
os.path.join(PROJECT_DIR, 'ungleich_page/templates/ungleich_page')
os.path.join(PROJECT_DIR, 'ungleich_page/templates/ungleich_page'),
os.path.join(PROJECT_DIR, 'templates/analytics'),
],
'APP_DIRS': True,
'OPTIONS': {

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-01 02:09+0530\n"
"POT-Creation-Date: 2017-07-11 00:02+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,11 +18,11 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: forms.py:28
#: forms.py:25
msgid "Your account is not activated yet."
msgstr "Dein Account wurde noch nicht aktiviert."
#: forms.py:65
#: forms.py:62
msgid "Paste here your public key"
msgstr "Fügen Sie Ihren public key ein"
@ -185,20 +185,14 @@ msgid "New Virtual Machine"
msgstr "Neue virtuelle Maschine"
#: templates/hosting/create_virtual_machine.html:28
#, fuzzy
#| msgid "Select VM Template:"
msgid "Step 1. Select VM Template:"
msgstr "Wähle eine Vorlage"
#: templates/hosting/create_virtual_machine.html:42
#, fuzzy
#| msgid "Select VM Configuration:"
msgid "Step2. Select VM Configuration"
msgstr "Wähle eine Konfiguration"
#: templates/hosting/create_virtual_machine.html:59
#, fuzzy
#| msgid "Pricing"
msgid "Price "
msgstr "Preis"
@ -239,7 +233,7 @@ msgid "Don't have an account yet ? "
msgstr "Besitzt du kein Benutzerkonto?"
#: templates/hosting/login.html:37 templates/hosting/signup.html.py:13
#: templates/hosting/signup.html:21 views.py:223
#: templates/hosting/signup.html:21 views.py:219
msgid "Sign up"
msgstr "Registrieren"
@ -369,28 +363,31 @@ msgid "Billing Address"
msgstr "Rechnungsadresse"
#: templates/hosting/payment.html:52
msgid "Payment Details"
msgstr "Rechnungsdetails"
msgid "Credit Card"
msgstr "Kreditkarte"
#: templates/hosting/payment.html:65
msgid "Submit Payment"
msgstr "Betrag überweisen"
#: templates/hosting/payment.html:56
msgid ""
"Please fill in your credit card information below. We are using <a href="
"\"https://stripe.com\" target=\"_blank\">Stripe</a> for payment and do not "
"store your information in our database."
msgstr ""
"Bitte füll deine Kreditkarteninformationen unten aus. Wir nutzen <a href="
"\"https://stripe.com\" target=\"_blank\">Stripe</a> für die Bezahlung und "
"speichern keine Informationen in unserer Datenbank."
#: templates/hosting/payment.html:84
msgid "CARD NUMBER"
msgstr "Kreditkartennummer"
#: templates/hosting/payment.html:71 templates/hosting/payment.html.py:96
msgid ""
"You are not making any payment yet. After submitting your card information, "
"you will be taken to the Confirm Order Page."
msgstr ""
"Es wird noch keine Bezahlung vorgenommen. Nach der Eingabe deiner "
"Kreditkateninformationen wirst du auf die Bestellbestätigungsseite "
"weitergeleitet."
#: templates/hosting/payment.html:89
msgid "Valid Card Number"
msgstr "Gültige Kreditkartennummer"
#: templates/hosting/payment.html:98
msgid "EXPIRATION DATE"
msgstr "Ablaufdatum"
#: templates/hosting/payment.html:109
msgid "CV CODE"
msgstr "CV Code"
#: templates/hosting/payment.html:76 templates/hosting/payment.html.py:100
msgid "Submit"
msgstr "Absenden"
#: templates/hosting/reset_password.html:15
msgid "Reset your password"
@ -431,14 +428,10 @@ msgid "Created at"
msgstr "Erstellt am"
#: templates/hosting/user_keys.html:43
#, fuzzy
#| msgid "Delete"
msgid "Delete Key"
msgstr "Löschen"
#: templates/hosting/user_keys.html:56
#, fuzzy
#| msgid "Do You want do delete your order?"
msgid "Do You want to delete this key?"
msgstr "Möchtest Du den Schlüssel löschen?"
@ -502,11 +495,11 @@ msgstr "IPv4"
msgid "Ipv6"
msgstr "IPv6"
#: views.py:213 views.py:232
#: views.py:207 views.py:229
msgid "login"
msgstr "einloggen"
#: views.py:217
#: views.py:212
msgid ""
"Thank you for signing up. We have sent an email to you. Please follow the "
"instructions in it to activate your account. Once activated, you can login "
@ -516,32 +509,58 @@ msgstr ""
"den Anweisungen um deinen Account zu aktivieren. Danach kannst du dich über "
"diesen"
#: views.py:218 views.py:243
#: views.py:214 views.py:240
msgid "Go back to"
msgstr "Zurück"
#: views.py:233
#: views.py:230
msgid "Account activation"
msgstr "Accountaktivierung"
#: views.py:236
#: views.py:233
msgid "Your account has been activated."
msgstr "Dein Account wurde aktiviert."
#: views.py:237
#: views.py:234
msgid "You can now"
msgstr "Du kannst dich nun"
#: views.py:242
#: views.py:239
msgid "Sorry. Your request is invalid."
msgstr "Entschuldigung, deine Anfrage ist ungültig."
#: views.py:760
#: views.py:756
msgid ""
"We could not find the requested VM. Please "
"contact Data Center Light Support."
msgstr ""
#~ msgid "Payment Details"
#~ msgstr "Rechnungsdetails"
#~ msgid "Place Order"
#~ msgstr "Bestelle"
#~ msgid ""
#~ "You are not making any payment yet. After placing your order, you will be "
#~ "taken to the Submit Payment Page."
#~ msgstr ""
#~ "Es wird noch keine Bezahlung vorgenommen. Nach der Eingabe deiner "
#~ "Kreditkateninformationen wirst du auf die Bestellbestätigungsseite "
#~ "weitergeleitet."
#~ msgid "CARD NUMBER"
#~ msgstr "Kreditkartennummer"
#~ msgid "Valid Card Number"
#~ msgstr "Gültige Kreditkartennummer"
#~ msgid "EXPIRATION DATE"
#~ msgstr "Ablaufdatum"
#~ msgid "CV CODE"
#~ msgstr "CV Code"
#~ msgid "Home"
#~ msgstr "Home"

View file

@ -49,9 +49,13 @@
<div class="row">
<div class="col-xs-12 col-md-offset-2 col-md-4 "></div>
<div class="col-xs-12 col-md-4 creditcard-box">
<h3><b>{%trans "Payment Details"%}</b></h3>
<h3><b>{%trans "Credit Card"%}</b></h3>
<hr>
<div>
<div>
<p> {% trans 'Please fill in your credit card information below. We are using <a href="https://stripe.com" target="_blank">Stripe</a> for payment and do not store your information in our database.' %}</p>
</div>
<br>
<div>
{% if credit_card_data.last4 %}
<form role="form" id="payment-form-with-creditcard"novalidate>
@ -60,62 +64,43 @@
<h5 class="membership-lead">Type: {{credit_card_data.cc_brand}}</h5>
<input type="hidden" name="credit_card_needed" value="false"/>
</form>
<div class="col-xs-6">
<button id="payment_button_with_creditcard" class="btn btn-success btn-sm btn-block" type="submit">
{% trans "Submit Payment" %}
<div class="row">
<br>
<div class="col-xs-12>
<p style="font-family: Lato;border: 1px solid #a1a1a1;border-radius: 3px; padding: 5px; ">{% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}</p>
</div>
<div class="col-xs-12">
<div class="col-xs-6 pull-right">
<button style="width: 100px; float: right; font-style: normal; font-weight: bold; position: absolute; right: 0;" id="payment_button_with_creditcard" class="btn btn-success" type="submit">
{% trans "Submit" %}
</button>
</div>
</div>
</div>
{% else %}
<form role="form" id="payment-form" novalidate>
<div class="row">
<div class="form-group">
<div class="form-group col-xs-12">
<div id="card-element">
<!-- a Stripe Element will be inserted here. -->
</div>
</div>
</div>
<div id="card-errors" role="alert"></div>
<!-- <div class="row">
<div class="col-xs-9 col-md-12">
<div class="form-group">
<label class="control-label" for="cardNumber">{%trans "CARD NUMBER"%}</label>
<div class="input-group">
<input type="text"
class="form-control"
name="cardNumber"
placeholder="{%trans "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">{%trans "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" />
<br>
<div class="col-xs-12">
<p style="font-family: Lato;border: 1px solid #a1a1a1;border-radius: 3px; padding: 5px;"> {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}</p>
</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 class="col-xs-12">
<div class="col-xs-6 pull-right">
<button style="width: 100px; float: right; font-style: normal; font-weight: bold; position: absolute; right: 0;" class="btn btn-success" type="submit">{% trans "Submit" %}</button>
</div>
</div>
</div>
<div class="col-xs-4 col-md-5 pull-right">
<div class="form-group">
<label for="cvCode">{%trans "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-6 float-right">
<button class="btn btn-success btn-sm 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>
@ -164,7 +149,3 @@
{%endif%}
{%endblock%}