Fix conflicts
1
.gitignore
vendored
|
@ -34,4 +34,3 @@ secret-key
|
|||
.idea/
|
||||
|
||||
.env
|
||||
*.mo
|
||||
|
|
31
Changelog
|
@ -1,14 +1,12 @@
|
|||
1.0.0: 2017-05-25
|
||||
* Initial stable release
|
||||
1.0.1: 2017-05-26
|
||||
* [datacenterlight] Allow storage to shrink / grow only in 10th of GB
|
||||
* [datacenterlight] Fix initially shown price
|
||||
1.0.2: 2017-05-28
|
||||
* [datacenterlight] Fixed login redirecting to blank page after logout
|
||||
1.0.3: 2017-06-02
|
||||
* [datacenterlight] Hotfix, remove footer on mobile devices
|
||||
|
||||
next:
|
||||
1.0.8: 2017-06-08
|
||||
* [datacenterlight] Fixed german typos
|
||||
* [datacenterlight] Refactored dcl order/success templates
|
||||
1.0.7: 2017-06-08
|
||||
* [datacenterlight] Fixed an issue causing header images not appear in the blog
|
||||
1.0.6: 2017-06-06
|
||||
* [datacenterlight] Hotfix, feature/manualorder added
|
||||
1.0.5: 2017-06-06
|
||||
* [all] General cleanup
|
||||
* [datacenterlight] Add German translations
|
||||
* [datacenterlight] Change beta access to subscriptions
|
||||
* [hosting] Add German translations
|
||||
|
@ -18,3 +16,14 @@ next:
|
|||
* [datacenterlight] Allow user to have multiple ssh keys
|
||||
* [datacenterlight] Changed stripe.js v2 to v3
|
||||
* [datacenterlight] Added support for stripe payment errors on current user language
|
||||
1.0.4: 2017-06-05
|
||||
* [all] Added new Domains to accept
|
||||
1.0.3: 2017-06-02
|
||||
* [datacenterlight] Hotfix, remove footer on mobile devices
|
||||
1.0.2: 2017-05-28
|
||||
* [datacenterlight] Fixed login redirecting to blank page after logout
|
||||
1.0.1: 2017-05-26
|
||||
* [datacenterlight] Allow storage to shrink / grow only in 10th of GB
|
||||
* [datacenterlight] Fix initially shown price
|
||||
1.0.0: 2017-05-25
|
||||
* Initial stable release
|
||||
|
|
BIN
alplora/locale/de/LC_MESSAGES/django.mo
Normal file
|
@ -1,4 +1,5 @@
|
|||
{% load cms_tags staticfiles %}
|
||||
{% load i18n %}
|
||||
<!-- Page Header -->
|
||||
<!-- Set your background image for this header on the line below. -->
|
||||
<header class="intro-header"
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
user www-data;
|
||||
worker_processes 2;
|
||||
pid /var/run/nginx.pid;
|
||||
daemon off;
|
||||
|
||||
events {
|
||||
worker_connections 512;
|
||||
# multi_accept on;
|
||||
}
|
||||
|
||||
http {
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
tcp_nodelay on;
|
||||
keepalive_timeout 65;
|
||||
types_hash_max_size 2048;
|
||||
server_tokens off;
|
||||
port_in_redirect on;
|
||||
|
||||
server_names_hash_bucket_size 128;
|
||||
server_name_in_redirect off;
|
||||
|
||||
client_max_body_size 60m;
|
||||
|
||||
include /etc/nginx/mime.types;
|
||||
default_type application/octet-stream;
|
||||
|
||||
send_timeout 300;
|
||||
client_body_timeout 300;
|
||||
client_header_timeout 300;
|
||||
|
||||
access_log /logs/access.log;
|
||||
error_log /logs/error.log;
|
||||
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
gzip_vary on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
|
||||
|
||||
upstream django {
|
||||
server 127.0.0.1:8000;
|
||||
}
|
||||
|
||||
server {
|
||||
listen 80 default;
|
||||
server_name localhost;
|
||||
location / {
|
||||
proxy_pass http://django;
|
||||
include proxy_params;
|
||||
}
|
||||
location /media/ {
|
||||
root /data;
|
||||
expires max;
|
||||
access_log off;
|
||||
}
|
||||
location /static/ {
|
||||
root /data;
|
||||
expires max;
|
||||
access_log off;
|
||||
}
|
||||
location ~ /\.ht { deny all; }
|
||||
location ~ /\.hg { deny all; }
|
||||
location ~ /\.svn { deny all; }
|
||||
}
|
||||
}
|
|
@ -1,25 +0,0 @@
|
|||
server {
|
||||
listen 80;
|
||||
server_name dynamicweb-staging.ungleich.ch;
|
||||
|
||||
location /static {
|
||||
alias /home/app/django/dynamicweb/static/;
|
||||
}
|
||||
|
||||
location /media {
|
||||
alias /home/app/django/dynamicweb/media/;
|
||||
}
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:8000/;
|
||||
proxy_pass_header Server;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_redirect off;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Scheme $scheme;
|
||||
proxy_connect_timeout 600;
|
||||
proxy_send_timeout 600;
|
||||
proxy_read_timeout 600;
|
||||
}
|
||||
}
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-09 14:40-0500\n"
|
||||
"POT-Creation-Date: 2017-06-09 16:08-0500\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"
|
||||
|
@ -27,14 +27,14 @@ msgid "Enter email"
|
|||
msgstr "E-Mail-Adresse"
|
||||
|
||||
#: templates/datacenterlight/beta_access.html:21
|
||||
msgid "Request Newsletter"
|
||||
msgstr "Newsletter abonnieren"
|
||||
msgid "Request Beta Access"
|
||||
msgstr "Beantrage Beta-Zugang"
|
||||
|
||||
#: templates/datacenterlight/beta_success.html:9
|
||||
#: templates/datacenterlight/beta_success.html:10
|
||||
msgid "Request Sent"
|
||||
msgstr "Anfrage verschickt"
|
||||
|
||||
#: templates/datacenterlight/beta_success.html:12
|
||||
#: templates/datacenterlight/beta_success.html:13
|
||||
msgid ""
|
||||
"Thank you for your subscription! You will receive a confirmation mail from "
|
||||
"our team"
|
||||
|
@ -75,71 +75,42 @@ msgstr ""
|
|||
msgid "Thank you!"
|
||||
msgstr "Vielen Dank!"
|
||||
|
||||
#: templates/datacenterlight/index.html:62
|
||||
#: templates/datacenterlight/index.html:147
|
||||
#: templates/datacenterlight/index.html:346
|
||||
#: templates/datacenterlight/pricing.html:62
|
||||
#: templates/datacenterlight/pricing.html:202
|
||||
msgid "What is it"
|
||||
msgstr "Was ist es?"
|
||||
|
||||
#: templates/datacenterlight/index.html:65
|
||||
#: templates/datacenterlight/index.html:190
|
||||
#: templates/datacenterlight/index.html:349
|
||||
#: templates/datacenterlight/pricing.html:65
|
||||
#: templates/datacenterlight/pricing.html:205
|
||||
msgid "Scale out"
|
||||
msgstr "Skalierung"
|
||||
|
||||
#: templates/datacenterlight/index.html:68
|
||||
#: templates/datacenterlight/index.html:216
|
||||
#: templates/datacenterlight/index.html:352
|
||||
#: templates/datacenterlight/pricing.html:68
|
||||
#: templates/datacenterlight/pricing.html:208
|
||||
msgid "Reliable and light"
|
||||
msgstr "Zuverlässig und leicht"
|
||||
|
||||
#: templates/datacenterlight/index.html:71
|
||||
msgid "Order VM"
|
||||
msgstr "VM bestellen"
|
||||
|
||||
#: templates/datacenterlight/index.html:74
|
||||
#: templates/datacenterlight/index.html:359
|
||||
#: templates/datacenterlight/pricing.html:74
|
||||
#: templates/datacenterlight/pricing.html:215
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: templates/datacenterlight/index.html:114
|
||||
#: templates/datacenterlight/home.html:15
|
||||
msgid "Finally, an affordable VM hosting in Switzerland!"
|
||||
msgstr "Endlich: bezahlbares VM Hosting in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:118
|
||||
#: templates/datacenterlight/home.html:19
|
||||
msgid "What is it?"
|
||||
msgstr "Was ist es?"
|
||||
|
||||
#: templates/datacenterlight/index.html:121
|
||||
#: templates/datacenterlight/home.html:22
|
||||
msgid "I want it!"
|
||||
msgstr "Das will ich haben!"
|
||||
|
||||
#: templates/datacenterlight/index.html:150
|
||||
#: templates/datacenterlight/home.html:46
|
||||
#: templates/datacenterlight/includes/_footer.html:14
|
||||
#: templates/datacenterlight/includes/_navbar.html:26
|
||||
msgid "What is it"
|
||||
msgstr "Was ist es?"
|
||||
|
||||
#: templates/datacenterlight/home.html:49
|
||||
msgid "Our data center"
|
||||
msgstr "Unser Datacenter"
|
||||
|
||||
#: templates/datacenterlight/index.html:157
|
||||
#: templates/datacenterlight/home.html:56
|
||||
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:162
|
||||
#: templates/datacenterlight/home.html:61
|
||||
msgid "Only wants you to pay for what you actually need.\\u2028"
|
||||
msgstr ""
|
||||
"Möchte, dass du nur bezahlst, was du auch wirklich brauchst: Wähle deine "
|
||||
"Ressourcen individuell aus!
"
|
||||
|
||||
#: templates/datacenterlight/index.html:166
|
||||
#: templates/datacenterlight/home.html:65
|
||||
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.\\u2028"
|
||||
|
@ -148,7 +119,7 @@ msgstr ""
|
|||
"macht um Nachhaltigkeit zu fördern und somit erschwingliche Preise bieten zu "
|
||||
"können.
"
|
||||
|
||||
#: templates/datacenterlight/index.html:170
|
||||
#: templates/datacenterlight/home.html:69
|
||||
msgid ""
|
||||
"Cuts down the costs for you by using FOSS (Free Open Source Software) "
|
||||
"exclusively, wherefore we can save money from paying licenses."
|
||||
|
@ -157,7 +128,13 @@ msgstr ""
|
|||
"mit FOSS (Free Open Source Software) arbeitet und wir daher auf "
|
||||
"Lizenzgebühren verzichten können.
"
|
||||
|
||||
#: templates/datacenterlight/index.html:193
|
||||
#: templates/datacenterlight/home.html:89
|
||||
#: templates/datacenterlight/includes/_footer.html:17
|
||||
#: templates/datacenterlight/includes/_navbar.html:29
|
||||
msgid "Scale out"
|
||||
msgstr "Skalierung"
|
||||
|
||||
#: templates/datacenterlight/home.html:92
|
||||
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 "
|
||||
|
@ -167,7 +144,13 @@ msgstr ""
|
|||
"erschwingliche Systeme. Bei grösserer Auslastung werden mehr Standard "
|
||||
"komponenten hinzugekauft und skalieren so das Datencenter."
|
||||
|
||||
#: templates/datacenterlight/index.html:219
|
||||
#: templates/datacenterlight/home.html:115
|
||||
#: templates/datacenterlight/includes/_footer.html:20
|
||||
#: templates/datacenterlight/includes/_navbar.html:32
|
||||
msgid "Reliable and light"
|
||||
msgstr "Zuverlässig und leicht"
|
||||
|
||||
#: templates/datacenterlight/home.html:118
|
||||
msgid ""
|
||||
"Our VMs are located in Switzerland, with reliable power supply and fast "
|
||||
"internet connection. Our VM costs less thanks to our featherlight "
|
||||
|
@ -177,78 +160,84 @@ msgstr ""
|
|||
"Energieversorgung sowie schneller Internetverbindung ausgestattet. Unser "
|
||||
"Angebot ist aufgrund unserer leichten Infrastruktur überaus kostengünstig."
|
||||
|
||||
#: templates/datacenterlight/index.html:237
|
||||
#: templates/datacenterlight/pricing.html:106
|
||||
#: templates/datacenterlight/home.html:136
|
||||
#: templates/datacenterlight/order.html:9
|
||||
#: templates/datacenterlight/pricing.html:9
|
||||
msgid "We are cutting down the costs significantly!"
|
||||
msgstr "Wir sorgen dafür, dass die Kosten für Sie signifikant abnehmen"
|
||||
|
||||
#: templates/datacenterlight/index.html:238
|
||||
#: templates/datacenterlight/home.html:137
|
||||
msgid "Affordable VM hosting based in Switzerland"
|
||||
msgstr "Bezahlbares VM Hosting in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:245
|
||||
#: templates/datacenterlight/pricing.html:119
|
||||
#: templates/datacenterlight/home.html:144
|
||||
#: templates/datacenterlight/order.html:22
|
||||
#: templates/datacenterlight/pricing.html:22
|
||||
msgid "VM hosting"
|
||||
msgstr "VM Hosting"
|
||||
|
||||
#: templates/datacenterlight/index.html:252
|
||||
#: templates/datacenterlight/home.html:151
|
||||
msgid "Based in Switzerland"
|
||||
msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:261
|
||||
#: templates/datacenterlight/home.html:160
|
||||
msgid "10 GB Storage (SSD)"
|
||||
msgstr "10 GB Storage (SSD)"
|
||||
|
||||
#: templates/datacenterlight/index.html:264
|
||||
#: templates/datacenterlight/pricing.html:173
|
||||
#: templates/datacenterlight/home.html:163
|
||||
#: templates/datacenterlight/order.html:74
|
||||
#: templates/datacenterlight/pricing.html:76
|
||||
msgid "Order Now!"
|
||||
msgstr "Bestelle jetzt!"
|
||||
|
||||
#: templates/datacenterlight/index.html:280
|
||||
msgid "Want to know more? Subscribe to our newsletter!"
|
||||
msgstr "Willst du mehr wissen? Abonniere unseren Newsletter!"
|
||||
|
||||
#: templates/datacenterlight/index.html:307
|
||||
#: templates/datacenterlight/home.html:186
|
||||
msgid "Switzerland "
|
||||
msgstr "Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:324
|
||||
#: templates/datacenterlight/home.html:203
|
||||
msgid "Questions?"
|
||||
msgstr "Fragen?"
|
||||
|
||||
#: templates/datacenterlight/index.html:324
|
||||
#: templates/datacenterlight/home.html:203
|
||||
msgid "Contact us!"
|
||||
msgstr "Kontaktiere uns!"
|
||||
|
||||
#: templates/datacenterlight/index.html:342
|
||||
#: templates/datacenterlight/pricing.html:198
|
||||
#: templates/datacenterlight/includes/_footer.html:10
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: templates/datacenterlight/index.html:355
|
||||
#: templates/datacenterlight/pricing.html:211
|
||||
#: templates/datacenterlight/includes/_footer.html:23
|
||||
msgid "Pricing"
|
||||
msgstr "Preise"
|
||||
|
||||
#: templates/datacenterlight/pricing.html:71
|
||||
msgid "Buy VM"
|
||||
msgstr "VM Kaufen"
|
||||
#: templates/datacenterlight/includes/_footer.html:27
|
||||
#: templates/datacenterlight/includes/_navbar.html:38
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: templates/datacenterlight/pricing.html:127
|
||||
#: templates/datacenterlight/includes/_navbar.html:35
|
||||
msgid "Order VM"
|
||||
msgstr "VM bestellen"
|
||||
|
||||
#: templates/datacenterlight/order.html:30
|
||||
#: templates/datacenterlight/pricing.html:30
|
||||
msgid "Hosted in Switzerland"
|
||||
msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/pricing.html:144
|
||||
#: templates/datacenterlight/order.html:47
|
||||
#: templates/datacenterlight/pricing.html:47
|
||||
msgid "GB Storage (SSD)"
|
||||
msgstr "GB Storage (SSD)"
|
||||
|
||||
#: templates/datacenterlight/pricing.html:180
|
||||
#: templates/datacenterlight/order.html:84
|
||||
#: templates/datacenterlight/pricing.html:83
|
||||
msgid "Simple and affordable: Try our virtual machine with featherlight price."
|
||||
msgstr ""
|
||||
"Einfach und bezahlbar: Testen Sie unsere virtuelen Machinen mit "
|
||||
"Einfach und bezahlbar: Testen Sie unsere virtuellen Maschinen mit "
|
||||
"federleichten Preisen"
|
||||
|
||||
#: templates/datacenterlight/pricing.html:183
|
||||
#: templates/datacenterlight/order.html:87
|
||||
#: templates/datacenterlight/pricing.html:86
|
||||
msgid ""
|
||||
"Our VMs are hosted in Glarus, Switzerland, and our website is currently "
|
||||
"running in BETA mode. If you want more information that you did not find on "
|
||||
|
@ -264,34 +253,51 @@ msgstr ""
|
|||
"uns unter support@datacenterlight.ch. Unser Team wird sich umgehend um dein "
|
||||
"Anliegen kümmern!"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Is located in Glarus, Switzerland where your data is under strict privacy."
|
||||
#~ msgstr ""
|
||||
#~ "Befindet sich in Glarus, in der Schweiz, wo deine Daten unter striktem "
|
||||
#~ "Schutz stehen."
|
||||
#: templates/datacenterlight/success.html:8
|
||||
msgid "Thank you for order! Our team will contact you via email"
|
||||
msgstr ""
|
||||
"Vielen Dank für die Bestellung. Unser Team setzt sich sobald wie möglich mit "
|
||||
"Ihnen via E-Mail in Verbindung."
|
||||
|
||||
#~ msgid "Has qualified workers on site who take care of the hardware.\\u2028"
|
||||
#~ msgstr ""
|
||||
#~ "Hat qualifizierte Mitarbeiter vor Ort, die sich um die Hardware kümmern."
|
||||
#: templates/datacenterlight/success.html:10
|
||||
msgid "as soon as possible!"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Renounces active cooling by taking an advantage of the isolation of our "
|
||||
#~ "tight factory walls."
|
||||
#~ "Reuse existing factory halls intead of building an expensive building."
|
||||
#~ msgstr ""
|
||||
#~ "Verzichtet auf aktive Kühlung, indem es sich die Isolation unserer "
|
||||
#~ "ehemaligen Fabrikhalle zu Nutze macht."
|
||||
#~ "Nachhaltigkeit: Wiederverwendung ehemaliger Fabrikhallen an Stelle der "
|
||||
#~ "Errichtung eines neuen Gebäudes"
|
||||
|
||||
#~ msgid "More Info"
|
||||
#~ msgstr "Weitere Informationen"
|
||||
|
||||
#~ msgid "How it works"
|
||||
#~ msgstr "Wie es funktioniert"
|
||||
#~ msgid ""
|
||||
#~ "Being creative, using modern and alternative design for a datacenter."
|
||||
#~ msgstr ""
|
||||
#~ "Kreativität: Verwendung eines modernen und alternativen Designs für unser "
|
||||
#~ "Datencenter"
|
||||
|
||||
#~ msgid "Being open: Using FOSS exclusively, we can save money for licenses."
|
||||
#~ msgstr ""
|
||||
#~ "Offene Verfahrensweise: Die Benutzung eines eigenen Frameworks, FOSS, "
|
||||
#~ "erspart Lizenzgebühren"
|
||||
|
||||
#~ msgid "More Info"
|
||||
#~ msgstr "Weitere Informationen"
|
||||
|
||||
#~ msgid "Want to know more? Subscribe to our newsletter!"
|
||||
#~ msgstr "Willst du mehr wissen? Abonniere unseren Newsletter!"
|
||||
|
||||
#~ msgid "I want to have it!"
|
||||
#~ msgstr "Das möchte ich haben!"
|
||||
|
||||
#~ msgid "Buy VM"
|
||||
#~ msgstr "VM Kaufen"
|
||||
|
||||
#~ msgid "Request Newsletter"
|
||||
#~ msgstr "Newsletter abonnieren"
|
||||
|
||||
#~ msgid "How it works"
|
||||
#~ msgstr "Wie es funktioniert"
|
||||
|
||||
#~ msgid "Our VMs are hosted in Glarus, Switzerland."
|
||||
#~ msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
|
||||
|
@ -304,18 +310,9 @@ msgstr ""
|
|||
#~ "davon nichts mitbekommen, falls doch melden Sie sich bitte via "
|
||||
#~ "support@datacenterlight.ch"
|
||||
|
||||
#~ msgid "Request Beta Access"
|
||||
#~ msgstr "Beantrage Beta-Zugang"
|
||||
|
||||
#~ msgid "Thank you, we will contact you as soon as possible"
|
||||
#~ msgstr "Vielen Dank, wir werden Sie sobald als möglich kontaktieren."
|
||||
|
||||
#~ msgid "Buy Now!"
|
||||
#~ msgstr "Kaufe jetzt!"
|
||||
|
||||
#~ msgid "I want to try!"
|
||||
#~ msgstr "Das möchte ich haben"
|
||||
|
||||
#~ msgid "Email address"
|
||||
#~ msgstr "E-Mail Adresse"
|
||||
|
||||
|
|
|
@ -280,6 +280,10 @@ h6 {
|
|||
align-items: center;
|
||||
position: relative;
|
||||
}
|
||||
.intro-pricing.success-pricing{
|
||||
height: 100vh;
|
||||
max-height: 100vh;
|
||||
}
|
||||
.intro-pricing::before{
|
||||
content: "";
|
||||
position: absolute;
|
||||
|
@ -287,7 +291,7 @@ h6 {
|
|||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(90, 116, 175, 0.8);
|
||||
background: rgba(90, 116, 175, 0.7);
|
||||
}
|
||||
.intro-pricing .intro-message .section-heading{
|
||||
font-size: 45px;
|
||||
|
@ -507,7 +511,6 @@ h6 {
|
|||
position: relative;
|
||||
}
|
||||
.full-contact-section{
|
||||
padding-top: 90px;
|
||||
background-image: -ms-linear-gradient(right, #29427A 50%, #4F6699 100%);
|
||||
background-image: -moz-linear-gradient(right, #29427A 50%, #4F6699 100%);
|
||||
background-image: -o-linear-gradient(right, #29427A 50%, #4F6699 100%);
|
||||
|
@ -642,7 +645,7 @@ h6 {
|
|||
}
|
||||
|
||||
.price-calc-section .card .description span {
|
||||
font-size: 18px;
|
||||
font-size: 16px;
|
||||
margin-left: 4px;
|
||||
margin-left: 0px;
|
||||
/* justify-self: start; */
|
||||
|
@ -866,6 +869,11 @@ h6 {
|
|||
color: #29427A;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.intro-pricing .intro-message .section-heading {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.price-calc-section{
|
||||
flex-direction: column;
|
||||
padding: 60px 10px !important;
|
||||
|
@ -900,7 +908,6 @@ h6 {
|
|||
width: 60px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media(max-width:540px) {
|
||||
|
@ -1018,3 +1025,7 @@ a#forgotpassword {
|
|||
.form-300{
|
||||
width: 300px;
|
||||
}
|
||||
|
||||
.error-message-box{
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
|
|
@ -138,59 +138,3 @@
|
|||
|
||||
|
||||
})(jQuery);
|
||||
// (function($){
|
||||
// 'use strict'; // Start of use strict
|
||||
|
||||
|
||||
|
||||
// $(document).ready(function(){
|
||||
// verifiedUrl();
|
||||
// init_options_interested();
|
||||
// init_nav();
|
||||
// change_values();
|
||||
// });
|
||||
|
||||
// function verifiedUrl(){
|
||||
// if(window.location.href.indexOf('#success') > -1){
|
||||
// form_success();
|
||||
// }
|
||||
// }
|
||||
|
||||
// function init_options_interested(){
|
||||
// $('.row-vms').click(function(){
|
||||
// $('.row-vms').removeClass('row-vms__active');
|
||||
// $(this).addClass('row-vms__active');
|
||||
// var number = $('.row-vms__active input').val();
|
||||
// var price = $('.row-vms__active input').data('price');
|
||||
// _calculate(number, price);
|
||||
// });
|
||||
// }
|
||||
|
||||
// function init_nav(){
|
||||
|
||||
// $('.nav-local').click(function(){
|
||||
// $('html, body').animate({
|
||||
// scrollTop: $('#'+$(this).data('href')).offset().top
|
||||
// });
|
||||
// });
|
||||
|
||||
// }
|
||||
|
||||
// function change_values(){
|
||||
// $('.number-vms').keyup(function () {
|
||||
// var number = $(this).val();
|
||||
// var price = $(this).data('price');
|
||||
// _calculate(number, price);
|
||||
// });
|
||||
|
||||
// }
|
||||
// function form_success(){
|
||||
// $('#sucessModal').modal('show');
|
||||
// }
|
||||
// function _calculate(numbers, price){
|
||||
// $('#valueTotal').text(numbers*price*31);
|
||||
// }
|
||||
|
||||
|
||||
// })(jQuery); // End of use strict
|
||||
|
||||
|
|
|
@ -1,24 +1,21 @@
|
|||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<html lang="{{LANGUAGE_CODE}}">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
|
||||
<title>datacenterlight.ch - Featherlight Swiss VM</title>
|
||||
<meta name="description" content="Data Center Light by ungleich">
|
||||
<meta name="author" content="ungleich GmbH">
|
||||
|
||||
<title>Data Center Light -
|
||||
{% block title %}VM hosting made in Switzerland{% endblock %}</title>
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{% static 'datacenterlight/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<!--Import Google Icon Font-->
|
||||
<link href="//fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
|
@ -36,7 +33,6 @@
|
|||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
@ -54,21 +50,6 @@
|
|||
<!-- jQuery -->
|
||||
<script src="{% static 'datacenterlight/js/jquery.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.onload=function(){
|
||||
$('.selectpicker').selectpicker({
|
||||
style: 'btn-link',
|
||||
windowPadding: 10,
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "{% url 'datacenterlight:beta_access' %}",
|
||||
context: document.body
|
||||
}).done(function(response) {
|
||||
$('#beta_access_form').html(response);
|
||||
});
|
||||
};
|
||||
</script>
|
||||
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.js"></script>
|
||||
|
||||
|
@ -77,7 +58,53 @@
|
|||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
<!-- Load form js -->
|
||||
<script src="{% static 'datacenterlight/js/form.js' %}"></script>
|
||||
<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>
|
||||
|
||||
</body>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$.validator.setDefaults({
|
||||
ignore: []
|
||||
});
|
||||
|
||||
$('#order_form').validate({
|
||||
wrapper: 'div',
|
||||
errorLabelContainer: "#error_message_box",
|
||||
rules: {
|
||||
name: {
|
||||
required: true,
|
||||
minlength: 3
|
||||
},
|
||||
email: {
|
||||
required: true,
|
||||
email: true
|
||||
}
|
||||
},
|
||||
messages: {
|
||||
name: "Please enter your name",
|
||||
email: "Please enter a valid email address"
|
||||
},
|
||||
submitHandler: function (form) {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// window.onload=function(){
|
||||
// $('.selectpicker').selectpicker({
|
||||
// style: 'btn-link',
|
||||
// windowPadding: 10,
|
||||
// });
|
||||
|
||||
// var hash = window.location.hash.substr(1);
|
||||
// console.log(hash);
|
||||
// if (hash == 'requestform'){
|
||||
// $('#reques-success-message').modal('show');
|
||||
// }
|
||||
|
||||
// };
|
||||
</script>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<span style="color: white">{{ form.email.errors|striptags}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default btn-transparent btn-lg">{% trans "Request Newsletter" %}</button>
|
||||
<button type="submit" class="btn btn-default btn-transparent btn-lg">{% trans "Request Beta Access" %}</button>
|
||||
</form>
|
||||
<script>
|
||||
$('#beta_access').ajaxForm({
|
||||
|
|
|
@ -0,0 +1,137 @@
|
|||
{% load static from staticfiles %}
|
||||
<!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b -->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Oxygen Invoice</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;">
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width: 480px) {
|
||||
table[class*="container-for-gmail-android"] {
|
||||
min-width: 290px !important; width: 100% !important;
|
||||
}
|
||||
img[class="force-width-gmail"] {
|
||||
display: none !important; width: 0 !important; height: 0 !important;
|
||||
}
|
||||
table[class="w320"] {
|
||||
width: 320px !important;
|
||||
}
|
||||
td[class*="mobile-header-padding-left"] {
|
||||
width: 160px !important; padding-left: 0 !important;
|
||||
}
|
||||
td[class*="mobile-header-padding-right"] {
|
||||
width: 160px !important; padding-right: 0 !important;
|
||||
}
|
||||
td[class="header-lg"] {
|
||||
font-size: 24px !important; padding-bottom: 5px !important;
|
||||
}
|
||||
td[class="content-padding"] {
|
||||
padding: 5px 0 5px !important;
|
||||
}
|
||||
td[class="button"] {
|
||||
padding: 5px 5px 30px !important;
|
||||
}
|
||||
td[class*="free-text"] {
|
||||
padding: 10px 18px 30px !important;
|
||||
}
|
||||
td[class~="mobile-hide-img"] {
|
||||
display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important;
|
||||
}
|
||||
td[class~="item"] {
|
||||
width: 140px !important; vertical-align: top !important;
|
||||
}
|
||||
td[class~="quantity"] {
|
||||
width: 50px !important;
|
||||
}
|
||||
td[class~="price"] {
|
||||
width: 90px !important;
|
||||
}
|
||||
td[class="item-table"] {
|
||||
padding: 30px 20px !important;
|
||||
}
|
||||
td[class="mini-container-left"] {
|
||||
padding: 0 15px 15px !important; display: block !important; width: 290px !important;
|
||||
}
|
||||
td[class="mini-container-right"] {
|
||||
padding: 0 15px 15px !important; display: block !important; width: 290px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px; background-color: #ffffff" align="center">
|
||||
<!--[if gte mso 9]>
|
||||
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;">
|
||||
<v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" />
|
||||
<v:textbox inset="0,0,0,0">
|
||||
<![endif]-->
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle">
|
||||
<a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a>
|
||||
</td>
|
||||
<td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right">
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
<!--[if gte mso 9]>
|
||||
</v:textbox>
|
||||
</v:rect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center">
|
||||
We have received a new order.
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center">
|
||||
<p>
|
||||
<h4>User details</h4>
|
||||
Name: {{name}} <br/>
|
||||
Email: {{email}} <br/>
|
||||
|
||||
<h4>VM details</h4>
|
||||
Cores: {{cores}} <br/>
|
||||
Memory: {{memory}} <br/>
|
||||
Storage: {{storage}} <br/>
|
||||
Price: {{price}} <br/>
|
||||
Template: {{template}} <br/>
|
||||
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="button" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 0;" align="center"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,137 @@
|
|||
{% load static from staticfiles %}
|
||||
<!-- Inliner Build Version 4380b7741bb759d6cb997545f3add21ad48f010b -->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Oxygen Invoice</title>
|
||||
</head>
|
||||
<body bgcolor="#ffffff" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; width: 100% !important; height: 100%; color: white; margin: 0;">
|
||||
<style type="text/css">
|
||||
@media only screen and (max-width: 480px) {
|
||||
table[class*="container-for-gmail-android"] {
|
||||
min-width: 290px !important; width: 100% !important;
|
||||
}
|
||||
img[class="force-width-gmail"] {
|
||||
display: none !important; width: 0 !important; height: 0 !important;
|
||||
}
|
||||
table[class="w320"] {
|
||||
width: 320px !important;
|
||||
}
|
||||
td[class*="mobile-header-padding-left"] {
|
||||
width: 160px !important; padding-left: 0 !important;
|
||||
}
|
||||
td[class*="mobile-header-padding-right"] {
|
||||
width: 160px !important; padding-right: 0 !important;
|
||||
}
|
||||
td[class="header-lg"] {
|
||||
font-size: 24px !important; padding-bottom: 5px !important;
|
||||
}
|
||||
td[class="content-padding"] {
|
||||
padding: 5px 0 5px !important;
|
||||
}
|
||||
td[class="button"] {
|
||||
padding: 5px 5px 30px !important;
|
||||
}
|
||||
td[class*="free-text"] {
|
||||
padding: 10px 18px 30px !important;
|
||||
}
|
||||
td[class~="mobile-hide-img"] {
|
||||
display: none !important; height: 0 !important; width: 0 !important; line-height: 0 !important;
|
||||
}
|
||||
td[class~="item"] {
|
||||
width: 140px !important; vertical-align: top !important;
|
||||
}
|
||||
td[class~="quantity"] {
|
||||
width: 50px !important;
|
||||
}
|
||||
td[class~="price"] {
|
||||
width: 90px !important;
|
||||
}
|
||||
td[class="item-table"] {
|
||||
padding: 30px 20px !important;
|
||||
}
|
||||
td[class="mini-container-left"] {
|
||||
padding: 0 15px 15px !important; display: block !important; width: 290px !important;
|
||||
}
|
||||
td[class="mini-container-right"] {
|
||||
padding: 0 15px 15px !important; display: block !important; width: 290px !important;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<table align="center" cellpadding="0" cellspacing="0" class="container-for-gmail-android" width="100%" style="border-collapse: collapse !important; min-width: 600px; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="left" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff url(http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg) repeat-x;" bgcolor="#ffffff">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="100%" bgcolor="#ffffff" background="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; background: transparent;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td width="100%" height="80" valign="top" style="text-align: center; vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; line-height: 21px; background-color: #ffffff" align="center">
|
||||
<!--[if gte mso 9]>
|
||||
<v:rect xmlns:v="urn:schemas-microsoft-com:vml" fill="true" stroke="false" style="mso-width-percent:1000;height:80px; v-text-anchor:middle;">
|
||||
<v:fill type="tile" src="http://s3.amazonaws.com/swu-filepicker/4E687TRe69Ld95IDWyEg_bg_top_02.jpg" color="#ffffff" />
|
||||
<v:textbox inset="0,0,0,0">
|
||||
<![endif]-->
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellpadding="0" cellspacing="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="pull-left mobile-header-padding-left" style="vertical-align: middle; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 290px; padding-left: 10px;" align="left" valign="middle">
|
||||
<a href="{{base_url}}" style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; color: #676767; text-decoration: none !important;"><img width="137" src="{{base_url}}{% static 'datacenterlight/img/datacenterlight.png' %}" alt="logo" style="max-width: 600px; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; border: none;"></a>
|
||||
</td>
|
||||
<td class="pull-right mobile-header-padding-right" style="color: #4d4d4d; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; text-align: right; line-height: 21px; width: 290px; padding-left: 10px;" align="right">
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
<!--[if gte mso 9]>
|
||||
</v:textbox>
|
||||
</v:rect>
|
||||
<![endif]-->
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="center" valign="top" width="100%" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff; padding: 20px 0 5px;" class="content-padding" bgcolor="#f7f7f7">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="header-lg" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 32px; color: #4d4d4d; text-align: left; line-height: normal; font-weight: 400; padding: 35px 5 0;" align="center">
|
||||
We have received a new order.
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="free-text" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: left; line-height: 21px; width: 100% !important; padding: 40px 7px 20px;" align="center">
|
||||
<p>
|
||||
<h4>User details</h4>
|
||||
Name: {{name}} <br/>
|
||||
Email: {{email}} <br/>
|
||||
|
||||
<h4>VM details</h4>
|
||||
Cores: {{cores}} <br/>
|
||||
Memory: {{memory}} <br/>
|
||||
Storage: {{storage}} <br/>
|
||||
Price: {{price}} <br/>
|
||||
Template: {{template}} <br/>
|
||||
|
||||
</p></td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td class="button" style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 0;" align="center"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
<tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td align="center" valign="top" width="100%" style="height: 100px; border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; background: #ffffff;" bgcolor="#ffffff">
|
||||
<center style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<table cellspacing="0" cellpadding="0" width="600" class="w320" style="border-collapse: collapse !important; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;"><tr style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
<td style="border-collapse: collapse; font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: 600; color: #7293de; padding: 25px 9px 0px;text-align: left; line-height: 21px;;" align="left">Your data center light team<br style="font-family: 'Raleway', 'Helvetica Neue', 'Arial', 'sans-serif' !important;">
|
||||
</td>
|
||||
</tr></table>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -160,7 +160,7 @@
|
|||
<p>{% trans "10 GB Storage (SSD)" %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<a href="{% url 'datacenterlight:pricing' %}" class="btn btn-primary">{% trans "Order Now!" %}</a>
|
||||
<a href="{% url 'datacenterlight:order' %}" class="btn btn-primary">{% trans "Order Now!" %}</a>
|
||||
</div>
|
||||
<img class="img-beta" src="{% static 'datacenterlight/img/beta-img.png' %}" alt="">
|
||||
</div>
|
||||
|
@ -170,26 +170,6 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<!-- Configure -->
|
||||
<div class="request-section" id="request">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<div class="title">
|
||||
<h2>{% trans "Want to know more? Subscribe to our newsletter!" %}</h2>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<!-- Beta access form, will be loaded via ajax -->
|
||||
<div class="form" id="beta_access_form">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.content-section-a -->
|
||||
<!-- / contact section -->
|
||||
<div class="full-contact-section">
|
||||
<div class="intro-header-2 contact-section" id="contact">
|
||||
<div class="container">
|
||||
|
|
103
datacenterlight/templates/datacenterlight/order.html
Normal file
|
@ -0,0 +1,103 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="intro-pricing">
|
||||
|
||||
<div class="intro-message">
|
||||
<h2 class="section-heading">{% trans "We are cutting down the costs significantly!" %}</h2>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="price-calc-section">
|
||||
<div class="card">
|
||||
<img class="img-beta" src="{% static 'datacenterlight/img/beta-img.png' %}" alt="">
|
||||
<div class="caption">
|
||||
<form id="order_form" method="POST" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="title">
|
||||
<h3>{% trans "VM hosting" %} </h3>
|
||||
</div>
|
||||
<div class="price">
|
||||
<span id="total">15</span>
|
||||
<span>CHF</span>
|
||||
</div>
|
||||
<div class="descriptions">
|
||||
<div class="description">
|
||||
<p>{% trans "Hosted in Switzerland" %}</p>
|
||||
</div>
|
||||
<div class="description">
|
||||
<i class="fa fa-minus-circle left" data-minus="cpu" aria-hidden="true"></i>
|
||||
<input class="input-price" type="number" min="1" max="42" id="coreValue" name="cpu">
|
||||
<span> Core</span>
|
||||
<i class="fa fa-plus-circle right" data-plus="cpu" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="description">
|
||||
<i class="fa fa-minus-circle left" data-minus="ram" aria-hidden="true"></i>
|
||||
<input id="ramValue" class="input-price" type="number" min="2" max="200" name="ram">
|
||||
<span> GB RAM</span>
|
||||
<i class="fa fa-plus-circle right" data-plus="ram" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="description">
|
||||
<i class="fa fa-minus-circle left" data-minus="storage" aria-hidden="true"></i>
|
||||
<input id="storageValue" class="input-price" type="number" min="10" max="500" step="10" name="storage">
|
||||
<span>{% trans "GB Storage (SSD)" %}</span>
|
||||
<i class="fa fa-plus-circle right" data-plus="storage" aria-hidden="true"></i>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="description select-configuration input">
|
||||
<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="description input">
|
||||
<label for="name">Name</label>
|
||||
<input type="text" name="name" placeholder="Your Name">
|
||||
</div>
|
||||
<div class="description input">
|
||||
<label for="email">Email</label>
|
||||
<input type="email" name="email" placeholder="Your Email">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" class="btn btn-primary" value="{% trans 'Order Now!' %}"></input>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
<div>
|
||||
<div id="error_message_box" class="error-message-box"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text">
|
||||
<h2 class="section-heading">{% trans "Simple and affordable: Try our virtual machine with featherlight price." %}</h2>
|
||||
|
||||
<div class="description">
|
||||
<p>{% trans "Our VMs are hosted in Glarus, Switzerland, and our website is currently running in BETA mode. If you want more information that you did not find on our website, or if your order is more detailed, or if you encounter any technical hiccups, please contact us at support@datacenterlight.ch, our team will get in touch with you asap." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'datacenterlight/js/jquery.js' %}"></script>
|
||||
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="{% static 'datacenterlight/js/bootstrap.min.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
</html>
|
|
@ -88,3 +88,6 @@
|
|||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
|
||||
|
|
40
datacenterlight/templates/datacenterlight/success.html
Normal file
|
@ -0,0 +1,40 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="intro-pricing success-pricing">
|
||||
|
||||
<div class="intro-message">
|
||||
<h2 class="section-heading">{% trans "Thank you for order! Our team will contact you via email" %}</h2>
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<h2 class="section-heading">{% trans "as soon as possible!" %}</h2>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<script src="{% static 'datacenterlight/js/jquery.js' %}"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
window.onload=function(){
|
||||
$('.selectpicker').selectpicker({
|
||||
style: 'btn-link',
|
||||
windowPadding: 10,
|
||||
});
|
||||
|
||||
var hash = window.location.hash.substr(1);
|
||||
console.log(hash);
|
||||
if (hash == 'requestform'){
|
||||
$('#reques-success-message').modal('show');
|
||||
}
|
||||
|
||||
};
|
||||
</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 %}
|
|
@ -1,6 +1,6 @@
|
|||
from django.conf.urls import url
|
||||
|
||||
from .views import IndexView, BetaProgramView, LandingProgramView, BetaAccessView, PricingView
|
||||
from .views import IndexView, BetaProgramView, LandingProgramView, BetaAccessView, PricingView, SuccessView, OrderView
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
|
@ -8,5 +8,7 @@ urlpatterns = [
|
|||
url(r'^/beta-program/?$', BetaProgramView.as_view(), name='beta'),
|
||||
url(r'^/landing/?$', LandingProgramView.as_view(), name='landing'),
|
||||
url(r'^/pricing/?$', PricingView.as_view(), name='pricing'),
|
||||
url(r'^/order/?$', OrderView.as_view(), name='order'),
|
||||
url(r'^/order-success/?$', SuccessView.as_view(), name='order_success'),
|
||||
url(r'^/beta_access?$', BetaAccessView.as_view(), name='beta_access'),
|
||||
]
|
||||
|
|
|
@ -7,6 +7,8 @@ from django.core.urlresolvers import reverse_lazy, reverse
|
|||
from utils.mailer import BaseEmail
|
||||
from django.shortcuts import render
|
||||
from django.shortcuts import redirect
|
||||
from django import forms
|
||||
from django.core.exceptions import ValidationError
|
||||
|
||||
from opennebula_api.models import OpenNebulaManager
|
||||
from opennebula_api.serializers import VirtualMachineTemplateSerializer
|
||||
|
@ -14,6 +16,9 @@ from opennebula_api.serializers import VirtualMachineTemplateSerializer
|
|||
class LandingProgramView(TemplateView):
|
||||
template_name = "datacenterlight/landing.html"
|
||||
|
||||
class SuccessView(TemplateView):
|
||||
template_name = "datacenterlight/success.html"
|
||||
|
||||
class PricingView(TemplateView):
|
||||
template_name = "datacenterlight/pricing.html"
|
||||
|
||||
|
@ -27,8 +32,8 @@ class PricingView(TemplateView):
|
|||
}
|
||||
except:
|
||||
messages.error( request,
|
||||
'We could not load the VM templates due to a backend connection \
|
||||
error. Please try again in a few minutes'
|
||||
'We have a temporary problem to connect to our backend. \
|
||||
Please try again in a few minutes'
|
||||
)
|
||||
context = {
|
||||
'error' : 'connection'
|
||||
|
@ -64,6 +69,81 @@ class PricingView(TemplateView):
|
|||
return redirect(reverse('hosting:payment'))
|
||||
|
||||
|
||||
class OrderView(TemplateView):
|
||||
template_name = "datacenterlight/order.html"
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
try:
|
||||
manager = OpenNebulaManager()
|
||||
templates = manager.get_templates()
|
||||
|
||||
context = {
|
||||
'templates': VirtualMachineTemplateSerializer(templates, many=True).data,
|
||||
}
|
||||
except:
|
||||
messages.error( request,
|
||||
'We have a temporary problem to connect to our backend. \
|
||||
Please try again in a few minutes'
|
||||
)
|
||||
context = {
|
||||
'error' : 'connection'
|
||||
}
|
||||
|
||||
return render(request, self.template_name, context)
|
||||
|
||||
def post(self, request):
|
||||
|
||||
cores = request.POST.get('cpu')
|
||||
memory = request.POST.get('ram')
|
||||
storage = request.POST.get('storage')
|
||||
price = request.POST.get('total')
|
||||
template_id = int(request.POST.get('config'))
|
||||
manager = OpenNebulaManager()
|
||||
template = manager.get_template(template_id)
|
||||
template_data = VirtualMachineTemplateSerializer(template).data
|
||||
|
||||
name = request.POST.get('name')
|
||||
email = request.POST.get('email')
|
||||
name_field = forms.CharField()
|
||||
email_field = forms.EmailField()
|
||||
try:
|
||||
name = name_field.clean(name)
|
||||
except ValidationError as err:
|
||||
messages.add_message(self.request, messages.ERROR, '%(value) is not a proper name.'.format(name))
|
||||
return HttpResponseRedirect(reverse('datacenterlight:order'))
|
||||
|
||||
try:
|
||||
email = email_field.clean(email)
|
||||
except ValidationError as err:
|
||||
messages.add_message(self.request, messages.ERROR, '%(value) is not a proper email.'.format(email))
|
||||
return HttpResponseRedirect(reverse('datacenterlight:order'))
|
||||
|
||||
# We have valid email and name of the customer, hence send an
|
||||
# email to the admin
|
||||
|
||||
context = {
|
||||
'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host()),
|
||||
'name': name,
|
||||
'email': email,
|
||||
'cores': cores,
|
||||
'memory': memory,
|
||||
'storage': storage,
|
||||
'price': price,
|
||||
'template': template_data['name'],
|
||||
}
|
||||
email_data = {
|
||||
'subject': 'New Order Received',
|
||||
'to': 'info@ungleich.ch',
|
||||
'context': context,
|
||||
'template_name': 'new_order_notification',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
}
|
||||
email = BaseEmail(**email_data)
|
||||
email.send()
|
||||
|
||||
return HttpResponseRedirect(reverse('datacenterlight:order_success'))
|
||||
|
||||
|
||||
class BetaAccessView(FormView):
|
||||
template_name = "datacenterlight/beta_access.html"
|
||||
form_class = BetaAccessForm
|
||||
|
@ -78,6 +158,7 @@ class BetaAccessView(FormView):
|
|||
email_data = {
|
||||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'to': form.cleaned_data.get('email'),
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_confirmation',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
@ -91,7 +172,8 @@ class BetaAccessView(FormView):
|
|||
|
||||
email_data = {
|
||||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'to': 'info@ungleich.ch',
|
||||
'to': 'support@datacenterlight.ch',
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_notification',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
@ -151,43 +233,6 @@ class BetaProgramView(CreateView):
|
|||
|
||||
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||
return HttpResponseRedirect(self.get_success_url())
|
||||
# return super(BetaProgramView, self).form_valid(form)
|
||||
|
||||
|
||||
|
||||
|
||||
# def form_valid(self, form):
|
||||
|
||||
# context = {
|
||||
# 'base_url': "{0}://{1}".format(self.request.scheme, self.request.get_host())
|
||||
# }
|
||||
|
||||
# email_data = {
|
||||
# 'subject': 'DatacenterLight Beta Access Request',
|
||||
# 'to': form.cleaned_data.get('email'),
|
||||
# 'context': context,
|
||||
# 'template_name': 'request_access_confirmation',
|
||||
# 'template_path': 'datacenterlight/emails/'
|
||||
# }
|
||||
# email = BaseEmail(**email_data)
|
||||
# email.send()
|
||||
|
||||
# context.update({
|
||||
# 'email': form.cleaned_data.get('email')
|
||||
# })
|
||||
|
||||
# email_data = {
|
||||
# 'subject': 'DatacenterLight Beta Access Request',
|
||||
# 'to': 'info@ungleich.ch',
|
||||
# 'context': context,
|
||||
# 'template_name': 'request_access_notification',
|
||||
# 'template_path': 'datacenterlight/emails/'
|
||||
# }
|
||||
# email = BaseEmail(**email_data)
|
||||
# email.send()
|
||||
|
||||
# messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||
# return super(IndexView, self).form_valid(form)
|
||||
|
||||
|
||||
class IndexView(CreateView):
|
||||
|
@ -218,6 +263,7 @@ class IndexView(CreateView):
|
|||
email_data = {
|
||||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'to': form.cleaned_data.get('email'),
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_confirmation',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
@ -231,7 +277,8 @@ class IndexView(CreateView):
|
|||
|
||||
email_data = {
|
||||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'to': 'info@ungleich.ch',
|
||||
'to': 'support@datacenterlight.ch',
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_notification',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
@ -241,5 +288,3 @@ class IndexView(CreateView):
|
|||
|
||||
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||
return super(IndexView, self).form_valid(form)
|
||||
|
||||
|
||||
|
|
BIN
digitalglarus/locale/de/LC_MESSAGES/django.mo
Normal file
BIN
dump.rdb
|
@ -1,423 +0,0 @@
|
|||
"""
|
||||
Copyright 2015 ungleich.
|
||||
"""
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
import os
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
# dotenv
|
||||
import dotenv
|
||||
|
||||
gettext = lambda s: s
|
||||
|
||||
|
||||
def env(env_name):
|
||||
return os.environ.get(env_name)
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
PROJECT_DIR = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "../.."),
|
||||
)
|
||||
|
||||
# load .env file
|
||||
dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR))
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
|
||||
|
||||
SITE_ID = 1
|
||||
|
||||
APP_ROOT_ENDPOINT = "/"
|
||||
|
||||
LOGIN_URL = None
|
||||
LOGOUT_URL = None
|
||||
LOGIN_REDIRECT_URL = None
|
||||
|
||||
EMAIL_HOST = "localhost"
|
||||
EMAIL_PORT = 25
|
||||
|
||||
SECRET_KEY = env('DJANGO_SECRET_KEY')
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = (
|
||||
'djangocms_admin_style',
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.sites',
|
||||
'cms', # django CMS itself
|
||||
'treebeard', # utilities for implementing a tree
|
||||
'menus', # helper for model independent hierarchical website navigation
|
||||
'sekizai', # for javascript and css management
|
||||
# django-cms plugins
|
||||
'djangocms_flash',
|
||||
'djangocms_googlemap',
|
||||
'djangocms_inherit',
|
||||
'djangocms_link',
|
||||
'djangocms_snippet',
|
||||
'djangocms_teaser',
|
||||
'djangocms_page_meta',
|
||||
# django-filer
|
||||
'cmsplugin_filer_file',
|
||||
'cmsplugin_filer_folder',
|
||||
'cmsplugin_filer_link',
|
||||
'cmsplugin_filer_teaser',
|
||||
'cmsplugin_filer_video',
|
||||
# versioning
|
||||
'reversion',
|
||||
# ck-editor
|
||||
'djangocms_text_ckeditor',
|
||||
# djangocms-blog
|
||||
'filer',
|
||||
'easy_thumbnails',
|
||||
'cmsplugin_filer_image',
|
||||
'parler',
|
||||
'taggit',
|
||||
'taggit_autosuggest',
|
||||
'django_select2',
|
||||
'meta',
|
||||
'meta_mixin',
|
||||
# 'admin_enhancer',
|
||||
'djangocms_blog',
|
||||
'bootstrap3',
|
||||
'compressor',
|
||||
# ungleich
|
||||
'ungleich',
|
||||
'hosting',
|
||||
'digitalglarus',
|
||||
)
|
||||
|
||||
MIDDLEWARE_CLASSES = (
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
# django-cms middlewares
|
||||
'cms.middleware.user.CurrentUserMiddleware',
|
||||
'cms.middleware.page.CurrentPageMiddleware',
|
||||
'cms.middleware.toolbar.ToolbarMiddleware',
|
||||
'cms.middleware.language.LanguageCookieMiddleware',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = 'dynamicweb.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'dynamicweb.wsgi.application'
|
||||
|
||||
# Deprecated since version 1.8.
|
||||
# callables take a request object as their argument and return a dictionary of
|
||||
# items to be merged into the context.
|
||||
TEMPLATE_CONTEXT_PROCESSORS = (
|
||||
"django.contrib.auth.context_processors.auth",
|
||||
"django.core.context_processors.debug",
|
||||
"django.core.context_processors.i18n",
|
||||
"django.core.context_processors.media",
|
||||
"django.core.context_processors.static",
|
||||
"django.core.context_processors.tz",
|
||||
"django.contrib.messages.context_processors.messages",
|
||||
"django.core.context_processors.request",
|
||||
'sekizai.context_processors.sekizai',
|
||||
'cms.context_processors.cms_settings',
|
||||
)
|
||||
|
||||
TEMPLATE_DIRS = (
|
||||
os.path.join(PROJECT_DIR, 'templates'),
|
||||
)
|
||||
|
||||
CMS_TEMPLATES_DIR = {
|
||||
1: os.path.join(TEMPLATE_DIRS[0], 'cms/'),
|
||||
}
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/1.8/ref/settings/#databases
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||
'NAME': 'app',
|
||||
}
|
||||
}
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
LANGUAGES = (
|
||||
('en-us', _('English')),
|
||||
('de', _('Deutsch')),
|
||||
)
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
CMS_PLACEHOLDER_CONF = {
|
||||
'logo_image': {
|
||||
'name': 'Logo Image',
|
||||
'plugins': ['FilerImagePlugin'],
|
||||
'limits': {
|
||||
'global': 1,
|
||||
}
|
||||
},
|
||||
'page-title': {
|
||||
'name': 'Page Title',
|
||||
'plugins': ['TextPlugin'],
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Page Title...'
|
||||
}
|
||||
}
|
||||
],
|
||||
'limits': {
|
||||
'global': 1,
|
||||
}
|
||||
},
|
||||
'page-subtitle': {
|
||||
'name': 'Page Subtitle',
|
||||
'inherit': 'page-title',
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Page subtitle...'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
'footer_copyright': {
|
||||
'name': 'Copyright',
|
||||
'inherit': 'page-title',
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Copyright...'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
'content': {
|
||||
'name': _('Content'),
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {'body': '<p></p>'},
|
||||
},
|
||||
]
|
||||
},
|
||||
'post_content': {
|
||||
'name': _('Content'),
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {'body': '<p></p>'},
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
||||
'LOCATION': '127.0.0.1:11211',
|
||||
}
|
||||
}
|
||||
|
||||
if LOGIN_URL is None:
|
||||
LOGIN_URL = APP_ROOT_ENDPOINT + 'accounts/login/'
|
||||
if LOGOUT_URL is None:
|
||||
LOGOUT_URL = APP_ROOT_ENDPOINT + 'accounts/logout/'
|
||||
if LOGIN_REDIRECT_URL is None:
|
||||
LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/1.7/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
|
||||
|
||||
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
|
||||
MEDIA_URL = APP_ROOT_ENDPOINT + 'media/'
|
||||
FILE_UPLOAD_PERMISSIONS = 0o644
|
||||
|
||||
# Templates confs
|
||||
TEMPLATE_DIRS = (
|
||||
os.path.join(PROJECT_DIR, "templates"),
|
||||
)
|
||||
|
||||
META_SITE_PROTOCOL = 'http'
|
||||
META_USE_SITES = True
|
||||
|
||||
MIGRATION_MODULES = {
|
||||
'cms': 'cms.migrations',
|
||||
'filer': 'filer.migrations_django',
|
||||
'menus': 'menus.migrations_django',
|
||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
||||
'djangocms_link': 'djangocms_link.migrations_django',
|
||||
'djangocms_snippet': 'djangocms_snippet.migrations_django',
|
||||
'djangocms_teaser': 'djangocms_teaser.migrations_django',
|
||||
'djangocms_column': 'djangocms_column.migrations_django',
|
||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
||||
'djangocms_style': 'djangocms_style.migrations_django',
|
||||
'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
|
||||
'cmsplugin_filer_file': 'cmsplugin_filer_file.migrations_django',
|
||||
'cmsplugin_filer_folder': 'cmsplugin_filer_folder.migrations_django',
|
||||
'cmsplugin_filer_link': 'cmsplugin_filer_link.migrations_django',
|
||||
'cmsplugin_filer_teaser': 'cmsplugin_filer_teaser.migrations_django',
|
||||
'cmsplugin_filer_utils': 'cmsplugin_filer_utils.migrations_django',
|
||||
'cmsplugin_filer_video': 'cmsplugin_filer_video.migrations_django',
|
||||
'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations',
|
||||
}
|
||||
|
||||
STATICFILES_FINDERS = (
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||
'compressor.finders.CompressorFinder',
|
||||
)
|
||||
|
||||
COMPRESS_PRECOMPILERS = (
|
||||
('text/less', 'lesscpy {infile}'),
|
||||
)
|
||||
|
||||
THUMBNAIL_PROCESSORS = (
|
||||
'easy_thumbnails.processors.colorspace',
|
||||
'easy_thumbnails.processors.autocrop',
|
||||
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
|
||||
'easy_thumbnails.processors.filters',
|
||||
)
|
||||
|
||||
# django-cms-text-ckeditor
|
||||
TEXT_SAVE_IMAGE_FUNCTION = (
|
||||
'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
|
||||
)
|
||||
TEXT_ADDITIONAL_TAGS = ('iframe',)
|
||||
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder')
|
||||
USE_X_FORWARDED_HOST = True
|
||||
|
||||
# Django Bootstrap - Settings
|
||||
# Added Configuration for bootstrap static files to load over https.
|
||||
BOOTSTRAP3 = {
|
||||
|
||||
# The URL to the jQuery JavaScript file
|
||||
'jquery_url': '//code.jquery.com/jquery.min.js',
|
||||
|
||||
# The Bootstrap base URL
|
||||
'base_url': '//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/',
|
||||
|
||||
# The complete URL to the Bootstrap CSS file
|
||||
# (None means derive it from base_url)
|
||||
'css_url': None,
|
||||
|
||||
# The complete URL to the Bootstrap CSS file (None means no theme)
|
||||
'theme_url': None,
|
||||
|
||||
# The complete URL to the Bootstrap JavaScript file
|
||||
# (None means derive it from base_url)
|
||||
'javascript_url': None,
|
||||
|
||||
# Put JavaScript in the HEAD section of the HTML document
|
||||
# (only relevant if you use bootstrap3.html)
|
||||
'javascript_in_head': False,
|
||||
|
||||
# Include jQuery with Bootstrap JavaScript
|
||||
# (affects django-bootstrap3 template tags)
|
||||
'include_jquery': False,
|
||||
|
||||
# Label class to use in horizontal forms
|
||||
'horizontal_label_class': 'col-md-3',
|
||||
|
||||
# Field class to use in horizontal forms
|
||||
'horizontal_field_class': 'col-md-9',
|
||||
|
||||
# Set HTML required attribute on required fields
|
||||
'set_required': True,
|
||||
|
||||
# Set HTML disabled attribute on disabled fields
|
||||
'set_disabled': False,
|
||||
|
||||
# Set placeholder attributes to label if no placeholder is provided
|
||||
'set_placeholder': True,
|
||||
|
||||
# Class to indicate required (better to set this in your Django form)
|
||||
'required_css_class': '',
|
||||
|
||||
# Class to indicate error (better to set this in your Django form)
|
||||
'error_css_class': 'has-error',
|
||||
|
||||
# Class to indicate success, meaning the field has valid input
|
||||
# (better to set this in your Django form)
|
||||
'success_css_class': 'has-success',
|
||||
|
||||
# Renderers (only set these if you have studied the source and understand
|
||||
# the inner workings)
|
||||
'formset_renderers': {
|
||||
'default': 'bootstrap3.renderers.FormsetRenderer',
|
||||
},
|
||||
'form_renderers': {
|
||||
'default': 'bootstrap3.renderers.FormRenderer',
|
||||
},
|
||||
'field_renderers': {
|
||||
'default': 'bootstrap3.renderers.FieldRenderer',
|
||||
'inline': 'bootstrap3.renderers.InlineFieldRenderer',
|
||||
},
|
||||
}
|
||||
|
||||
# djangocms_blog config
|
||||
|
||||
BLOG_ENABLE_COMMENTS = False
|
||||
BLOG_USE_PLACEHOLDER = True
|
||||
BLOG_IMAGE_THUMBNAIL_SIZE = {'size': '120x120', 'crop': True, 'upscale': False}
|
||||
BLOG_IMAGE_FULL_SIZE = {'size': '640x120', 'crop': True, 'upscale': False}
|
||||
BLOG_PAGINATION = 4
|
||||
BLOG_LATEST_POSTS = BLOG_PAGINATION
|
||||
BLOG_POSTS_LIST_TRUNCWORDS_COUNT = 100
|
||||
BLOG_MULTISITE = True
|
||||
BLOG_AUTHOR_DEFAULT = True
|
||||
|
||||
# django-meta
|
||||
META_SITE_PROTOCOL = "https"
|
||||
META_SITE_DOMAIN = "ungleich.ch"
|
||||
META_SITE_TYPE = "website"
|
||||
META_SITE_NAME = "ungleich"
|
||||
META_INCLUDE_KEYWORDS = ["ungleich", "hosting", "switzerland",
|
||||
"Schweiz", "Swiss", "cdist"]
|
||||
META_USE_SITES = True
|
||||
|
||||
PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'}, )}
|
|
@ -1,441 +0,0 @@
|
|||
"""
|
||||
Copyright 2015 ungleich.
|
||||
"""
|
||||
|
||||
# -*- coding: utf-8 -*-
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
import os
|
||||
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
# dotenv
|
||||
import dotenv
|
||||
|
||||
gettext = lambda s: s
|
||||
|
||||
|
||||
def env(env_name):
|
||||
return os.environ.get(env_name)
|
||||
|
||||
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
PROJECT_DIR = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "../.."),
|
||||
)
|
||||
|
||||
# load .env file
|
||||
dotenv.read_dotenv("{0}/.env".format(PROJECT_DIR))
|
||||
|
||||
# Quick-start development settings - unsuitable for production
|
||||
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
|
||||
|
||||
SITE_ID = 1
|
||||
|
||||
APP_ROOT_ENDPOINT = "/"
|
||||
|
||||
LOGIN_URL = None
|
||||
LOGOUT_URL = None
|
||||
LOGIN_REDIRECT_URL = None
|
||||
|
||||
EMAIL_HOST = "localhost"
|
||||
EMAIL_PORT = 25
|
||||
|
||||
SECRET_KEY = env('DJANGO_SECRET_KEY')
|
||||
|
||||
# Application definition
|
||||
|
||||
INSTALLED_APPS = (
|
||||
#1st migrate
|
||||
'membership',
|
||||
'django.contrib.admin',
|
||||
'django.contrib.auth',
|
||||
'django.contrib.contenttypes',
|
||||
'django.contrib.sessions',
|
||||
'django.contrib.messages',
|
||||
'django.contrib.staticfiles',
|
||||
'django.contrib.sites',
|
||||
'easy_thumbnails',
|
||||
'mptt',
|
||||
'parler',
|
||||
'taggit',
|
||||
'taggit_autosuggest',
|
||||
'django_select2',
|
||||
'meta',
|
||||
'meta_mixin',
|
||||
# 'admin_enhancer',
|
||||
'djangocms_blog',
|
||||
'bootstrap3',
|
||||
'compressor',
|
||||
'filer',
|
||||
'djangocms_blog',
|
||||
'cms', # django CMS itself
|
||||
'treebeard', # utilities for implementing a tree
|
||||
'sekizai', # for javascript and css management
|
||||
'menus', # helper for model independent hierarchical website navigation
|
||||
'cmsplugin_filer_image',
|
||||
|
||||
#2nd migrate
|
||||
# django-cms plugins
|
||||
'djangocms_file',
|
||||
'djangocms_picture',
|
||||
'djangocms_video',
|
||||
'djangocms_flash',
|
||||
|
||||
'djangocms_googlemap',
|
||||
'djangocms_inherit',
|
||||
'djangocms_link',
|
||||
'djangocms_teaser',
|
||||
'djangocms_page_meta',
|
||||
'djangocms_text_ckeditor',
|
||||
'djangocms_admin_style',
|
||||
'cmsplugin_filer_file',
|
||||
'cmsplugin_filer_folder',
|
||||
'cmsplugin_filer_link',
|
||||
'cmsplugin_filer_teaser',
|
||||
'cmsplugin_filer_video',
|
||||
#
|
||||
#blog
|
||||
# versioning
|
||||
'reversion',
|
||||
# ungleich
|
||||
'ungleich',
|
||||
'hosting',
|
||||
'digitalglarus',
|
||||
'django_extensions',
|
||||
'debug_toolbar'
|
||||
)
|
||||
|
||||
MIDDLEWARE_CLASSES = (
|
||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||
'django.middleware.common.CommonMiddleware',
|
||||
'django.middleware.csrf.CsrfViewMiddleware',
|
||||
'django.contrib.auth.middleware.AuthenticationMiddleware',
|
||||
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
|
||||
'django.contrib.messages.middleware.MessageMiddleware',
|
||||
'django.middleware.clickjacking.XFrameOptionsMiddleware',
|
||||
'django.middleware.locale.LocaleMiddleware',
|
||||
# django-cms middlewares
|
||||
'cms.middleware.user.CurrentUserMiddleware',
|
||||
'cms.middleware.page.CurrentPageMiddleware',
|
||||
'cms.middleware.toolbar.ToolbarMiddleware',
|
||||
'cms.middleware.language.LanguageCookieMiddleware',
|
||||
)
|
||||
|
||||
ROOT_URLCONF = 'dynamicweb.urls'
|
||||
|
||||
TEMPLATES = [
|
||||
{
|
||||
'BACKEND': 'django.template.backends.django.DjangoTemplates',
|
||||
'DIRS': [
|
||||
os.path.join(PROJECT_DIR, 'membership/'), # membership template
|
||||
os.path.join(PROJECT_DIR, 'templates/'),
|
||||
os.path.join(PROJECT_DIR, 'templates/digitalglarus/partials'),
|
||||
os.path.join(PROJECT_DIR, 'templates/cms'),
|
||||
os.path.join(PROJECT_DIR, 'templates/digitalglarus'),
|
||||
],
|
||||
'APP_DIRS': True,
|
||||
'OPTIONS': {
|
||||
'context_processors': [
|
||||
'django.template.context_processors.debug',
|
||||
'django.template.context_processors.request',
|
||||
'django.contrib.auth.context_processors.auth',
|
||||
'django.contrib.messages.context_processors.messages',
|
||||
"django.core.context_processors.media",
|
||||
"django.core.context_processors.static",
|
||||
"django.core.context_processors.tz",
|
||||
"django.contrib.messages.context_processors.messages",
|
||||
'sekizai.context_processors.sekizai',
|
||||
'cms.context_processors.cms_settings',
|
||||
],
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
WSGI_APPLICATION = 'dynamicweb.wsgi.application'
|
||||
|
||||
TDIR = os.path.join(PROJECT_DIR, 'templates')
|
||||
|
||||
CMS_TEMPLATES_DIR = {
|
||||
1: os.path.join(TDIR, '')
|
||||
}
|
||||
|
||||
DATABASES = {
|
||||
'default': {
|
||||
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
||||
'NAME': 'app',
|
||||
}
|
||||
}
|
||||
|
||||
# Internationalization
|
||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
||||
|
||||
TIME_ZONE = 'UTC'
|
||||
|
||||
USE_I18N = True
|
||||
|
||||
USE_L10N = True
|
||||
|
||||
USE_TZ = True
|
||||
|
||||
LANGUAGES = (
|
||||
('en-us', _('English')),
|
||||
('de', _('Deutsch')),
|
||||
)
|
||||
|
||||
LANGUAGE_CODE = 'en-us'
|
||||
|
||||
CMS_PLACEHOLDER_CONF = {
|
||||
'logo_image': {
|
||||
'name': 'Logo Image',
|
||||
'plugins': ['FilerImagePlugin'],
|
||||
'limits': {
|
||||
'global': 1,
|
||||
}
|
||||
},
|
||||
'page-title': {
|
||||
'name': 'Page Title',
|
||||
'plugins': ['TextPlugin'],
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Page Title...'
|
||||
}
|
||||
}
|
||||
],
|
||||
'limits': {
|
||||
'global': 1,
|
||||
}
|
||||
},
|
||||
'page-subtitle': {
|
||||
'name': 'Page Subtitle',
|
||||
'inherit': 'page-title',
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Page subtitle...'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
'footer_copyright': {
|
||||
'name': 'Copyright',
|
||||
'inherit': 'page-title',
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {
|
||||
'body': 'Copyright...'
|
||||
}
|
||||
}
|
||||
],
|
||||
},
|
||||
'content': {
|
||||
'name': _('Content'),
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {'body': '<p></p>'},
|
||||
},
|
||||
]
|
||||
},
|
||||
'post_content': {
|
||||
'name': _('Content'),
|
||||
'default_plugins': [
|
||||
{
|
||||
'plugin_type': 'TextPlugin',
|
||||
'values': {'body': '<p></p>'},
|
||||
},
|
||||
]
|
||||
},
|
||||
}
|
||||
|
||||
CACHES = {
|
||||
'default': {
|
||||
'BACKEND': 'django.core.cache.backends.memcached.PyLibMCCache',
|
||||
'LOCATION': '127.0.0.1:11211',
|
||||
}
|
||||
}
|
||||
|
||||
if LOGIN_URL is None:
|
||||
LOGIN_URL = APP_ROOT_ENDPOINT + 'accounts/login/'
|
||||
if LOGOUT_URL is None:
|
||||
LOGOUT_URL = APP_ROOT_ENDPOINT + 'accounts/logout/'
|
||||
if LOGIN_REDIRECT_URL is None:
|
||||
LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT
|
||||
|
||||
# Static files (CSS, JavaScript, Images)
|
||||
# https://docs.djangoproject.com/en/1.7/howto/static-files/
|
||||
|
||||
STATIC_URL = '/static/'
|
||||
|
||||
STATIC_ROOT = os.path.join(PROJECT_DIR, 'static')
|
||||
|
||||
MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media')
|
||||
MEDIA_URL = APP_ROOT_ENDPOINT + 'media/'
|
||||
FILE_UPLOAD_PERMISSIONS = 0o644
|
||||
|
||||
META_SITE_PROTOCOL = 'http'
|
||||
META_USE_SITES = True
|
||||
MIGRATION_MODULES = {
|
||||
'cms': 'cms.migrations',
|
||||
# 'filer': 'filer.migrations_django',
|
||||
# 'menus': 'menus.migrations_django',
|
||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
||||
'djangocms_link': 'djangocms_link.migrations_django',
|
||||
'djangocms_teaser': 'djangocms_teaser.migrations_django',
|
||||
'djangocms_column': 'djangocms_column.migrations_django',
|
||||
'djangocms_flash': 'djangocms_flash.migrations_django',
|
||||
'djangocms_googlemap': 'djangocms_googlemap.migrations_django',
|
||||
'djangocms_inherit': 'djangocms_inherit.migrations_django',
|
||||
'djangocms_style': 'djangocms_style.migrations_django',
|
||||
'cmsplugin_filer_image': 'cmsplugin_filer_image.migrations_django',
|
||||
'cmsplugin_filer_file': 'cmsplugin_filer_file.migrations_django',
|
||||
'cmsplugin_filer_folder': 'cmsplugin_filer_folder.migrations_django',
|
||||
'cmsplugin_filer_link': 'cmsplugin_filer_link.migrations_django',
|
||||
'cmsplugin_filer_teaser': 'cmsplugin_filer_teaser.migrations_django',
|
||||
'cmsplugin_filer_utils': 'cmsplugin_filer_utils.migrations_django',
|
||||
'cmsplugin_filer_video': 'cmsplugin_filer_video.migrations_django',
|
||||
'djangocms_text_ckeditor': 'djangocms_text_ckeditor.migrations',
|
||||
}
|
||||
|
||||
STATICFILES_FINDERS = (
|
||||
'django.contrib.staticfiles.finders.FileSystemFinder',
|
||||
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
|
||||
'compressor.finders.CompressorFinder',
|
||||
)
|
||||
|
||||
#COMPRESS_PRECOMPILERS = (
|
||||
# ('text/less', 'lesscpy {infile}'),
|
||||
#)
|
||||
|
||||
THUMBNAIL_PROCESSORS = (
|
||||
'easy_thumbnails.processors.colorspace',
|
||||
'easy_thumbnails.processors.autocrop',
|
||||
'filer.thumbnail_processors.scale_and_crop_with_subject_location',
|
||||
'easy_thumbnails.processors.filters',
|
||||
)
|
||||
|
||||
# django-cms-text-ckeditor
|
||||
TEXT_SAVE_IMAGE_FUNCTION = (
|
||||
'cmsplugin_filer_image.integrations.ckeditor.create_image_plugin'
|
||||
)
|
||||
TEXT_ADDITIONAL_TAGS = ('iframe',)
|
||||
TEXT_ADDITIONAL_ATTRIBUTES = ('scrolling', 'allowfullscreen', 'frameborder')
|
||||
USE_X_FORWARDED_HOST = True
|
||||
|
||||
# Django Bootstrap - Settings
|
||||
# Added Configuration for bootstrap static files to load over https.
|
||||
BOOTSTRAP3 = {
|
||||
|
||||
# The URL to the jQuery JavaScript file
|
||||
'jquery_url': '//code.jquery.com/jquery.min.js',
|
||||
|
||||
# The Bootstrap base URL
|
||||
'base_url': '//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/',
|
||||
|
||||
# The complete URL to the Bootstrap CSS file
|
||||
# (None means derive it from base_url)
|
||||
'css_url': None,
|
||||
|
||||
# The complete URL to the Bootstrap CSS file (None means no theme)
|
||||
'theme_url': None,
|
||||
|
||||
# The complete URL to the Bootstrap JavaScript file
|
||||
# (None means derive it from base_url)
|
||||
'javascript_url': None,
|
||||
|
||||
# Put JavaScript in the HEAD section of the HTML document
|
||||
# (only relevant if you use bootstrap3.html)
|
||||
'javascript_in_head': False,
|
||||
|
||||
# Include jQuery with Bootstrap JavaScript
|
||||
# (affects django-bootstrap3 template tags)
|
||||
'include_jquery': False,
|
||||
|
||||
# Label class to use in horizontal forms
|
||||
'horizontal_label_class': 'col-md-3',
|
||||
|
||||
# Field class to use in horizontal forms
|
||||
'horizontal_field_class': 'col-md-9',
|
||||
|
||||
# Set HTML required attribute on required fields
|
||||
'set_required': True,
|
||||
|
||||
# Set HTML disabled attribute on disabled fields
|
||||
'set_disabled': False,
|
||||
|
||||
# Set placeholder attributes to label if no placeholder is provided
|
||||
'set_placeholder': True,
|
||||
|
||||
# Class to indicate required (better to set this in your Django form)
|
||||
'required_css_class': '',
|
||||
|
||||
# Class to indicate error (better to set this in your Django form)
|
||||
'error_css_class': 'has-error',
|
||||
|
||||
# Class to indicate success, meaning the field has valid input
|
||||
# (better to set this in your Django form)
|
||||
'success_css_class': 'has-success',
|
||||
|
||||
# Renderers (only set these if you have studied the source and understand
|
||||
# the inner workings)
|
||||
'formset_renderers': {
|
||||
'default': 'bootstrap3.renderers.FormsetRenderer',
|
||||
},
|
||||
'form_renderers': {
|
||||
'default': 'bootstrap3.renderers.FormRenderer',
|
||||
},
|
||||
'field_renderers': {
|
||||
'default': 'bootstrap3.renderers.FieldRenderer',
|
||||
'inline': 'bootstrap3.renderers.InlineFieldRenderer',
|
||||
},
|
||||
}
|
||||
|
||||
# djangocms_blog config
|
||||
|
||||
BLOG_ENABLE_COMMENTS = False
|
||||
BLOG_USE_PLACEHOLDER = True
|
||||
BLOG_IMAGE_THUMBNAIL_SIZE = {'size': '120x120', 'crop': True, 'upscale': False}
|
||||
BLOG_IMAGE_FULL_SIZE = {'size': '640x120', 'crop': True, 'upscale': False}
|
||||
BLOG_PAGINATION = 4
|
||||
BLOG_LATEST_POSTS = BLOG_PAGINATION
|
||||
BLOG_POSTS_LIST_TRUNCWORDS_COUNT = 100
|
||||
BLOG_MULTISITE = True
|
||||
BLOG_AUTHOR_DEFAULT = True
|
||||
|
||||
# django-meta
|
||||
META_SITE_PROTOCOL = "https"
|
||||
META_SITE_DOMAIN = "ungleich.ch"
|
||||
META_SITE_TYPE = "website"
|
||||
META_SITE_NAME = "ungleich"
|
||||
META_INCLUDE_KEYWORDS = ["ungleich", "hosting", "switzerland",
|
||||
"Schweiz", "Swiss", "cdist"]
|
||||
META_USE_SITES = True
|
||||
|
||||
PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'},)}
|
||||
AUTH_USER_MODEL = 'membership.CustomUser'
|
||||
|
||||
|
||||
# PAYMENT
|
||||
|
||||
STRIPE_API_PUBLIC_KEY = 'pk_test_uvWyHNJgVL2IB8kjfgJkGjg4' # used in frontend to call from user browser
|
||||
STRIPE_API_PRIVATE_KEY = 'sk_test_uIPMdgXoRGydrcD7fkwcn7dj' # used in backend payment
|
||||
STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services"
|
||||
|
||||
# EMAIL MESSAGES
|
||||
REGISTRATION_MESSAGE = {'subject': "Validation mail",
|
||||
'message': 'Please validate Your account under this link http://localhost:8000/en-us/validate/{}',
|
||||
'from': 'test@test.com'}
|
||||
|
||||
|
||||
#dont migrate test
|
||||
# SOUTH_TESTS_MIGRATE = False
|
||||
|
||||
STRIPE_API_PUBLIC_KEY = 'pk_test_uvWyHNJgVL2IB8kjfgJkGjg4' # used in frontend to call from user browser
|
||||
STRIPE_API_PRIVATE_KEY = 'sk_test_uIPMdgXoRGydrcD7fkwcn7dj' # used in backend payment
|
||||
STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services"
|
|
@ -1,12 +1,8 @@
|
|||
from .base import *
|
||||
|
||||
ADMINS = (
|
||||
('Nico Schottelius', 'nico.schottelius@ungleich.ch'),
|
||||
('Raul Ascencio', 'raul.ascencio@yandex.com'),
|
||||
('Web team', 'web-team@ungleich.ch')
|
||||
# List of people that get admin messages
|
||||
ADMINS = ( (x, x + "@ungleich.ch") for x in ["web-team"] )
|
||||
|
||||
)
|
||||
# ('Sanghee Kim', 'sanghee.kim@ungleich.ch'),
|
||||
DEBUG=False
|
||||
|
||||
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
||||
|
@ -17,6 +13,15 @@ REGISTRATION_MESSAGE['message'] = REGISTRATION_MESSAGE['message'].format(host='d
|
|||
|
||||
ALLOWED_HOSTS = [
|
||||
".ungleich.ch",
|
||||
"digital.glarus.ungleich.ch",
|
||||
".datacenterlight.ch",
|
||||
".rails-hosting.ch",
|
||||
".django-hosting.ch",
|
||||
".node-hosting.ch",
|
||||
".devuanhosting.ch",
|
||||
".digitalezukunft.ch",
|
||||
".ipv6onlyhosting.ch",
|
||||
".ipv6onlyhosting.com",
|
||||
".ipv6onlyhosting.net",
|
||||
".digitalglarus.ch",
|
||||
".alplora.ch"
|
||||
]
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-01 21:03+0000\n"
|
||||
"POT-Creation-Date: 2017-05-30 13:47+0000\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"
|
||||
|
@ -236,7 +236,6 @@ msgstr ""
|
|||
msgid "The %(site_name)s team"
|
||||
msgstr ""
|
||||
|
||||
|
||||
#: hosting/templates/hosting/login.html:26
|
||||
msgid "You haven been logged out"
|
||||
msgstr "Sie wurden abgmeldet"
|
||||
|
@ -302,15 +301,14 @@ msgstr "Bestellungsübersicht"
|
|||
msgid "Cores"
|
||||
msgstr "Prozessorkerne"
|
||||
|
||||
#: templates/hosting/order_detail.html:54
|
||||
#: templates/hosting/virtual_machine_detail.html:82
|
||||
#: hosting/templates/hosting/order_detail.html:54
|
||||
#: hosting/templates/hosting/payment.html:20
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:81
|
||||
#: templates/hosting/order_detail.html:54
|
||||
#: templates/hosting/virtual_machine_detail.html:82
|
||||
msgid "Memory"
|
||||
msgstr "Arbeitsspeicher"
|
||||
|
||||
#: templates/hosting/order_detail.html:56
|
||||
#: hosting/templates/hosting/order_detail.html:56
|
||||
#: hosting/templates/hosting/payment.html:23
|
||||
msgid "Disk space"
|
||||
|
@ -442,11 +440,7 @@ msgstr "Ihre virtuelle Maschine beenden"
|
|||
|
||||
#: templates/hosting/virtual_machine_detail.html:166
|
||||
msgid "Are you sure do you want to cancel your Virtual Machine "
|
||||
msgstr ""
|
||||
|
||||
#: templates/hosting/virtual_machine_detail.html:166
|
||||
msgid "plan?"
|
||||
msgstr ""
|
||||
msgstr "Sind Sie sicher, dass Sie ihre virtuelle Maschine beenden wollen "
|
||||
|
||||
#: templates/hosting/virtual_machine_detail.html:169
|
||||
msgid "Cancel"
|
||||
|
|
|
@ -130,11 +130,15 @@
|
|||
{% if request.user.is_authenticated %}
|
||||
<footer class="footer-vm">
|
||||
<div class="container">
|
||||
<<<<<<< HEAD
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
=======
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
>>>>>>> 7b197ec75bb8eecd239988ac929315b50c50d233
|
||||
</div>
|
||||
</footer>
|
||||
{% endif %}
|
||||
|
|
|
@ -10,6 +10,16 @@
|
|||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
|
||||
{% if messages %}
|
||||
<ul class="list-unstyled" style="color: #fff">
|
||||
{% for message in messages %}
|
||||
<li>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
|
||||
<div class="intro-message auth-box sign-up">
|
||||
<h2 class="section-heading">{% trans "Reset your password"%}</h2>
|
||||
<form action="{% url 'hosting:reset_password' %}" method="post" class="form" novalidate>
|
||||
|
|
|
@ -298,7 +298,7 @@ class SSHKeyDeleteView(LoginRequiredMixin, DeleteView):
|
|||
manager = OpenNebulaManager()
|
||||
pk = self.kwargs.get('pk')
|
||||
# Get user ssh key
|
||||
public_key = UserHostingKey.objects.get(pk=pk)
|
||||
public_key = UserHostingKey.objects.get(pk=pk).public_key
|
||||
# Add ssh key to user
|
||||
try:
|
||||
manager.remove_public_key(user=owner, public_key=public_key)
|
||||
|
|
Before Width: | Height: | Size: 507 KiB |
Before Width: | Height: | Size: 380 KiB |
Before Width: | Height: | Size: 910 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 358 KiB |
Before Width: | Height: | Size: 285 KiB |
Before Width: | Height: | Size: 106 KiB |
Before Width: | Height: | Size: 482 KiB |
Before Width: | Height: | Size: 291 KiB |
Before Width: | Height: | Size: 196 KiB |
Before Width: | Height: | Size: 2.3 MiB |
Before Width: | Height: | Size: 541 KiB |
Before Width: | Height: | Size: 441 KiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 114 KiB |
Before Width: | Height: | Size: 283 KiB |
Before Width: | Height: | Size: 103 KiB |
Before Width: | Height: | Size: 3.5 MiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 384 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 105 KiB |
Before Width: | Height: | Size: 252 KiB |
Before Width: | Height: | Size: 36 KiB |
Before Width: | Height: | Size: 303 KiB |
Before Width: | Height: | Size: 195 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 27 KiB |
Before Width: | Height: | Size: 2.8 MiB |
Before Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 58 KiB |
Before Width: | Height: | Size: 328 KiB |
Before Width: | Height: | Size: 980 KiB |
Before Width: | Height: | Size: 503 KiB |
Before Width: | Height: | Size: 942 KiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 557 KiB |
Before Width: | Height: | Size: 3.2 MiB |
Before Width: | Height: | Size: 833 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 893 KiB |
Before Width: | Height: | Size: 280 KiB |
Before Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 265 KiB |
Before Width: | Height: | Size: 3.4 MiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 415 KiB |
Before Width: | Height: | Size: 438 KiB |
Before Width: | Height: | Size: 2.1 MiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 824 KiB |
Before Width: | Height: | Size: 2.4 MiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="250px" height="70px" viewBox="0 0 250 70" enable-background="new 0 0 250 70" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#010101" d="M72.846,59.448c0-0.947,0.333-1.869,1.003-2.77c0.67-0.899,1.625-1.709,2.866-2.425v-0.201
|
||||
c-0.649-0.356-1.224-0.854-1.717-1.492c-0.486-0.638-0.732-1.463-0.732-2.474c0-0.784,0.254-1.577,0.762-2.379
|
||||
c0.502-0.8,1.216-1.511,2.133-2.13V45.38c-0.853-0.619-1.572-1.446-2.161-2.476c-0.584-1.028-0.878-2.262-0.878-3.697
|
||||
c0-1.341,0.259-2.542,0.782-3.605c0.523-1.062,1.227-1.965,2.11-2.719c0.881-0.752,1.901-1.323,3.062-1.717
|
||||
c1.158-0.391,2.392-0.586,3.7-0.586c1.338,0,2.547,0.195,3.628,0.586h9.849v3.677h-5.979c0.493,0.523,0.932,1.17,1.323,1.935
|
||||
c0.394,0.771,0.589,1.629,0.589,2.576c0,1.309-0.244,2.472-0.734,3.479c-0.49,1.016-1.161,1.871-2.011,2.574
|
||||
c-0.852,0.703-1.846,1.232-2.988,1.59c-1.143,0.359-2.369,0.543-3.677,0.543c-0.586,0-1.216-0.066-1.889-0.198
|
||||
c-0.667-0.127-1.328-0.328-1.983-0.589c-1.112,0.721-1.666,1.552-1.666,2.501c0,0.881,0.409,1.521,1.224,1.912
|
||||
c0.815,0.394,1.993,0.589,3.529,0.589h5.096c3.142,0,5.464,0.452,6.988,1.346c1.518,0.899,2.277,2.383,2.277,4.438
|
||||
c0,1.146-0.32,2.222-0.955,3.234c-0.641,1.014-1.546,1.903-2.723,2.675c-1.175,0.764-2.597,1.37-4.266,1.811
|
||||
c-1.663,0.444-3.527,0.663-5.586,0.663c-3.4,0-6.076-0.548-8.036-1.646C73.827,63.184,72.846,61.57,72.846,59.448z M76.958,58.861
|
||||
c0,1.143,0.63,2.062,1.89,2.768c1.259,0.703,3.08,1.055,5.464,1.055c1.274,0,2.425-0.123,3.456-0.367
|
||||
c1.03-0.244,1.912-0.569,2.647-0.98c0.737-0.409,1.295-0.876,1.691-1.396c0.391-0.521,0.586-1.076,0.586-1.668
|
||||
c0-1.043-0.434-1.736-1.297-2.08c-0.866-0.346-2.166-0.516-3.897-0.516h-4.215c-0.751,0-1.419-0.023-2.006-0.074
|
||||
c-0.591-0.048-1.147-0.153-1.668-0.318c-0.983,0.556-1.666,1.13-2.062,1.716C77.159,57.586,76.958,58.204,76.958,58.861z
|
||||
M83.773,44.4c1.374,0,2.547-0.454,3.532-1.37c0.978-0.917,1.47-2.188,1.47-3.821c0-1.572-0.493-2.829-1.47-3.775
|
||||
c-0.985-0.948-2.158-1.423-3.532-1.423s-2.549,0.475-3.529,1.423c-0.978,0.946-1.47,2.203-1.47,3.775
|
||||
c0,1.633,0.493,2.905,1.47,3.821C81.225,43.946,82.399,44.4,83.773,44.4z"/>
|
||||
</g>
|
||||
<path fill="#010101" d="M36.09,55.784h-4.107l-0.404-4.104h-0.203c-1.219,1.42-2.546,2.559-3.98,3.424
|
||||
c-1.438,0.857-3.101,1.289-4.994,1.289c-2.94,0-5.088-0.851-6.439-2.559c-1.353-1.707-2.027-4.2-2.027-7.479V33.906l-6.562-0.127
|
||||
l11.632-4.478l-0.051,3.382v13.013c0,2.199,0.389,3.812,1.168,4.842c0.777,1.033,2.11,1.549,4.004,1.549
|
||||
c1.285,0,2.458-0.314,3.524-0.941c1.063-0.625,2.207-1.682,3.423-3.166V30.993h5.02L36.09,55.784L36.09,55.784z"/>
|
||||
<path fill="#010101" d="M44.406,30.992h4.106l0.405,4.007h0.2c1.252-1.287,2.604-2.376,4.059-3.271
|
||||
c1.449-0.896,3.144-1.343,5.07-1.343c2.905,0,5.038,0.863,6.389,2.584c1.351,1.722,2.028,4.21,2.028,7.455v15.359h-5.021V41.082
|
||||
c0-2.161-0.387-3.761-1.163-4.789c-0.777-1.033-2.113-1.551-4.007-1.551c-1.32,0-2.501,0.335-3.551,0.99
|
||||
c-1.046,0.66-2.217,1.646-3.499,2.968v17.083h-5.017V30.992L44.406,30.992z"/>
|
||||
<path fill="#010101" d="M122.687,43.416c0-2.029,0.355-3.848,1.064-5.452c0.71-1.604,1.654-2.976,2.841-4.106
|
||||
c1.181-1.132,2.532-1.996,4.058-2.587c1.52-0.591,3.093-0.886,4.71-0.886c1.828,0,3.439,0.287,4.849,0.863
|
||||
c1.397,0.574,2.592,1.374,3.571,2.402c0.982,1.036,1.726,2.268,2.23,3.708c0.507,1.435,0.763,3.014,0.763,4.737
|
||||
c0,0.513-0.026,0.988-0.078,1.445c-0.051,0.46-0.107,0.838-0.178,1.14h-18.66c0.17,2.435,1.074,4.338,2.717,5.706
|
||||
c1.639,1.369,3.705,2.052,6.208,2.052c1.354,0,2.61-0.186,3.778-0.56c1.168-0.368,2.31-0.891,3.42-1.565l1.774,3.191
|
||||
c-1.279,0.812-2.729,1.495-4.332,2.055c-1.606,0.557-3.375,0.834-5.302,0.834c-1.86,0-3.604-0.293-5.243-0.886
|
||||
c-1.644-0.591-3.066-1.44-4.285-2.559c-1.22-1.115-2.175-2.478-2.866-4.083C123.033,47.258,122.687,45.441,122.687,43.416z
|
||||
M142.105,41.237c0-2.234-0.577-3.941-1.725-5.126c-1.15-1.182-2.789-1.771-4.918-1.771c-1.859,0-3.517,0.589-4.97,1.771
|
||||
c-1.455,1.186-2.351,2.892-2.686,5.126H142.105z"/>
|
||||
<path fill="#010101" d="M163.271,30.208l0.015,26.086h-5.02V37.248h-9.415L163.271,30.208z M160.344,25.094
|
||||
c-1.084,0-1.978-0.323-2.688-0.962c-0.707-0.643-1.062-1.506-1.062-2.587s0.354-1.95,1.062-2.61c0.711-0.66,1.604-0.988,2.688-0.988
|
||||
c1.08,0,1.979,0.328,2.688,0.988c0.709,0.66,1.066,1.529,1.066,2.61s-0.357,1.945-1.066,2.587
|
||||
C162.322,24.771,161.424,25.094,160.344,25.094z"/>
|
||||
<path fill="#010101" d="M170.242,43.921c0-2.062,0.373-3.905,1.117-5.524c0.744-1.625,1.76-2.991,3.045-4.111
|
||||
c1.281-1.112,2.761-1.955,4.437-2.532c1.675-0.574,3.455-0.86,5.349-0.86c2.028,0,3.802,0.345,5.324,1.036
|
||||
c1.521,0.693,2.791,1.534,3.804,2.511l-2.434,3.194c-0.981-0.812-1.998-1.444-3.047-1.901c-1.043-0.457-2.179-0.684-3.396-0.684
|
||||
c-1.313,0-2.531,0.211-3.648,0.635c-1.112,0.422-2.071,1.021-2.862,1.799c-0.793,0.778-1.409,1.716-1.853,2.815
|
||||
c-0.438,1.097-0.657,2.31-0.657,3.623c0,1.318,0.211,2.529,0.635,3.628c0.422,1.098,1.028,2.034,1.824,2.812
|
||||
c0.795,0.773,1.732,1.38,2.814,1.801c1.081,0.419,2.279,0.63,3.6,0.63c1.521,0,2.892-0.285,4.105-0.858
|
||||
c1.217-0.576,2.312-1.267,3.297-2.08l2.13,3.246c-1.419,1.217-2.976,2.155-4.666,2.812c-1.688,0.658-3.448,0.988-5.272,0.988
|
||||
c-1.926,0-3.726-0.287-5.398-0.861c-1.674-0.571-3.117-1.419-4.337-2.536c-1.216-1.118-2.171-2.476-2.864-4.083
|
||||
C170.59,47.818,170.242,45.984,170.242,43.921z"/>
|
||||
<path fill="#010101" d="M194.072,20.488l10.513-5.213v14.603l-0.306,5.576c1.252-1.282,2.603-2.366,4.06-3.245
|
||||
c1.453-0.876,3.144-1.315,5.069-1.315c2.904,0,5.035,0.86,6.388,2.584c1.351,1.724,2.026,4.209,2.026,7.456v15.36h-5.02V41.587
|
||||
c0-2.163-0.39-3.76-1.168-4.789c-0.774-1.03-2.107-1.549-4.002-1.549c-1.317,0-2.504,0.33-3.55,0.99
|
||||
c-1.049,0.659-2.217,1.647-3.5,2.968v17.085h-5.021l-0.104-36.017L194.072,20.488z"/>
|
||||
<g>
|
||||
<polygon fill="#070404" points="222.766,9.28 221.074,12.812 242.092,12.901 243.783,9.3 "/>
|
||||
<polygon fill="#070404" points="221.103,16.986 219.357,20.693 240.404,20.736 242.092,17.07 "/>
|
||||
<polygon fill="#070404" points="225.205,24.898 234.847,4.372 238.561,4.425 229.031,24.903 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#010101" d="M110.112,47.722c0,1.663,0.416,2.867,1.251,3.604c0.833,0.732,1.917,1.104,3.258,1.104
|
||||
c0.652,0,1.325-0.084,2.012-0.248c0.686-0.164,1.455-0.425,2.304-0.785l1.176,3.631c-0.557,0.192-1.088,0.371-1.593,0.539
|
||||
c-0.512,0.162-1.021,0.297-1.544,0.412c-0.522,0.117-1.069,0.215-1.641,0.295c-0.574,0.08-1.202,0.125-1.888,0.125
|
||||
c-2.681,0-4.715-0.768-6.104-2.307c-1.389-1.536-2.081-3.755-2.081-6.665V14.792H97.42l12.691-8.943"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 521 KiB |
Before Width: | Height: | Size: 628 KiB |
Before Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 189 KiB |
Before Width: | Height: | Size: 321 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="250px" height="70px" viewBox="0 0 250 70" enable-background="new 0 0 250 70" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#010101" d="M72.846,59.448c0-0.947,0.333-1.869,1.003-2.77c0.67-0.899,1.625-1.709,2.866-2.425v-0.201
|
||||
c-0.649-0.356-1.224-0.854-1.717-1.492c-0.486-0.638-0.732-1.463-0.732-2.474c0-0.784,0.254-1.577,0.762-2.379
|
||||
c0.502-0.8,1.216-1.511,2.133-2.13V45.38c-0.853-0.619-1.572-1.446-2.161-2.476c-0.584-1.028-0.878-2.262-0.878-3.697
|
||||
c0-1.341,0.259-2.542,0.782-3.605c0.523-1.062,1.227-1.965,2.11-2.719c0.881-0.752,1.901-1.323,3.062-1.717
|
||||
c1.158-0.391,2.392-0.586,3.7-0.586c1.338,0,2.547,0.195,3.628,0.586h9.849v3.677h-5.979c0.493,0.523,0.932,1.17,1.323,1.935
|
||||
c0.394,0.771,0.589,1.629,0.589,2.576c0,1.309-0.244,2.472-0.734,3.479c-0.49,1.016-1.161,1.871-2.011,2.574
|
||||
c-0.852,0.703-1.846,1.232-2.988,1.59c-1.143,0.359-2.369,0.543-3.677,0.543c-0.586,0-1.216-0.066-1.889-0.198
|
||||
c-0.667-0.127-1.328-0.328-1.983-0.589c-1.112,0.721-1.666,1.552-1.666,2.501c0,0.881,0.409,1.521,1.224,1.912
|
||||
c0.815,0.394,1.993,0.589,3.529,0.589h5.096c3.142,0,5.464,0.452,6.988,1.346c1.518,0.899,2.277,2.383,2.277,4.438
|
||||
c0,1.146-0.32,2.222-0.955,3.234c-0.641,1.014-1.546,1.903-2.723,2.675c-1.175,0.764-2.597,1.37-4.266,1.811
|
||||
c-1.663,0.444-3.527,0.663-5.586,0.663c-3.4,0-6.076-0.548-8.036-1.646C73.827,63.184,72.846,61.57,72.846,59.448z M76.958,58.861
|
||||
c0,1.143,0.63,2.062,1.89,2.768c1.259,0.703,3.08,1.055,5.464,1.055c1.274,0,2.425-0.123,3.456-0.367
|
||||
c1.03-0.244,1.912-0.569,2.647-0.98c0.737-0.409,1.295-0.876,1.691-1.396c0.391-0.521,0.586-1.076,0.586-1.668
|
||||
c0-1.043-0.434-1.736-1.297-2.08c-0.866-0.346-2.166-0.516-3.897-0.516h-4.215c-0.751,0-1.419-0.023-2.006-0.074
|
||||
c-0.591-0.048-1.147-0.153-1.668-0.318c-0.983,0.556-1.666,1.13-2.062,1.716C77.159,57.586,76.958,58.204,76.958,58.861z
|
||||
M83.773,44.4c1.374,0,2.547-0.454,3.532-1.37c0.978-0.917,1.47-2.188,1.47-3.821c0-1.572-0.493-2.829-1.47-3.775
|
||||
c-0.985-0.948-2.158-1.423-3.532-1.423s-2.549,0.475-3.529,1.423c-0.978,0.946-1.47,2.203-1.47,3.775
|
||||
c0,1.633,0.493,2.905,1.47,3.821C81.225,43.946,82.399,44.4,83.773,44.4z"/>
|
||||
</g>
|
||||
<path fill="#010101" d="M36.09,55.784h-4.107l-0.404-4.104h-0.203c-1.219,1.42-2.546,2.559-3.98,3.424
|
||||
c-1.438,0.857-3.101,1.289-4.994,1.289c-2.94,0-5.088-0.851-6.439-2.559c-1.353-1.707-2.027-4.2-2.027-7.479V33.906l-6.562-0.127
|
||||
l11.632-4.478l-0.051,3.382v13.013c0,2.199,0.389,3.812,1.168,4.842c0.777,1.033,2.11,1.549,4.004,1.549
|
||||
c1.285,0,2.458-0.314,3.524-0.941c1.063-0.625,2.207-1.682,3.423-3.166V30.993h5.02L36.09,55.784L36.09,55.784z"/>
|
||||
<path fill="#010101" d="M44.406,30.992h4.106l0.405,4.007h0.2c1.252-1.287,2.604-2.376,4.059-3.271
|
||||
c1.449-0.896,3.144-1.343,5.07-1.343c2.905,0,5.038,0.863,6.389,2.584c1.351,1.722,2.028,4.21,2.028,7.455v15.359h-5.021V41.082
|
||||
c0-2.161-0.387-3.761-1.163-4.789c-0.777-1.033-2.113-1.551-4.007-1.551c-1.32,0-2.501,0.335-3.551,0.99
|
||||
c-1.046,0.66-2.217,1.646-3.499,2.968v17.083h-5.017V30.992L44.406,30.992z"/>
|
||||
<path fill="#010101" d="M122.687,43.416c0-2.029,0.355-3.848,1.064-5.452c0.71-1.604,1.654-2.976,2.841-4.106
|
||||
c1.181-1.132,2.532-1.996,4.058-2.587c1.52-0.591,3.093-0.886,4.71-0.886c1.828,0,3.439,0.287,4.849,0.863
|
||||
c1.397,0.574,2.592,1.374,3.571,2.402c0.982,1.036,1.726,2.268,2.23,3.708c0.507,1.435,0.763,3.014,0.763,4.737
|
||||
c0,0.513-0.026,0.988-0.078,1.445c-0.051,0.46-0.107,0.838-0.178,1.14h-18.66c0.17,2.435,1.074,4.338,2.717,5.706
|
||||
c1.639,1.369,3.705,2.052,6.208,2.052c1.354,0,2.61-0.186,3.778-0.56c1.168-0.368,2.31-0.891,3.42-1.565l1.774,3.191
|
||||
c-1.279,0.812-2.729,1.495-4.332,2.055c-1.606,0.557-3.375,0.834-5.302,0.834c-1.86,0-3.604-0.293-5.243-0.886
|
||||
c-1.644-0.591-3.066-1.44-4.285-2.559c-1.22-1.115-2.175-2.478-2.866-4.083C123.033,47.258,122.687,45.441,122.687,43.416z
|
||||
M142.105,41.237c0-2.234-0.577-3.941-1.725-5.126c-1.15-1.182-2.789-1.771-4.918-1.771c-1.859,0-3.517,0.589-4.97,1.771
|
||||
c-1.455,1.186-2.351,2.892-2.686,5.126H142.105z"/>
|
||||
<path fill="#010101" d="M163.271,30.208l0.015,26.086h-5.02V37.248h-9.415L163.271,30.208z M160.344,25.094
|
||||
c-1.084,0-1.978-0.323-2.688-0.962c-0.707-0.643-1.062-1.506-1.062-2.587s0.354-1.95,1.062-2.61c0.711-0.66,1.604-0.988,2.688-0.988
|
||||
c1.08,0,1.979,0.328,2.688,0.988c0.709,0.66,1.066,1.529,1.066,2.61s-0.357,1.945-1.066,2.587
|
||||
C162.322,24.771,161.424,25.094,160.344,25.094z"/>
|
||||
<path fill="#010101" d="M170.242,43.921c0-2.062,0.373-3.905,1.117-5.524c0.744-1.625,1.76-2.991,3.045-4.111
|
||||
c1.281-1.112,2.761-1.955,4.437-2.532c1.675-0.574,3.455-0.86,5.349-0.86c2.028,0,3.802,0.345,5.324,1.036
|
||||
c1.521,0.693,2.791,1.534,3.804,2.511l-2.434,3.194c-0.981-0.812-1.998-1.444-3.047-1.901c-1.043-0.457-2.179-0.684-3.396-0.684
|
||||
c-1.313,0-2.531,0.211-3.648,0.635c-1.112,0.422-2.071,1.021-2.862,1.799c-0.793,0.778-1.409,1.716-1.853,2.815
|
||||
c-0.438,1.097-0.657,2.31-0.657,3.623c0,1.318,0.211,2.529,0.635,3.628c0.422,1.098,1.028,2.034,1.824,2.812
|
||||
c0.795,0.773,1.732,1.38,2.814,1.801c1.081,0.419,2.279,0.63,3.6,0.63c1.521,0,2.892-0.285,4.105-0.858
|
||||
c1.217-0.576,2.312-1.267,3.297-2.08l2.13,3.246c-1.419,1.217-2.976,2.155-4.666,2.812c-1.688,0.658-3.448,0.988-5.272,0.988
|
||||
c-1.926,0-3.726-0.287-5.398-0.861c-1.674-0.571-3.117-1.419-4.337-2.536c-1.216-1.118-2.171-2.476-2.864-4.083
|
||||
C170.59,47.818,170.242,45.984,170.242,43.921z"/>
|
||||
<path fill="#010101" d="M194.072,20.488l10.513-5.213v14.603l-0.306,5.576c1.252-1.282,2.603-2.366,4.06-3.245
|
||||
c1.453-0.876,3.144-1.315,5.069-1.315c2.904,0,5.035,0.86,6.388,2.584c1.351,1.724,2.026,4.209,2.026,7.456v15.36h-5.02V41.587
|
||||
c0-2.163-0.39-3.76-1.168-4.789c-0.774-1.03-2.107-1.549-4.002-1.549c-1.317,0-2.504,0.33-3.55,0.99
|
||||
c-1.049,0.659-2.217,1.647-3.5,2.968v17.085h-5.021l-0.104-36.017L194.072,20.488z"/>
|
||||
<g>
|
||||
<polygon fill="#070404" points="222.766,9.28 221.074,12.812 242.092,12.901 243.783,9.3 "/>
|
||||
<polygon fill="#070404" points="221.103,16.986 219.357,20.693 240.404,20.736 242.092,17.07 "/>
|
||||
<polygon fill="#070404" points="225.205,24.898 234.847,4.372 238.561,4.425 229.031,24.903 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#010101" d="M110.112,47.722c0,1.663,0.416,2.867,1.251,3.604c0.833,0.732,1.917,1.104,3.258,1.104
|
||||
c0.652,0,1.325-0.084,2.012-0.248c0.686-0.164,1.455-0.425,2.304-0.785l1.176,3.631c-0.557,0.192-1.088,0.371-1.593,0.539
|
||||
c-0.512,0.162-1.021,0.297-1.544,0.412c-0.522,0.117-1.069,0.215-1.641,0.295c-0.574,0.08-1.202,0.125-1.888,0.125
|
||||
c-2.681,0-4.715-0.768-6.104-2.307c-1.389-1.536-2.081-3.755-2.081-6.665V14.792H97.42l12.691-8.943"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 879 KiB |
Before Width: | Height: | Size: 2.7 MiB |
Before Width: | Height: | Size: 1.1 MiB |
Before Width: | Height: | Size: 56 KiB |
Before Width: | Height: | Size: 618 KiB |
Before Width: | Height: | Size: 262 KiB |