Merge branch 'master' into bug/3313/pwd_reset_email_from_dcl_support
This commit is contained in:
commit
657e93862d
99 changed files with 1282 additions and 1811 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -34,3 +34,4 @@ secret-key
|
|||
.idea/
|
||||
|
||||
.env
|
||||
*.mo
|
||||
|
|
23
Changelog
23
Changelog
|
@ -1,3 +1,22 @@
|
|||
1.0.16: 2017-06-15
|
||||
* [datacenterlight] .po file issue with multiple definition fixed
|
||||
* [datacenterlight] Navbar items in dcl user area rearranged
|
||||
* [datacenterlight] Typos in german fixed (#3364)
|
||||
* [datacenterlight] Added "VAT included" text in calculator box
|
||||
1.0.15: 2017-06-14
|
||||
* [datacenterlight] Fixed error trying to delete ssh key
|
||||
* [datacenterlight] Fixed footer links
|
||||
* [datacenterlight] Fixed some styles on landing
|
||||
1.0.14: 2017-06-14
|
||||
* [all] Added deploy.sh
|
||||
* [all] Removed .mo files and updated .gitignore
|
||||
1.0.13: 2017-06-13
|
||||
* [datacenterlight] Added translations for email and name placeholders fields
|
||||
1.0.12: 2017-06-13
|
||||
* [datacenterlight] Added from address for EmailMessage that was missing
|
||||
1.0.11: 2017-06-12
|
||||
* [datacenterlight] month added to landing calculator box
|
||||
* [datacenterlight] dcl_email from address fixed to come from support@dcl
|
||||
1.0.10: 2017-06-11
|
||||
* [datacenterlight] Send plain text email only for new orders
|
||||
1.0.9: 2017-06-11
|
||||
|
@ -31,3 +50,7 @@
|
|||
* [datacenterlight] Fix initially shown price
|
||||
1.0.0: 2017-05-25
|
||||
* Initial stable release
|
||||
|
||||
Next:
|
||||
[datacenterlight] Fixed error trying to delete ssh key
|
||||
[datacenterlight] Fixed footer links
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-11 17:42+0530\n"
|
||||
"POT-Creation-Date: 2017-06-14 17:33-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"
|
||||
|
@ -30,11 +30,11 @@ msgstr "E-Mail-Adresse"
|
|||
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,178 +75,187 @@ msgstr ""
|
|||
msgid "Thank you!"
|
||||
msgstr "Vielen Dank!"
|
||||
|
||||
#: templates/datacenterlight/index.html:62
|
||||
#: templates/datacenterlight/index.html:160
|
||||
#: templates/datacenterlight/index.html:383
|
||||
#: templates/datacenterlight/order.html:24
|
||||
#: templates/datacenterlight/order.html:165
|
||||
#: templates/datacenterlight/pricing.html:62
|
||||
#: templates/datacenterlight/pricing.html:190
|
||||
#: templates/datacenterlight/success.html:23
|
||||
msgid "What is it"
|
||||
msgstr "Was ist es?"
|
||||
#: templates/datacenterlight/includes/_footer.html:11
|
||||
#: templates/datacenterlight/includes/_footer.html:31
|
||||
#: templates/datacenterlight/includes/_navbar.html:27
|
||||
#: templates/datacenterlight/index.html:20
|
||||
#: templates/datacenterlight/index.html:47
|
||||
msgid "Highlights"
|
||||
msgstr ""
|
||||
|
||||
#: templates/datacenterlight/index.html:65
|
||||
#: templates/datacenterlight/index.html:189
|
||||
#: templates/datacenterlight/index.html:386
|
||||
#: templates/datacenterlight/order.html:27
|
||||
#: templates/datacenterlight/order.html:168
|
||||
#: templates/datacenterlight/pricing.html:65
|
||||
#: templates/datacenterlight/pricing.html:193
|
||||
#: templates/datacenterlight/success.html:26
|
||||
#: templates/datacenterlight/includes/_footer.html:14
|
||||
#: templates/datacenterlight/includes/_footer.html:34
|
||||
#: templates/datacenterlight/includes/_navbar.html:30
|
||||
#: templates/datacenterlight/index.html:86
|
||||
msgid "Scale out"
|
||||
msgstr "Skalierung"
|
||||
|
||||
#: templates/datacenterlight/index.html:68
|
||||
#: templates/datacenterlight/index.html:215
|
||||
#: templates/datacenterlight/index.html:389
|
||||
#: templates/datacenterlight/order.html:30
|
||||
#: templates/datacenterlight/order.html:171
|
||||
#: templates/datacenterlight/pricing.html:68
|
||||
#: templates/datacenterlight/pricing.html:196
|
||||
#: templates/datacenterlight/success.html:29
|
||||
#: templates/datacenterlight/includes/_footer.html:17
|
||||
#: templates/datacenterlight/includes/_footer.html:37
|
||||
#: templates/datacenterlight/includes/_navbar.html:33
|
||||
#: templates/datacenterlight/index.html:112
|
||||
msgid "Reliable and light"
|
||||
msgstr "Zuverlässig und leicht"
|
||||
|
||||
#: templates/datacenterlight/index.html:71
|
||||
#: templates/datacenterlight/includes/_footer.html:20
|
||||
#: templates/datacenterlight/includes/_navbar.html:36
|
||||
msgid "Order VM"
|
||||
msgstr "VM bestellen"
|
||||
|
||||
#: templates/datacenterlight/index.html:74
|
||||
#: templates/datacenterlight/index.html:396
|
||||
#: templates/datacenterlight/order.html:36
|
||||
#: templates/datacenterlight/order.html:178
|
||||
#: templates/datacenterlight/pricing.html:74
|
||||
#: templates/datacenterlight/pricing.html:203
|
||||
#: templates/datacenterlight/success.html:35
|
||||
#: templates/datacenterlight/includes/_footer.html:23
|
||||
#: templates/datacenterlight/includes/_footer.html:44
|
||||
#: templates/datacenterlight/includes/_navbar.html:39
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: templates/datacenterlight/index.html:127
|
||||
#: templates/datacenterlight/includes/_footer.html:27
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: templates/datacenterlight/includes/_footer.html:40
|
||||
msgid "Pricing"
|
||||
msgstr "Preise"
|
||||
|
||||
#: templates/datacenterlight/index.html:16
|
||||
msgid "Finally, an affordable VM hosting in Switzerland!"
|
||||
msgstr "Endlich: bezahlbares VM Hosting in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:131
|
||||
msgid "What is it?"
|
||||
msgstr "Was ist es?"
|
||||
|
||||
#: templates/datacenterlight/index.html:134
|
||||
#: templates/datacenterlight/index.html:23
|
||||
msgid "I want it!"
|
||||
msgstr "Das will ich haben!"
|
||||
|
||||
#: templates/datacenterlight/index.html:165
|
||||
msgid "Reuse existing factory halls intead of building an expensive building."
|
||||
#: templates/datacenterlight/index.html:53
|
||||
msgid ""
|
||||
"Reuses existing factory halls instead of building a new expensive building."
|
||||
msgstr ""
|
||||
"Nachhaltigkeit: Wiederverwendung ehemaliger Fabrikhallen an Stelle der "
|
||||
"Errichtung eines neuen Gebäudes"
|
||||
"Verwendet ehemalige Fabrikhallen anstatt ein neues, teures Gebäude zu "
|
||||
"errichten.
"
|
||||
|
||||
#: templates/datacenterlight/index.html:168
|
||||
msgid "Being creative, using modern and alternative design for a datacenter."
|
||||
#: templates/datacenterlight/index.html:58
|
||||
msgid "Only wants you to pay for what you actually need."
|
||||
msgstr ""
|
||||
"Kreativität: Verwendung eines modernen und alternativen Designs für unser "
|
||||
"Datencenter"
|
||||
"Möchte, dass du nur bezahlst, was du auch wirklich brauchst: Wähle deine "
|
||||
"Ressourcen individuell aus!
"
|
||||
|
||||
#: templates/datacenterlight/index.html:170
|
||||
msgid "Being open: Using FOSS exclusively, we can save money for licenses."
|
||||
#: templates/datacenterlight/index.html:62
|
||||
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."
|
||||
msgstr ""
|
||||
"Offene Verfahrensweise: Die Benutzung eines eigenen Frameworks, FOSS, "
|
||||
"erspart Lizenzgebühren"
|
||||
"Ist kreativ, indem es sich ein modernes und alternatives Layout zu Nutze "
|
||||
"macht um Nachhaltigkeit zu fördern und somit erschwingliche Preise bieten zu "
|
||||
"können.
"
|
||||
|
||||
#: templates/datacenterlight/index.html:192
|
||||
#: templates/datacenterlight/index.html:66
|
||||
msgid ""
|
||||
"Cuts down the costs for you by using FOSS (Free Open Source Software) "
|
||||
"exclusively, wherefore we can save money from paying licenses."
|
||||
msgstr ""
|
||||
"Sorgt dafür, dass unnötige Kosten erspart werden, indem es ausschliesslich "
|
||||
"mit FOSS (Free Open Source Software) arbeitet und wir daher auf "
|
||||
"Lizenzgebühren verzichten können.
"
|
||||
|
||||
#: templates/datacenterlight/index.html:89
|
||||
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 "
|
||||
"called data center."
|
||||
msgstr ""
|
||||
"Wir benutzen keine spezielle Hardware, sondern am Markt verfügbare, "
|
||||
"erschwingliche Systeme. Bei grösserer Auslastung werden mehr Standard "
|
||||
"komponenten hinzugekauft und skalieren so das Datencenter."
|
||||
"erschwingliche Systeme. Bei grösserer Auslastung werden mehr "
|
||||
"Standardkomponenten hinzugekauft und skalieren so das Datencenter."
|
||||
|
||||
#: templates/datacenterlight/index.html:218
|
||||
#: templates/datacenterlight/index.html:115
|
||||
msgid ""
|
||||
"Our VMs are located in Switzerland, with reliable power supply and fast "
|
||||
"internet connection. Our VM costs less thanks to our featherlight "
|
||||
"infrastructure."
|
||||
msgstr ""
|
||||
"Unser Datacenter befindet sich in der Schweiz und ist mit zuverlässiger "
|
||||
"Energieversorgung sowie schneller Internetverbindung ausgestattet. Unser "
|
||||
"Energieversorgung, sowie schneller Internetverbindung ausgestattet. Unser "
|
||||
"Angebot ist aufgrund unserer leichten Infrastruktur überaus kostengünstig."
|
||||
|
||||
#: templates/datacenterlight/index.html:236
|
||||
#: templates/datacenterlight/order.html:143
|
||||
#: templates/datacenterlight/pricing.html:168
|
||||
#: templates/datacenterlight/index.html:133
|
||||
#: templates/datacenterlight/order.html:87
|
||||
#: templates/datacenterlight/pricing.html:86
|
||||
msgid "Simple and affordable: Try our virtual machine with featherlight price."
|
||||
msgstr "Einfach und bezahlbar: Teste nun unsere virtuellen Maschinen mit federleichten Preisen."
|
||||
msgstr ""
|
||||
"Einfach und bezahlbar: Teste nun unsere virtuellen Maschinen mit "
|
||||
"federleichten Preisen."
|
||||
|
||||
#: templates/datacenterlight/index.html:237
|
||||
#: templates/datacenterlight/index.html:134
|
||||
msgid "Affordable VM hosting based in Switzerland"
|
||||
msgstr "Bezahlbares VM Hosting in der Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:248
|
||||
#: templates/datacenterlight/order.html:81
|
||||
#: templates/datacenterlight/pricing.html:119
|
||||
#: templates/datacenterlight/index.html:145
|
||||
#: templates/datacenterlight/order.html:22
|
||||
#: templates/datacenterlight/pricing.html:22
|
||||
msgid "VM hosting"
|
||||
msgstr "VM Hosting"
|
||||
msgstr ""
|
||||
|
||||
#: templates/datacenterlight/index.html:256
|
||||
#: templates/datacenterlight/order.html:89
|
||||
#: templates/datacenterlight/pricing.html:127
|
||||
#: templates/datacenterlight/index.html:149
|
||||
msgid "month"
|
||||
msgstr "Monat"
|
||||
|
||||
#: templates/datacenterlight/index.html:151
|
||||
#: templates/datacenterlight/order.html:28
|
||||
#: templates/datacenterlight/pricing.html:28
|
||||
msgid "VAT included"
|
||||
msgstr "MwSt. inklusive"
|
||||
|
||||
#: templates/datacenterlight/index.html:156
|
||||
#: templates/datacenterlight/order.html:33
|
||||
#: templates/datacenterlight/pricing.html:33
|
||||
msgid "Hosted in Switzerland"
|
||||
msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
msgstr "Standort: Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:273
|
||||
#: templates/datacenterlight/order.html:106
|
||||
#: templates/datacenterlight/pricing.html:144
|
||||
#: templates/datacenterlight/index.html:173
|
||||
#: templates/datacenterlight/order.html:50
|
||||
#: templates/datacenterlight/pricing.html:50
|
||||
msgid "GB Storage (SSD)"
|
||||
msgstr "GB Storage (SSD)"
|
||||
|
||||
#: templates/datacenterlight/index.html:297
|
||||
#: templates/datacenterlight/order.html:133
|
||||
#: templates/datacenterlight/pricing.html:161
|
||||
#: templates/datacenterlight/index.html:189
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: templates/datacenterlight/index.html:190
|
||||
msgid "Your Name"
|
||||
msgstr "Dein Name"
|
||||
|
||||
#: templates/datacenterlight/index.html:193
|
||||
msgid "Email"
|
||||
msgstr "E-Mail-Adresse"
|
||||
|
||||
#: templates/datacenterlight/index.html:194
|
||||
msgid "Your Email"
|
||||
msgstr "Deine E-Mail"
|
||||
|
||||
#: templates/datacenterlight/index.html:197
|
||||
#: templates/datacenterlight/order.html:77
|
||||
#: templates/datacenterlight/pricing.html:79
|
||||
msgid "Order Now!"
|
||||
msgstr "Bestelle jetzt!"
|
||||
|
||||
#: templates/datacenterlight/index.html:317
|
||||
msgid "I want to have it!"
|
||||
msgstr "Das möchte ich haben!"
|
||||
|
||||
#: templates/datacenterlight/index.html:344
|
||||
#: templates/datacenterlight/index.html:226
|
||||
msgid "Switzerland "
|
||||
msgstr "Schweiz"
|
||||
|
||||
#: templates/datacenterlight/index.html:361
|
||||
#: templates/datacenterlight/index.html:243
|
||||
msgid "Questions?"
|
||||
msgstr "Fragen?"
|
||||
|
||||
#: templates/datacenterlight/index.html:361
|
||||
#: templates/datacenterlight/index.html:243
|
||||
msgid "Contact us!"
|
||||
msgstr "Kontaktiere uns!"
|
||||
|
||||
#: templates/datacenterlight/index.html:379
|
||||
#: templates/datacenterlight/order.html:161
|
||||
#: templates/datacenterlight/pricing.html:186
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: templates/datacenterlight/index.html:392
|
||||
#: templates/datacenterlight/order.html:174
|
||||
#: templates/datacenterlight/pricing.html:199
|
||||
msgid "Pricing"
|
||||
msgstr "Preise"
|
||||
|
||||
#: templates/datacenterlight/order.html:33
|
||||
#: templates/datacenterlight/pricing.html:71
|
||||
#: templates/datacenterlight/success.html:32
|
||||
msgid "Buy VM"
|
||||
msgstr "VM Kaufen"
|
||||
|
||||
#: templates/datacenterlight/order.html:68
|
||||
#: templates/datacenterlight/pricing.html:106
|
||||
#: 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"
|
||||
msgstr "Wir sorgen dafür, dass die Kosten für Dich signifikant abnehmen"
|
||||
|
||||
#: templates/datacenterlight/order.html:146
|
||||
#: templates/datacenterlight/pricing.html:171
|
||||
#: templates/datacenterlight/order.html:90
|
||||
#: templates/datacenterlight/pricing.html:89
|
||||
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 "
|
||||
|
@ -262,34 +271,60 @@ msgstr ""
|
|||
"uns unter support@datacenterlight.ch. Unser Team wird sich umgehend um dein "
|
||||
"Anliegen kümmern!"
|
||||
|
||||
#: templates/datacenterlight/success.html:62
|
||||
#: 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."
|
||||
|
||||
#: templates/datacenterlight/success.html:64
|
||||
#: templates/datacenterlight/success.html:10
|
||||
msgid "as soon as possible!"
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Our data center"
|
||||
#~ msgstr "Unser Datacenter"
|
||||
|
||||
#~ msgid "Based in Switzerland"
|
||||
#~ msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
#~ msgstr "Starndort: Schweiz"
|
||||
|
||||
#~ msgid "10 GB Storage (SSD)"
|
||||
#~ msgstr "10 GB Storage (SSD)"
|
||||
|
||||
#~ 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 ""
|
||||
#~ "Reuse existing factory halls intead of building an expensive building."
|
||||
#~ msgstr ""
|
||||
#~ "Nachhaltigkeit: Wiederverwendung ehemaliger Fabrikhallen an Stelle der "
|
||||
#~ "Errichtung eines neuen Gebäudes"
|
||||
|
||||
#~ 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 "Request Newsletter"
|
||||
#~ msgstr "Newsletter abonnieren"
|
||||
|
||||
#~ msgid "How it works"
|
||||
#~ msgstr "Wie es funktioniert"
|
||||
|
||||
#~ msgid "More Info"
|
||||
#~ msgstr "Weitere Informationen"
|
||||
|
||||
#~ msgid "Want to know more? Subscribe to our newsletter!"
|
||||
#~ msgstr "Willst du mehr wissen? Abonniere unseren Newsletter!"
|
||||
|
||||
#~ msgid "Our VMs are hosted in Glarus, Switzerland."
|
||||
#~ msgstr "Standort des Datacenters ist in der Schweiz"
|
||||
|
||||
|
|
|
@ -4,20 +4,8 @@
|
|||
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Regular';
|
||||
src: url('../fonts/Montserrat/Montserrat-Regular.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Bold';
|
||||
src: url('../fonts/Montserrat/Montserrat-Bold.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Medium';
|
||||
src: url('../fonts/Montserrat/Montserrat-Medium.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Light';
|
||||
src: url('../fonts/Montserrat/Montserrat-Light.ttf');
|
||||
font-family: 'Lato-Regular';
|
||||
src: url('../fonts/Lato/Lato-Regular.ttf');
|
||||
}
|
||||
body,
|
||||
html {
|
||||
|
@ -32,8 +20,8 @@ h3,
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Montserrat-Regular', sans-serif;
|
||||
font-weight: 700;
|
||||
font-family: 'Lato-Regular', sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
/*blue light #5A74AF*/
|
||||
/*blue dark #29427A*/
|
||||
|
@ -128,6 +116,10 @@ h6 {
|
|||
.navbar-transparent .navbar-nav>li>a:hover {
|
||||
color: #fff;
|
||||
}
|
||||
.navbar-transparent .navbar-nav>li>a:focus, .navbar-transparent .navbar-nav>li>a:hover {
|
||||
color: #fff;
|
||||
background-color: transparent;
|
||||
}
|
||||
.navbar-default .btn-link {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
@ -263,7 +255,6 @@ h6 {
|
|||
margin: 0;
|
||||
font-weight: 400;
|
||||
font-size: 6em;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
|
||||
.intro-divider {
|
||||
|
@ -274,7 +265,7 @@ h6 {
|
|||
|
||||
.intro-message > h3 {
|
||||
font-weight: 300;
|
||||
font-family: 'Montserrat-Light';
|
||||
|
||||
}
|
||||
|
||||
.intro-pricing{
|
||||
|
@ -331,7 +322,6 @@ h6 {
|
|||
margin-bottom: 25px;
|
||||
}
|
||||
.split-section .split-text .split-title h2{
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
padding-bottom: 25px;
|
||||
|
@ -352,6 +342,12 @@ h6 {
|
|||
width: 90%;
|
||||
margin-left: auto;
|
||||
}
|
||||
.split-section.right .split-description.title p{
|
||||
font-size: 27px;
|
||||
margin-bottom: 10px;
|
||||
text-align: left;
|
||||
|
||||
}
|
||||
.split-section.right .split-text {
|
||||
text-align: right;
|
||||
}
|
||||
|
@ -386,6 +382,20 @@ h6 {
|
|||
width: 70px;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.split-section.what .icon-section{
|
||||
position: relative;
|
||||
min-height: 500px;
|
||||
}
|
||||
.split-section.what .split-text .lead {
|
||||
font-size: 19px;
|
||||
color: #3a3a3a;
|
||||
margin-bottom: 5px;
|
||||
line-height: 29px;
|
||||
}
|
||||
.split-section.what .fa-li.fa-lg{
|
||||
font-size: 17px;
|
||||
}
|
||||
.pricing-section{
|
||||
padding: 80px 0 !important;
|
||||
background: -webkit-linear-gradient(top, #f0f4f7, #fff) no-repeat;
|
||||
|
@ -409,10 +419,8 @@ h6 {
|
|||
}
|
||||
.pricing-section .card .title{
|
||||
padding: 15px 40px;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.pricing-section .card .title h3{
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.pricing-section .card .price{
|
||||
background: #5A74AF;
|
||||
|
@ -437,7 +445,6 @@ h6 {
|
|||
text-align: left;
|
||||
}
|
||||
.pricing-section .text .section-heading{
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
padding-bottom: 25px;
|
||||
|
@ -464,7 +471,6 @@ h6 {
|
|||
padding: 70px 0;
|
||||
}
|
||||
.request-section .title h2{
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 45px;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
|
@ -505,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%);
|
||||
|
@ -540,7 +545,6 @@ h6 {
|
|||
.contact-section .card .subtitle h3{
|
||||
font-size: 30px;
|
||||
margin-bottom: 23px;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.contact-section .card .social a:hover{
|
||||
text-decoration: none;
|
||||
|
@ -551,7 +555,6 @@ h6 {
|
|||
max-width: 468px;
|
||||
}
|
||||
.contact-section .title h2{
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 65px;
|
||||
margin: 0;
|
||||
color: #fff;
|
||||
|
@ -581,10 +584,9 @@ h6 {
|
|||
width: 50%;
|
||||
}
|
||||
.price-calc-section .text .section-heading{
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 50px;
|
||||
line-height: 50px;
|
||||
padding-bottom: 25px;
|
||||
font-size: 48px;
|
||||
line-height: 48px;
|
||||
padding-bottom: 27px;
|
||||
color: #3a3a3a;
|
||||
letter-spacing: 1px;
|
||||
position: relative;
|
||||
|
@ -630,10 +632,8 @@ h6 {
|
|||
}
|
||||
.price-calc-section .card .title{
|
||||
padding: 15px 40px;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.price-calc-section .card .title h3{
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.price-calc-section .card .price{
|
||||
background: #5A74AF;
|
||||
|
@ -641,6 +641,9 @@ h6 {
|
|||
color: #fff;
|
||||
font-size: 32px;
|
||||
}
|
||||
.price-calc-section .card .price .price-text{
|
||||
font-size: 14px;
|
||||
}
|
||||
.price-calc-section .card .description{
|
||||
padding: 12px;
|
||||
border-bottom: 1px solid rgba(128, 128, 128, 0.3);
|
||||
|
@ -704,7 +707,7 @@ h6 {
|
|||
.price-calc-section .card .description.input label{
|
||||
font-size: 15px;
|
||||
font-weight: 800;
|
||||
font-family: 'Montserrat-Regular';
|
||||
font-family: 'Lato-Regular';
|
||||
margin-bottom: 0;
|
||||
width: 40px;
|
||||
}
|
||||
|
@ -718,6 +721,7 @@ h6 {
|
|||
background: #fff;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
.price-calc-section .card .check-ip input[type=checkbox]{
|
||||
font-size: 17px;
|
||||
margin: 0 8px;
|
||||
|
@ -799,9 +803,38 @@ h6 {
|
|||
border: 1px solid rgba(119, 119, 119, 0.4);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.navbar-default .nav-language .drop-language {
|
||||
background: #fff;
|
||||
/* border: 1px solid #fff; */
|
||||
z-index: 100000;
|
||||
left: 9px;
|
||||
border: 1px solid rgba(119, 119, 119, 0.4);
|
||||
box-shadow: none;
|
||||
}
|
||||
.navbar-default .nav-language .select-language {
|
||||
color: #777;
|
||||
}
|
||||
.navbar-default .nav-language .drop-language a {
|
||||
color: #777;
|
||||
}
|
||||
.navbar-transparent .navbar-nav>li>a:focus, .navbar-transparent .navbar-nav>li>a:hover {
|
||||
color: #333;
|
||||
background-color: transparent;
|
||||
}
|
||||
.navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover {
|
||||
color: #333;
|
||||
background-color: transparent;
|
||||
}
|
||||
.split-section {
|
||||
padding: 10px 0;
|
||||
}
|
||||
.split-section .icon-section {
|
||||
min-height: 160px;
|
||||
}
|
||||
.split-section.what .icon-section{
|
||||
min-height: 160px;
|
||||
}
|
||||
.split-section .icon-section i{
|
||||
font-size: 120px;
|
||||
}
|
||||
|
@ -841,6 +874,10 @@ h6 {
|
|||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
}
|
||||
.contact-section .card .social a {
|
||||
color: #29427A;
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.intro-pricing .intro-message .section-heading {
|
||||
font-size: 30px;
|
||||
|
@ -860,8 +897,7 @@ h6 {
|
|||
margin-top: 20px;
|
||||
}
|
||||
.price-calc-section .text .section-heading {
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 35px;
|
||||
font-size: 35px;
|
||||
line-height: 35px;
|
||||
padding-bottom: 15px;
|
||||
text-align: center;
|
||||
|
@ -881,7 +917,6 @@ h6 {
|
|||
width: 60px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@media(max-width:540px) {
|
||||
|
@ -927,7 +962,6 @@ h6 {
|
|||
|
||||
.section-heading {
|
||||
margin-bottom: 30px;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
|
||||
.section-heading-spacer {
|
||||
|
|
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Black.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Black.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-BlackItalic.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-BlackItalic.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Bold.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Bold.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-BoldItalic.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-BoldItalic.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Hairline.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Hairline.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Italic.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Italic.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Light.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Light.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-LightItalic.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-LightItalic.ttf
Executable file
Binary file not shown.
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Regular.ttf
Executable file
BIN
datacenterlight/static/datacenterlight/fonts/Lato/Lato-Regular.ttf
Executable file
Binary file not shown.
|
@ -1,4 +1,4 @@
|
|||
Copyright 2011 The Montserrat Project Authors (julieta.ulanovsky@gmail.com)
|
||||
Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato"
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
|
@ -74,7 +74,8 @@
|
|||
function _initNavUrl(){
|
||||
$('.url').click(function(){
|
||||
var href = $(this).attr('data-url');
|
||||
console.log(href);
|
||||
$('.navbar-collapse').removeClass('in');
|
||||
$('.navbar-collapse').addClass('collapsing');
|
||||
$('html, body').animate({
|
||||
scrollTop: $(href).offset().top
|
||||
}, 1000);
|
||||
|
@ -121,8 +122,7 @@
|
|||
}
|
||||
|
||||
function _calcPricing(){
|
||||
var total = (cardPricing['cpu'].value * 5) + (2* cardPricing['ram'].value) + (0.6* cardPricing['storage'].value)
|
||||
console.log(total);
|
||||
var total = (cardPricing['cpu'].value * 5) + (2* cardPricing['ram'].value) + (0.6* cardPricing['storage'].value);
|
||||
total = parseFloat(total.toFixed(2));
|
||||
|
||||
$("#total").text(total);
|
||||
|
@ -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
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
|
||||
<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">
|
||||
|
||||
|
@ -35,9 +34,77 @@
|
|||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
<body>
|
||||
{% block body %}
|
||||
|
||||
{% endblock %}
|
||||
</body>
|
||||
<body>
|
||||
|
||||
<!-- Navigation -->
|
||||
{% include "datacenterlight/includes/_navbar.html" %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
|
||||
{% include "datacenterlight/includes/_footer.html" %}
|
||||
<!-- Footer -->
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'datacenterlight/js/jquery.js' %}"></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>
|
||||
<!-- 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>
|
||||
|
||||
<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>
|
||||
|
|
|
@ -1,107 +0,0 @@
|
|||
{% load staticfiles i18n%}
|
||||
<!doctype html>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||||
<title>landings</title>
|
||||
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
||||
<link rel="shortcut icon" href="{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon" />
|
||||
<link rel="stylesheet" href="{% static 'datacenterlight/css/main.css' %}">
|
||||
<script src="{% static 'datacenterlight/js/vendor/modernizr.js' %}"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if IE]><p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p><![endif]-->
|
||||
<nav class="navbar navbar-toggleable-md navbar-light bg-faded navbar-landing d-flex justify-content-between"><a class="navbar-brand nav-local" href="javascript:void(0)" data-href="home">Data Center Light</a> <a class="navbar-brand nav-local" href="javascript:void(0)" data-href="beta">Beta Program</a></nav>
|
||||
<section class="section-home" id="home">
|
||||
<div class="container d-flex justify-content-center align-items-center">
|
||||
<div class="title">
|
||||
<h1>Your affordable Swiss VM</h1></div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section-description">
|
||||
<div class="container">
|
||||
<p>Are you looking for a secure and affordable VM in the midst of the Swiss mountains?</p>
|
||||
<p>While there are many offers in Switzerland for secure hosting, we haven't found any that is affordable. So we decided we will built one in the Glarus mountains.</p>
|
||||
<p>Right now we are in a preparing the tech stack and talking to infrastructure providers to find the optimal location.</p>
|
||||
<p>Our objective is to launch this offer starting in 2017. Are you curious how it works? Be one of the first to try it and <a class="nav-local" href="javascript:void(0)" data-href="beta">request access to our beta program.</a></p>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section-beta" id="beta">
|
||||
<div class="contain-form">
|
||||
<div class="title">
|
||||
<h1>Beta Program</h1></div>
|
||||
<div class="form-interested">
|
||||
<h2>I am interested in running</h2>
|
||||
<form action="." method="POST">
|
||||
{% for vm in vms %}
|
||||
<div class="row-vms d-flex align-items-center">
|
||||
<div class="form-group">
|
||||
<input type="number" name="vm-{{vm.id}}" class="form-control number-vms" value="0" data-price="{{vm.price}}">
|
||||
</div>
|
||||
<div class="text"><span>number of VMs ({{vm.ssd}} GB SSD, {{vm.ram}} GB RAM, {{vm.cpu}} CPU) - {{vm.price}}chf / day</span></div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<p class="total">At a monthly total of <span id="valueTotal">0</span>chf per day</p>
|
||||
<div class="form-group">
|
||||
<label for="example-email-input" class="col-form-label">You can reach me at</label>
|
||||
<div class="form-group form-300">
|
||||
<label for="email" class="col-form-label">Email</label>
|
||||
<input class="form-control" name="email" type="email" placeholder="Your email" id="example-email-input">
|
||||
</div>
|
||||
<div class="form-group form-300">
|
||||
<label for="name" class="col-form-label">Name</label>
|
||||
<input class="form-control" name="name" type="text" placeholder="Your name" id="name">
|
||||
</div>
|
||||
</div>
|
||||
<div class="notice">
|
||||
<p>Notice: this is <strong>no</strong> an order - you don't have to pay anything, it just helps us to setup the right infrastructure</p>
|
||||
</div>
|
||||
{% csrf_token %}
|
||||
<div class="submit">
|
||||
<button type="submit" class="btn btn-block btn-success">Submit</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<div class="modal fade" id="sucessModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLongTitle">Thank You</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="success-message">
|
||||
<div class="title">
|
||||
<h1>Thank You</h1>
|
||||
</div>
|
||||
<div class="container" style="margin-top: 3rem">
|
||||
<p>Thanks for letting us know about your interest! We will come back to you as soon as our beta program starts!</p>
|
||||
<p>Meanwhile, you can checkout news about it on <a href="#" >Twitter</a>, <a href="#" >Facebook</a> and <a href="#" >Instagram</a> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
! function(e, t, a, n, c, o) {
|
||||
e.GoogleAnalyticsObject = n, e[n] || (e[n] = function() {
|
||||
(e[n].q = e[n].q || []).push(arguments)
|
||||
}), e[n].l = +new Date, c = t.createElement(a), o = t.getElementsByTagName(a)[0], c.src = "https://www.google-analytics.com/analytics.js", o.parentNode.insertBefore(c, o)
|
||||
}(window, document, "script", "ga"), ga("create", "UA-XXXXX-X"), ga("send", "pageview")
|
||||
</script>
|
||||
<script src="{% static 'datacenterlight/js/vendor.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/plugin.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/beta.js' %}"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -24,4 +24,4 @@
|
|||
$('#beta_access').ajaxForm({
|
||||
target: '#beta_access_form', success: function(response) { }
|
||||
});
|
||||
</script>
|
||||
</script>
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
{% load i18n %}
|
||||
|
||||
<div class="modal fade bs-example-modal-sm" style="color:black;" id="successModal" tabindex="-1" role="dialog">
|
||||
|
@ -44,4 +45,4 @@
|
|||
margin: 0 auto;
|
||||
pointer-events: all;
|
||||
}
|
||||
</style>
|
||||
</style>
|
|
@ -1,158 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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>Rails Hosting.ch - Ruby on Rails as easy as possible</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="css/landing-page.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
|
||||
<link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="container topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand topnav" href="#"><img src="img/logo_black.svg"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#how">How it works</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#your">Your infrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#our">Our inftrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#price">Pricing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<a name="about"></a>
|
||||
<div class="intro-header-2">
|
||||
<div class="container">
|
||||
<div class="col-md-4"> </div><div class="col-md-4">
|
||||
<div class="intro-"><img class="responsive" src="img/Beta.png">
|
||||
<h2>Check Out</h2>
|
||||
<form>
|
||||
|
||||
<ul class="fa-ul">
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">OS : Ubuntu 14.04</p>
|
||||
</li>
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">RAM : 1GiB </p></li>
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i><p class="lead">CPU Cores : 4</p></li>
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i><p class="lead">Additional Disk: 20 GB
|
||||
</ul><div class="checkbox">
|
||||
<label>
|
||||
<input type="checkbox">
|
||||
Everything Correct!
|
||||
</label>
|
||||
</div>
|
||||
<div class>
|
||||
<p> </p>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Confirm Check Out</button>
|
||||
</form></p></div>
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
<!-- /.intro-header -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">Home</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">How it works</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">Your infrastructure</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">Our infrastructure</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">Pricing</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH 2015. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="js/jquery.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,57 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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>Rails Hosting.ch - Ruby on Rails as easy as possible | Page not found</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="css/landing-page.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
|
||||
<link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
<body class="error404">
|
||||
<div class="content-404">
|
||||
<div class="container">
|
||||
<div class="text-center">
|
||||
<h1> </h1>
|
||||
<h1>404</h1>
|
||||
<p class-"lead">
|
||||
"Sorry, we could not find the page you are looking for!"
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Footer --><!-- jQuery -->
|
||||
<script src="js/jquery.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,53 @@
|
|||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
|
||||
<ul class="list-inline">
|
||||
{% if request.resolver_match.url_name == "index" %}
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "Highlights" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Order VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}#how">{% trans "Highlights" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}#your">{% trans "Scale out" %}</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}#our">{% trans "Reliable and light" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}#price">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
|
@ -0,0 +1,67 @@
|
|||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
{% load custom_tags %}
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
{% if request.resolver_match.url_name == "index" %}
|
||||
<a id="logoBlack" class="navbar-brand topnav url" data-url="#home"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" data-url="#home"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
{% else %}
|
||||
<a id="logoBlack" class="navbar-brand topnav url" href="/datacenterlight"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" href="/datacenterlight"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
{% if request.resolver_match.url_name == "index" %}
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "Highlights" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Order VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="nav-language">
|
||||
<div class="select-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<span>English</span>
|
||||
{% else %}
|
||||
<span>Deutsch</span>
|
||||
{% endif %}
|
||||
<i class="fa fa-globe" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="drop-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<a class="url" href="{% change_lang 'de' %}">Deutsch</a>
|
||||
{% else %}
|
||||
<a class="url" href="{% change_lang 'en-us' %}" >English</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
|
@ -1,119 +1,8 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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>
|
||||
|
||||
<!-- 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">
|
||||
<link href="{% static 'datacenterlight/font-awesome/css/font-awesome.min.css' %}" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon" />
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'datacenterlight/css/landing-page.css' %}" rel="stylesheet">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a id="logoBlack" class="navbar-brand topnav url" data-url="#home"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" data-url="#home"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "What is it" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Order VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li>
|
||||
|
||||
<!-- <select class="selectpicker" data-width="fit" onchange="location = this.value;" style="margin-top:10px;">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<option selected="selected" value="{{base_url}}/en-us/datacenterlight/">English</option>
|
||||
{% else %}
|
||||
<option value="{{base_url}}/en-us/datacenterlight/">English</option>
|
||||
{% endif %}
|
||||
{% if LANGUAGE_CODE == 'de'%}
|
||||
<option selected="selected" value="{{base_url}}/de/datacenterlight/">Deutsch</option>
|
||||
{% else %}
|
||||
<option value="{{base_url}}/de/datacenterlight/">Deutsch</option>
|
||||
{% endif %}
|
||||
|
||||
</select> -->
|
||||
<li class="nav-language">
|
||||
<div class="select-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<span>English</span>
|
||||
{% else %}
|
||||
<span>Deutsch</span>
|
||||
{% endif %}
|
||||
<i class="fa fa-globe" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="drop-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<a class="url" href="{{base_url}}/de/datacenterlight" >Deutsch</a>
|
||||
{% else %}
|
||||
<a class="url" href="{{base_url}}/en-us/datacenterlight" >English</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
|
||||
{% block content %}
|
||||
|
||||
<!-- Header -->
|
||||
<div class="intro-header" id="home">
|
||||
|
@ -123,15 +12,15 @@
|
|||
<div class="col-lg-12">
|
||||
|
||||
<div class="intro-message">
|
||||
<h1>DataCenterLight</h1>
|
||||
<h1>Data Center Light</h1>
|
||||
<h3>{% trans "Finally, an affordable VM hosting in Switzerland!" %}</h3>
|
||||
<hr class="intro-divider">
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
<li>
|
||||
<a class="btn btn-default btn-lg btn-transparent url" href="javascript:void(0)" data-url="#how" ><i class="#Services"></i> <span class="network-name">{% trans "What is it?" %}</span></a>
|
||||
<a class="btn btn-default btn-lg btn-transparent url" href="javascript:void(0)" data-url="#how" ><i class="#Services"></i> <span class="network-name">{% trans "Highlights" %}</span></a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="btn btn-primary btn-lg page-scroll url" href="javascript:void(0)" data-url="#request" ><span class="network-name">{% trans "I want it!" %}</span></a>
|
||||
<a class="btn btn-primary btn-lg page-scroll url" href="javascript:void(0)" data-url="#price" ><span class="network-name">{% trans "I want it!" %}</span></a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -139,8 +28,6 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
<div class="triangle-left"></div>
|
||||
<div class="triangle-right"></div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
|
@ -157,17 +44,27 @@
|
|||
<div class="col-xs-12 col-sm-6 col-md-6">
|
||||
<div class="split-text">
|
||||
<div class="split-title">
|
||||
<h2>{% trans "What is it" %}</h2>
|
||||
<h2>{% trans "Highlights" %}</h2>
|
||||
</div>
|
||||
<div class="split-description">
|
||||
<ul class="fa-ul">
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Reuse existing factory halls intead of building an expensive building." %}</p>
|
||||
<li>
|
||||
<i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Reuses existing factory halls instead of building a new expensive building." %}
|
||||
</p>
|
||||
</li>
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Being creative, using modern and alternative design for a datacenter." %}</p></li>
|
||||
<li><i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Being open: Using FOSS exclusively, we can save money for licenses." %}</p></li>
|
||||
<li>
|
||||
<i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Only wants you to pay for what you actually need." %}</p>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "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." %}</p>
|
||||
</li>
|
||||
<li>
|
||||
<i class="fa-li fa fa-check-square-o fa-lg"></i>
|
||||
<p class="lead">{% trans "Cuts down the costs for you by using FOSS (Free Open Source Software) exclusively, wherefore we can save money from paying licenses." %}</p>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -249,7 +146,10 @@
|
|||
</div>
|
||||
<div class="price">
|
||||
<span id="total">15</span>
|
||||
<span>CHF</span>
|
||||
<span>CHF/{% trans "month" %}</span>
|
||||
<div class="price-text">
|
||||
<p>{% trans "VAT included" %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="descriptions">
|
||||
<div class="description">
|
||||
|
@ -286,12 +186,12 @@
|
|||
<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">
|
||||
<label for="name">{% trans "Name"%}</label>
|
||||
<input type="text" name="name" placeholder="{% trans "Your Name" %}">
|
||||
</div>
|
||||
<div class="description input">
|
||||
<label for="email">Email</label>
|
||||
<input type="email" name="email" placeholder="Your Email">
|
||||
<label for="email">{% trans "Email" %}</label>
|
||||
<input type="email" name="email" placeholder="{% trans "Your Email" %}">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" class="btn btn-primary" value="{% trans 'Order Now!' %}"></input>
|
||||
|
@ -308,25 +208,7 @@
|
|||
</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 "I want to have it!" %}</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">
|
||||
|
@ -368,93 +250,4 @@
|
|||
|
||||
</div>
|
||||
<!-- /.banner -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "What is it" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Scale out" %}</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Reliable and light" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'datacenterlight/js/jquery.js' %}"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.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,
|
||||
});
|
||||
$.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>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="{% static 'datacenterlight/js/bootstrap.min.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
<!-- Load form js -->
|
||||
<script src="{% static 'datacenterlight/js/form.js' %}"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
{% endblock %}
|
|
@ -1,86 +0,0 @@
|
|||
{% load staticfiles i18n%}
|
||||
<!doctype html>
|
||||
<html class="no-js">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="description" content="">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no">
|
||||
<title>landings</title>
|
||||
<link rel="apple-touch-icon" href="apple-touch-icon.png">
|
||||
<link rel="stylesheet" href="{% static 'datacenterlight/css/main.css' %}">
|
||||
<link rel="shortcut icon" href="{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon" />
|
||||
<script src="{% static 'datacenterlight/js/vendor/modernizr.js' %}"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<!--[if IE]><p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p><![endif]-->
|
||||
<nav class="navbar navbar-toggleable-md navbar-light bg-faded navbar-landing d-flex justify-content-between"><a class="navbar-brand nav-local" href="javascript:void(0)" data-href="home">DCL Interest</a> <a class="navbar-brand" href="index.html" data-href="beta">Beta Program</a></nav>
|
||||
<section class="section-home" id="home">
|
||||
<div class="container d-flex justify-content-center align-items-center">
|
||||
<div class="title title-landings">
|
||||
<h1>Swiss 2 GB VM for 0.5 CHF per day</h1></div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="section-beta" id="beta">
|
||||
<div class="contain-form">
|
||||
<div class="form-interested">
|
||||
<h2>Details about the offer..<ul><li><span>2 GB RAM</span></li><li><span>1 CPU</span></li><li><span>10 GB Dus</span></li></ul><h2>I am interested in running</h2>
|
||||
<form action="">
|
||||
<div class="row-vms d-flex align-items-center justify-content-between row-vms__active">
|
||||
<div class="form-group ">
|
||||
<input type="number" class="form-control number-vms" value='1' data-price="0.5">
|
||||
|
||||
</div>
|
||||
<div class="text text__landing">
|
||||
<span>number of VMs </span>
|
||||
</div>
|
||||
<div class="form-group form-group__email">
|
||||
<input class="form-control" type="email" placeholder="email" id="example-email-input">
|
||||
</div>
|
||||
<div class="submit">
|
||||
<button type="button" id="submit" class="btn btn-block btn-success">Submit</button>
|
||||
</div>
|
||||
</div>
|
||||
<p >Interested in other offers? <a href="index.html">Checkout our beta program offers!</a></p>
|
||||
</form>
|
||||
</h2>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<div class="modal fade" id="sucessModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLongTitle" aria-hidden="true">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="exampleModalLongTitle">Thank You</h5>
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="success-message">
|
||||
<div class="title">
|
||||
<h1>Thank You</h1>
|
||||
</div>
|
||||
<div class="container" style="margin-top: 3rem">
|
||||
<p>Thanks for letting us know about your interest! We will come back to you as soon as our beta program starts!</p>
|
||||
<p>Meanwhile, you can checkout news about it on <a href="#" >Twitter</a>, <a href="#" >Facebook</a> and <a href="#" >Instagram</a> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
! function(e, t, a, n, c, o) {
|
||||
e.GoogleAnalyticsObject = n, e[n] || (e[n] = function() {
|
||||
(e[n].q = e[n].q || []).push(arguments)
|
||||
}), e[n].l = +new Date, c = t.createElement(a), o = t.getElementsByTagName(a)[0], c.src = "https://www.google-analytics.com/analytics.js", o.parentNode.insertBefore(c, o)
|
||||
}(window, document, "script", "ga"), ga("create", "UA-XXXXX-X"), ga("send", "pageview")
|
||||
</script>
|
||||
<script src="{% static 'datacenterlight/js/vendor.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/plugin.js' %}"></script>
|
||||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,155 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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>Rails Hosting.ch - Ruby on Rails as easy as possible</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="css/landing-page.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
|
||||
<link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="container topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand topnav" href="#"><img src="img/logo_black.svg"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#how">How it works</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#your">Your infrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#our">Our inftrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#price">Pricing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<a name="about"></a>
|
||||
<div class="intro-header">
|
||||
<div class="container">
|
||||
<div class="col-md-4"> </div><div class="col-md-4">
|
||||
|
||||
<div class="intro-message"><img class="responsive" src="img/Beta.png">
|
||||
<h3>Log In</h3>
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputEmail1">Email address</label>
|
||||
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="exampleInputPassword1">Password</label>
|
||||
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
|
||||
</div>
|
||||
<div class>
|
||||
<p><a href="#" id="forgotpassword">
|
||||
Forgot password?</a>
|
||||
</p>
|
||||
<p> </p>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Log In</button>
|
||||
</form></p>
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
|
||||
</ul></div> <div class="col-md-4"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
<!-- /.intro-header -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">Home</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">How it works</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">Your infrastructure</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">Our infrastructure</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">Pricing</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH 2015. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="js/jquery.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,67 +1,8 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n %}
|
||||
|
||||
{% block body %}
|
||||
{% block content %}
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a id="logoBlack" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<!-- <li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "What is it" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Buy VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li> -->
|
||||
|
||||
<li class="nav-language">
|
||||
<div class="select-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<span>English</span>
|
||||
{% else %}
|
||||
<span>Deutsch</span>
|
||||
{% endif %}
|
||||
<i class="fa fa-globe" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="drop-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<a class="url" href="{{base_url}}/de/datacenterlight/order" >Deutsch</a>
|
||||
{% else %}
|
||||
<a class="url" href="{{base_url}}/en-us/datacenterlight/order" >English</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
<div class="intro-pricing">
|
||||
|
||||
<div class="intro-message">
|
||||
|
@ -83,6 +24,9 @@
|
|||
<div class="price">
|
||||
<span id="total">15</span>
|
||||
<span>CHF</span>
|
||||
<div class="price-text">
|
||||
<p>{% trans "VAT included" %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="descriptions">
|
||||
<div class="description">
|
||||
|
@ -149,94 +93,6 @@
|
|||
</div>
|
||||
|
||||
|
||||
<!-- /.banner -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "What is it" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Scale out" %}</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Reliable and light" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'datacenterlight/js/jquery.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>
|
||||
<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>
|
||||
<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 %}
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,105 +1,8 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<!DOCTYPE html>
|
||||
<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>
|
||||
|
||||
<!-- 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">
|
||||
<link href="{% static 'datacenterlight/font-awesome/css/font-awesome.min.css' %}" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon" />
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.5.4/bootstrap-select.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'datacenterlight/css/landing-page.css' %}" rel="stylesheet">
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a id="logoBlack" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<!-- <li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "What is it" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Buy VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li> -->
|
||||
|
||||
<li class="nav-language">
|
||||
<div class="select-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<span>English</span>
|
||||
{% else %}
|
||||
<span>Deutsch</span>
|
||||
{% endif %}
|
||||
<i class="fa fa-globe" aria-hidden="true"></i>
|
||||
</div>
|
||||
<div class="drop-language">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<a class="url" href="{{base_url}}/de/datacenterlight/pricing" >Deutsch</a>
|
||||
{% else %}
|
||||
<a class="url" href="{{base_url}}/en-us/datacenterlight/pricing" >English</a>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
{% block content %}
|
||||
<div class="intro-pricing">
|
||||
|
||||
<div class="intro-message">
|
||||
|
@ -121,6 +24,9 @@
|
|||
<div class="price">
|
||||
<span id="total">15</span>
|
||||
<span>CHF</span>
|
||||
<div class="price-text">
|
||||
<p>{% trans "VAT included" %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="descriptions">
|
||||
<div class="description">
|
||||
|
@ -144,9 +50,11 @@
|
|||
<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">
|
||||
|
||||
|
||||
<div class="description select-configuration input">
|
||||
<label for="name">OS</label>
|
||||
<select name="config" id="">
|
||||
{% for template in templates %}
|
||||
<option value="{{template.id}}">{{template.name}} </option>
|
||||
|
@ -154,6 +62,16 @@
|
|||
</select>
|
||||
</div>
|
||||
<input type="hidden" name="total">
|
||||
|
||||
<!-- <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 class="description check-ip">
|
||||
<input type="checkbox" name="ipv6"> Ipv6 Only<br>
|
||||
</div>-->
|
||||
|
@ -172,68 +90,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
||||
<!-- /.banner -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "What is it" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Scale out" %}</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">{% trans "Reliable and light" %}</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<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>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
|
|
@ -1,156 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<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>Rails Hosting.ch - Ruby on Rails as easy as possible</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="css/bootstrap.min.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="css/landing-page.css" rel="stylesheet">
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href='http://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
|
||||
<link href="font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
|
||||
<!--[if lt IE 9]>
|
||||
<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>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="container topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a class="navbar-brand topnav" href="#"><img src="img/logo_black.svg"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a href="#how">How it works</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#your">Your infrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#our">Our inftrastructure</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#price">Pricing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
|
||||
|
||||
<!-- Header -->
|
||||
<a name="about"></a>
|
||||
<div class="intro-header-2">
|
||||
<div class="container">
|
||||
<div class="col-md-4"> </div><div class="col-md-4">
|
||||
<div class="intro-"><img class="responsive" src="img/Beta.png">
|
||||
<h2>Sign up</h2>
|
||||
<form>
|
||||
<div class="form-group">
|
||||
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter your name or comapny name">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="password" class="form-control" id="exampleInputPassword1" placeholder="Confirm Password">
|
||||
</div><div class="col-md-4"> </div>
|
||||
<div class>
|
||||
<p> </p>
|
||||
</div>
|
||||
<button type="submit" class="btn btn-default">Sign Up</button>
|
||||
|
||||
</form></p></div>
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
<!-- /.intro-header -->
|
||||
|
||||
<!-- Footer -->
|
||||
<footer>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">Home</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">How it works</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#about">Your infrastructure</a></li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<a href="#about">Our infrastructure</a></li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#services">Pricing</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="#contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH 2015. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="js/jquery.js"></script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="js/bootstrap.min.js"></script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,61 +1,7 @@
|
|||
{% extends "datacenterlight/base.html" %}
|
||||
{% load staticfiles i18n %}
|
||||
{% block body %}
|
||||
{% block content %}
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a id="logoBlack" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a>
|
||||
<a id="logoWhite" class="navbar-brand topnav url" href="{% url 'datacenterlight:index' %}" ><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<!-- <li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#how" >{% trans "What is it" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#your" >{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#price" >{% trans "Buy VM" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url" href="javascript:void(0)" data-url="#contact" >{% trans "Contact" %}</a>
|
||||
</li> -->
|
||||
|
||||
<select class="selectpicker" data-width="fit" onchange="location = this.value;" style="margin-top:10px;">
|
||||
{% if LANGUAGE_CODE == 'en-us'%}
|
||||
<option selected="selected" value="{{base_url}}/en-us/datacenterlight/order-success/">English</option>
|
||||
{% else %}
|
||||
<option value="{{base_url}}/en-us/datacenterlight/order-success/">English</option>
|
||||
{% endif %}
|
||||
{% if LANGUAGE_CODE == 'de'%}
|
||||
<option selected="selected" value="{{base_url}}/de/datacenterlight/order-success/">Deutsch</option>
|
||||
{% else %}
|
||||
<option value="{{base_url}}/de/datacenterlight/order-success/">Deutsch</option>
|
||||
{% endif %}
|
||||
|
||||
</select>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
||||
<div class="intro-pricing success-pricing">
|
||||
|
||||
<div class="intro-message">
|
||||
|
@ -91,5 +37,4 @@
|
|||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
</html>
|
||||
{% endblock %}
|
0
datacenterlight/templatetags/__init__.py
Normal file
0
datacenterlight/templatetags/__init__.py
Normal file
24
datacenterlight/templatetags/custom_tags.py
Normal file
24
datacenterlight/templatetags/custom_tags.py
Normal file
|
@ -0,0 +1,24 @@
|
|||
from django import template
|
||||
from django.core.urlresolvers import resolve, reverse
|
||||
from django.utils.translation import activate, get_language
|
||||
|
||||
register = template.Library()
|
||||
|
||||
|
||||
|
||||
@register.simple_tag(takes_context=True)
|
||||
def change_lang(context, lang=None, *args, **kwargs):
|
||||
|
||||
path = context['request'].path
|
||||
url_parts = resolve( path )
|
||||
|
||||
url = path
|
||||
cur_language = get_language()
|
||||
try:
|
||||
activate(lang)
|
||||
url = reverse( url_parts.view_name, kwargs=url_parts.kwargs )
|
||||
finally:
|
||||
activate(cur_language)
|
||||
|
||||
|
||||
return "%s" % url
|
|
@ -157,6 +157,7 @@ class BetaAccessView(FormView):
|
|||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'from_address': '(datacenterlight) datacenterlight Support <support@datacenterlight.ch>',
|
||||
'to': form.cleaned_data.get('email'),
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_confirmation',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
@ -295,6 +296,7 @@ class IndexView(CreateView):
|
|||
}
|
||||
email_data = {
|
||||
'subject': "Data Center Light Order from %s" % context['email'],
|
||||
'from_email': '(datacenterlight) datacenterlight Support <support@datacenterlight.ch>',
|
||||
'to': ['info@ungleich.ch'],
|
||||
'body': "\n".join(["%s=%s" % (k, v) for (k, v) in context.items()]),
|
||||
'reply_to': [context['email']],
|
||||
|
@ -326,6 +328,7 @@ class IndexView(CreateView):
|
|||
'subject': 'DatacenterLight Beta Access Request',
|
||||
'from_address': '(datacenterlight) datacenterlight Support <support@datacenterlight.ch>',
|
||||
'to': form.cleaned_data.get('email'),
|
||||
'from': '(datacenterlight) DatacenterLight Support support@datacenterlight.ch',
|
||||
'context': context,
|
||||
'template_name': 'request_access_confirmation',
|
||||
'template_path': 'datacenterlight/emails/'
|
||||
|
|
74
deploy.sh
Executable file
74
deploy.sh
Executable file
|
@ -0,0 +1,74 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# deploy.sh
|
||||
#
|
||||
# This script made to deploy dynamicweb project.
|
||||
# Please run this script as app user.
|
||||
#
|
||||
|
||||
APP_HOME_DIR=~/app
|
||||
|
||||
echo "" > $APP_HOME_DIR/deploy.log
|
||||
while true; do
|
||||
case "$1" in
|
||||
-h | --help ) HELP=true; shift ;;
|
||||
-v | --verbose ) VERBOSE=true; shift ;;
|
||||
-d | --dbmigrate ) DB_MIGRATE=true; shift ;;
|
||||
-n | --nogit ) NO_GIT=true; shift ;;
|
||||
-b | --branch ) BRANCH="$2"; shift 2 ;;
|
||||
-- ) shift; break ;;
|
||||
* ) break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$BRANCH" == "" ]; then
|
||||
BRANCH="master"
|
||||
fi
|
||||
|
||||
if [ "$HELP" == "true" ]; then
|
||||
echo "./deploy.sh <options>"
|
||||
echo " "
|
||||
echo "options are : "
|
||||
echo " -h, --help: Print this help message"
|
||||
echo " -v, --verbose: Show verbose output to stdout. Without this a deploy.log is written to ~/app folder"
|
||||
echo " -d, --dbmigrate: Do DB migrate"
|
||||
echo " -n, --nogit: Don't execute git commands. With this --branch has no effect."
|
||||
echo " -b, --branch: The branch to pull from origin repo."
|
||||
exit
|
||||
fi
|
||||
|
||||
echo "BRANCH="$BRANCH
|
||||
echo "DB_MIGRATE="$DB_MIGRATE
|
||||
echo "NO_GIT="$NO_GIT
|
||||
echo "VERBOSE="$VERBOSE
|
||||
|
||||
# The project directory exists, we pull the specified branch
|
||||
cd $APP_HOME_DIR
|
||||
if [ -z "$NO_GIT" ]; then
|
||||
echo 'We are executing default git commands. Please -no_git to not use this.'
|
||||
# Save any modified changes before git pulling
|
||||
git stash
|
||||
# Fetch all branches/tags
|
||||
git fetch -a
|
||||
git checkout $BRANCH
|
||||
git pull origin $BRANCH
|
||||
else
|
||||
echo 'Not using git commands.'
|
||||
fi
|
||||
|
||||
source ~/pyvenv/bin/activate
|
||||
pip install -r requirements.txt > deploy.log 2>&1
|
||||
echo "###" >> deploy.log
|
||||
if [ -z "$DB_MIGRATE" ]; then
|
||||
echo 'We are not doing DB migration'
|
||||
else
|
||||
./manage.py makemigrations >> deploy.log 2>&1
|
||||
echo "###" >> deploy.log
|
||||
./manage.py migrate >> deploy.log 2>&1
|
||||
echo "###" >> deploy.log
|
||||
fi
|
||||
printf 'yes' | ./manage.py collectstatic >> deploy.log 2>&1
|
||||
echo "###" >> deploy.log
|
||||
django-admin compilemessages
|
||||
sudo systemctl restart uwsgi
|
||||
|
Binary file not shown.
|
@ -110,6 +110,7 @@ INSTALLED_APPS = (
|
|||
'digitalglarus',
|
||||
'nosystemd',
|
||||
'datacenterlight',
|
||||
'datacenterlight.templatetags',
|
||||
'alplora',
|
||||
'rest_framework',
|
||||
'opennebula_api'
|
||||
|
|
Binary file not shown.
|
@ -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"
|
||||
|
@ -79,70 +79,68 @@ msgstr "Anmelden"
|
|||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:11
|
||||
#: hosting/templates/hosting/order_detail.html:10
|
||||
#: templates/hosting/bill_detail.html:11 templates/hosting/order_detail.html:10
|
||||
msgid "Invoice"
|
||||
msgstr "Rechnung"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:11
|
||||
#: hosting/templates/hosting/order_detail.html:10
|
||||
#: templates/hosting/bill_detail.html:11 templates/hosting/order_detail.html:10
|
||||
msgid "Order #"
|
||||
msgstr "Rechnung #"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:25
|
||||
#: templates/hosting/bill_detail.html:25
|
||||
msgid "ungleich GmbH"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:26
|
||||
#: templates/hosting/bill_detail.html:26
|
||||
msgid "buchhaltung@ungleich.ch"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:27
|
||||
#: templates/hosting/bill_detail.html:27
|
||||
msgid "Hauptstrasse 14"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:28
|
||||
#: templates/hosting/bill_detail.html:28
|
||||
msgid "CH-8775 Luchsingen"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:29
|
||||
#: templates/hosting/bill_detail.html:29
|
||||
msgid "Mwst-Nummer: CHE-109.549.333 MWST"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:60
|
||||
#: templates/hosting/bill_detail.html:60
|
||||
msgid "Total:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:68
|
||||
#: templates/hosting/bill_detail.html:68
|
||||
#, python-format
|
||||
msgid "Alles Preise in CHF mit 8%% Mehrwertsteuer."
|
||||
msgstr "All prices in CHF including 8%% VAT"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:69
|
||||
#: templates/hosting/bill_detail.html:69
|
||||
msgid "Betrag zahlbar innerhalb von 30 Tagen ab Rechnungseingang."
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:70
|
||||
#: templates/hosting/bill_detail.html:70
|
||||
msgid "Kontoverbindung:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:73
|
||||
#: templates/hosting/bill_detail.html:73
|
||||
msgid "IBAN:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:76
|
||||
#: templates/hosting/bill_detail.html:76
|
||||
msgid "BIC:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:81
|
||||
#: templates/hosting/bill_detail.html:81
|
||||
msgid "CH02 0900 0000 6071 8848 8"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:84
|
||||
#: templates/hosting/bill_detail.html:84
|
||||
msgid "POFICHBEXXX"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:12
|
||||
#: templates/hosting/bills.html:12
|
||||
msgid "Customers"
|
||||
msgstr "Kunden"
|
||||
|
||||
|
@ -151,27 +149,31 @@ msgstr "Kunden"
|
|||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:17
|
||||
#: templates/hosting/bills.html:17
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:28
|
||||
#: templates/hosting/bills.html:28
|
||||
msgid "View Bill"
|
||||
msgstr "Rechnung anzeigen"
|
||||
|
||||
#: hosting/templates/hosting/bills.html:41
|
||||
#: hosting/templates/hosting/orders.html:83
|
||||
#: hosting/templates/hosting/virtual_machines.html:70
|
||||
#: templates/hosting/bills.html:41 templates/hosting/orders.html.py:83
|
||||
#: templates/hosting/virtual_machines.html:70
|
||||
msgid "previous"
|
||||
msgstr "vorherige"
|
||||
|
||||
#: hosting/templates/hosting/bills.html:47
|
||||
#: hosting/templates/hosting/orders.html:89
|
||||
#: hosting/templates/hosting/virtual_machines.html:76
|
||||
#: templates/hosting/bills.html:47 templates/hosting/orders.html.py:89
|
||||
#: templates/hosting/virtual_machines.html:76
|
||||
msgid "next"
|
||||
msgstr "nächste"
|
||||
|
||||
#: hosting/templates/hosting/confirm_reset_password.html:19
|
||||
#: templates/hosting/confirm_reset_password.html:10
|
||||
#: templates/hosting/login.html:9 templates/hosting/reset_password.html.py:9
|
||||
#: templates/hosting/signup.html:8
|
||||
msgid "Your VM hosted in Switzerland"
|
||||
msgstr "Ihre VM in der Schweiz"
|
||||
|
||||
#: templates/hosting/confirm_reset_password.html:14
|
||||
msgid "Set your new password"
|
||||
msgstr "Setzen Ihr neues Passwort"
|
||||
|
||||
|
@ -206,40 +208,34 @@ msgstr "Wählen Sie eine Konfiguration"
|
|||
msgid "CHF/Month"
|
||||
msgstr "CHF/Monat"
|
||||
|
||||
#: hosting/templates/hosting/create_virtual_machine.html:45
|
||||
#: templates/hosting/create_virtual_machine.html:45
|
||||
msgid "Start VM"
|
||||
msgstr "Start VM"
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:2
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:2
|
||||
#: templates/hosting/emails/password_reset_email.html:2
|
||||
#: templates/hosting/emails/password_reset_email.txt:2
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You're receiving this email because you requested a password reset for your "
|
||||
"user account at %(site_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:4
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:4
|
||||
#: templates/hosting/emails/password_reset_email.html:4
|
||||
#: templates/hosting/emails/password_reset_email.txt:4
|
||||
msgid "Please go to the following page and choose a new password:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:9
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:9
|
||||
#: templates/hosting/emails/password_reset_email.html:9
|
||||
#: templates/hosting/emails/password_reset_email.txt:9
|
||||
msgid "Thanks for using our site!"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:11
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:11
|
||||
#: templates/hosting/emails/password_reset_email.html:11
|
||||
#: templates/hosting/emails/password_reset_email.txt:11
|
||||
#, python-format
|
||||
msgid "The %(site_name)s team"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/login.html:10
|
||||
#: hosting/templates/hosting/reset_password.html:10
|
||||
#: hosting/templates/hosting/signup.html:9
|
||||
msgid "Your VM hosted in Switzerland"
|
||||
msgstr "Ihre VM gehostet in der Schweiz"
|
||||
|
||||
#: hosting/templates/hosting/login.html:26
|
||||
msgid "You haven been logged out"
|
||||
msgstr "Sie wurden abgmeldet"
|
||||
|
@ -258,44 +254,44 @@ msgstr "Registrieren"
|
|||
msgid "Forgot your password ? "
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:9
|
||||
#: templates/hosting/notifications.html:9
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:16
|
||||
#: templates/hosting/notifications.html:16
|
||||
msgid "Unread"
|
||||
msgstr "Ungelesen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:26
|
||||
#: templates/hosting/notifications.html:26
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:38
|
||||
#: templates/hosting/notifications.html:38
|
||||
msgid "Unread notifications"
|
||||
msgstr "Ungelesene Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:48
|
||||
#: templates/hosting/notifications.html:48
|
||||
msgid "Mark as read"
|
||||
msgstr "Als gelesen markieren"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:59
|
||||
#: templates/hosting/notifications.html:59
|
||||
msgid "All notifications"
|
||||
msgstr "Alle Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:16
|
||||
#: hosting/templates/hosting/order_detail.html:24
|
||||
#: templates/hosting/order_detail.html:16
|
||||
#: templates/hosting/order_detail.html:24
|
||||
msgid "Billed To:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:26
|
||||
#: templates/hosting/order_detail.html:26
|
||||
msgid "Status:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:38
|
||||
#: templates/hosting/order_detail.html:38
|
||||
msgid "Payment Method:"
|
||||
msgstr "Bezahlmethode"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:49
|
||||
#: templates/hosting/order_detail.html:49
|
||||
msgid "Order summary"
|
||||
msgstr "Bestellungsübersicht"
|
||||
|
||||
|
@ -308,6 +304,8 @@ msgstr "Prozessorkerne"
|
|||
#: 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"
|
||||
|
||||
|
@ -316,19 +314,19 @@ msgstr "Arbeitsspeicher"
|
|||
msgid "Disk space"
|
||||
msgstr "Festplattenkapazität"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:58
|
||||
#: templates/hosting/order_detail.html:58
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:64
|
||||
#: templates/hosting/order_detail.html:64
|
||||
msgid "Finish Configuration"
|
||||
msgstr "Konfiguration beenden"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:17
|
||||
#: templates/hosting/orders.html:17
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:18
|
||||
#: templates/hosting/orders.html:18
|
||||
msgid "Amount"
|
||||
msgstr "Betrag"
|
||||
|
||||
|
@ -339,32 +337,31 @@ msgstr "Betrag"
|
|||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/orders.html:30
|
||||
#: templates/hosting/orders.html:30
|
||||
msgid "Approved"
|
||||
msgstr "Akzeptiert"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:32
|
||||
#: templates/hosting/orders.html:32
|
||||
msgid "Declined"
|
||||
msgstr "Abgelehnt"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:37
|
||||
#: hosting/templates/hosting/virtual_machines.html:58
|
||||
#: templates/hosting/orders.html:37 templates/hosting/virtual_machines.html:58
|
||||
msgid "View Detail"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:41
|
||||
#: templates/hosting/orders.html:41
|
||||
msgid "Cancel Order"
|
||||
msgstr "Bestellung stornieren"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:56
|
||||
#: templates/hosting/orders.html:56
|
||||
msgid "Do You want do delete your order?"
|
||||
msgstr "Wollen Sie ihre Bestellung löschen?"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:64
|
||||
#: templates/hosting/orders.html:64
|
||||
msgid "Close"
|
||||
msgstr "Schliessen"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:66
|
||||
#: templates/hosting/orders.html:66
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
|
@ -405,51 +402,51 @@ msgstr "CV Code"
|
|||
msgid "Reset your password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:19
|
||||
#: templates/hosting/virtual_machine_detail.html:19
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:25
|
||||
#: templates/hosting/virtual_machine_detail.html:25
|
||||
msgid "Billing"
|
||||
msgstr "Abrechnungen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:60
|
||||
#: templates/hosting/virtual_machine_detail.html:60
|
||||
msgid "Ip not assigned yet"
|
||||
msgstr "Ip nicht zugewiesen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:87
|
||||
#: templates/hosting/virtual_machine_detail.html:89
|
||||
msgid "Disk"
|
||||
msgstr "Festplatte"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:96
|
||||
#: templates/hosting/virtual_machine_detail.html:98
|
||||
msgid "Configuration"
|
||||
msgstr "Konfiguration"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:106
|
||||
#: templates/hosting/virtual_machine_detail.html:108
|
||||
msgid "Current pricing"
|
||||
msgstr "Aktueller Preis"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:115
|
||||
#: templates/hosting/virtual_machine_detail.html:117
|
||||
msgid "Current status"
|
||||
msgstr "Aktueller Status"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:140
|
||||
#: templates/hosting/virtual_machine_detail.html:142
|
||||
msgid "Terminate Virtual Machine"
|
||||
msgstr "Virtuelle Maschine beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:161
|
||||
#: templates/hosting/virtual_machine_detail.html:163
|
||||
msgid "Terminate your Virtual Machine"
|
||||
msgstr "Ihre virtuelle Maschine beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:164
|
||||
#: templates/hosting/virtual_machine_detail.html:166
|
||||
msgid "Are you sure do you want to cancel your Virtual Machine "
|
||||
msgstr "Sind Sie sicher, dass Sie ihre virtuelle Maschine beenden wollen "
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:167
|
||||
#: templates/hosting/virtual_machine_detail.html:169
|
||||
msgid "Cancel"
|
||||
msgstr "Beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_key.html:11
|
||||
#: templates/hosting/virtual_machine_key.html:11
|
||||
msgid "Access Key"
|
||||
msgstr "Zugriffsschlüssel"
|
||||
|
||||
|
@ -511,22 +508,22 @@ msgstr ""
|
|||
msgid "Generate my key"
|
||||
msgstr "Generiere meinen Schlüssel"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:9
|
||||
#: templates/hosting/virtual_machines.html:9
|
||||
msgid "Virtual Machines"
|
||||
msgstr "Virtuelle Maschinen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:22
|
||||
#: templates/hosting/virtual_machines.html:22
|
||||
msgid "Create VM"
|
||||
msgstr "Neue VM"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:28
|
||||
#: templates/hosting/virtual_machines.html:28
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:29
|
||||
#: templates/hosting/virtual_machines.html:29
|
||||
msgid "Ipv4"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:30
|
||||
#: templates/hosting/virtual_machines.html:30
|
||||
msgid "Ipv6"
|
||||
msgstr ""
|
||||
|
|
|
@ -1,7 +1,23 @@
|
|||
.dashboard-container {
|
||||
padding-top:70px; padding-bottom: 11%;
|
||||
padding-top:70px; padding-bottom: 70px;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
max-width: 768px;
|
||||
}
|
||||
|
||||
.content-dashboard{
|
||||
min-height: 100vh;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
max-width: 1120px;
|
||||
}
|
||||
.container-table{
|
||||
margin-top: 35px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.container-table table{
|
||||
overflow-y: auto;
|
||||
}
|
||||
.borderless td {
|
||||
border: none !important;
|
||||
}
|
||||
|
@ -26,3 +42,19 @@
|
|||
.space-above-big {
|
||||
margin-top: 20%;
|
||||
}
|
||||
|
||||
.table>tbody>tr>td{
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fa-separate{
|
||||
margin-right: 15px;
|
||||
}
|
||||
@media (max-width: 540px) {
|
||||
select {
|
||||
width: 280px;
|
||||
}
|
||||
.content-dashboard {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,22 +4,19 @@
|
|||
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
|
||||
*/
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Regular';
|
||||
src: url('../fonts/Montserrat/Montserrat-Regular.ttf');
|
||||
font-family: 'Lato-Regular';
|
||||
src: url('../fonts/Lato/Lato-Regular.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Bold';
|
||||
src: url('../fonts/Montserrat/Montserrat-Bold.ttf');
|
||||
src: url('../fonts/Lato/Lato-Black.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Medium';
|
||||
src: url('../fonts/Montserrat/Montserrat-Medium.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Light';
|
||||
src: url('../fonts/Montserrat/Montserrat-Light.ttf');
|
||||
font-family: 'Lato-Light';
|
||||
src: url('../fonts/Lato/Lato-Light.ttf');
|
||||
}
|
||||
|
||||
body,
|
||||
html {
|
||||
width: 100%;
|
||||
|
@ -33,8 +30,8 @@ h3,
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Montserrat-Regular', sans-serif;
|
||||
font-weight: 700;
|
||||
font-family: 'Lato-Regular', sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
.topnav {
|
||||
font-size: 14px;
|
||||
|
@ -226,18 +223,23 @@ h6 {
|
|||
z-index: 1000;
|
||||
}
|
||||
.auth-container .auth-content{
|
||||
width: 80%;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 390px;
|
||||
margin-top: 60px;
|
||||
|
||||
}
|
||||
.auth-container .auth-center{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.auth-container .auth-title{
|
||||
margin-top: 40px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-container .auth-title h2{
|
||||
color: #fff;
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 44px;
|
||||
text-align: center;
|
||||
width: 425px;
|
||||
|
@ -276,7 +278,6 @@ h6 {
|
|||
font-size: 20px;
|
||||
border-radius: 3px 3px 0px 0px;
|
||||
margin: 0 auto;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.auth-box .form{
|
||||
padding: 20px;
|
||||
|
@ -340,6 +341,19 @@ h6 {
|
|||
ul.banner-social-buttons > li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.auth-box .form {
|
||||
padding: 15px 0px 0 0;
|
||||
}
|
||||
.auth-box.sign-up .form {
|
||||
padding: 15px 0px 0 0;
|
||||
}
|
||||
.auth-box .form .form-control {
|
||||
height: 44px;
|
||||
font-size: 13px;
|
||||
}
|
||||
.auth-container .auth-title {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 540px) {
|
||||
.auth-container .auth-title h2{
|
||||
|
@ -347,9 +361,16 @@ h6 {
|
|||
width: 90%;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-box .form {
|
||||
padding: 15px;
|
||||
.auth-container.auth-signup .auth-title h2{
|
||||
font-size: 20px;
|
||||
width: 90%;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-box .form {
|
||||
width: 90%;
|
||||
}
|
||||
.auth-box .section-heading {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
footer {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
.order-detail-container {padding-top: 70px; padding-bottom: 11%;}
|
||||
.order-detail-container {padding-top: 70px; padding-bottom: 70px; margin-bottom: 70px;}
|
||||
|
||||
.order-detail-container .invoice-title h2, .invoice-title h3 {
|
||||
display: inline-block;
|
||||
|
|
6
hosting/static/hosting/css/owl.carousel.min.css
vendored
Executable file
6
hosting/static/hosting/css/owl.carousel.min.css
vendored
Executable file
|
@ -0,0 +1,6 @@
|
|||
/**
|
||||
* Owl Carousel v2.2.1
|
||||
* Copyright 2013-2017 David Deutsch
|
||||
* Licensed under ()
|
||||
*/
|
||||
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
|
6
hosting/static/hosting/css/owl.theme.default.min.css
vendored
Executable file
6
hosting/static/hosting/css/owl.theme.default.min.css
vendored
Executable file
|
@ -0,0 +1,6 @@
|
|||
/**
|
||||
* Owl Carousel v2.2.1
|
||||
* Copyright 2013-2017 David Deutsch
|
||||
* Licensed under ()
|
||||
*/
|
||||
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
|
|
@ -43,4 +43,188 @@
|
|||
|
||||
.virtual-machine-container .right-place{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.virtual-machine-container .separate-md{
|
||||
margin-top: 35px;
|
||||
}
|
||||
.virtual-machine-container .box-setting{
|
||||
height: 100px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.virtual-machine-container .box-setting .label-success{
|
||||
padding-top: 4px;
|
||||
}
|
||||
.virtual-machine-container .form-ssh textarea{
|
||||
height: 150px !important
|
||||
}
|
||||
|
||||
/*Create VM Styles*/
|
||||
.parent-container{
|
||||
overflow-x: hidden;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.parent-container ::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.container-os{
|
||||
overflow: auto;
|
||||
padding: 0px 0px;
|
||||
min-width: 300px;
|
||||
width: auto;
|
||||
max-width: 800px;
|
||||
min-height: 150px;
|
||||
}
|
||||
.container-os .owl-next{
|
||||
position: absolute;
|
||||
right: -12px;
|
||||
top: 6px;
|
||||
color: gray !important;
|
||||
background: transparent !important;
|
||||
font-size: 54px !important;
|
||||
}
|
||||
.container-os .owl-prev{
|
||||
position: absolute;
|
||||
left: -12px;
|
||||
top: 6px;
|
||||
color: gray !important;
|
||||
background: transparent !important;
|
||||
font-size: 54px !important;
|
||||
}
|
||||
.container-os .owl-dots{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.container-os .os-circle{
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #f7f7f7;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
min-width: 120px;
|
||||
border: 4px solid #b9b9b9;
|
||||
transition: all .1s ease-in;
|
||||
}
|
||||
.step-title{
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.container-os.config .config-box{
|
||||
width: 115px;
|
||||
height: 115px;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #f7f7f7;
|
||||
/* border-radius: 50%; */
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
min-width: 115px;
|
||||
border-radius: 7px;
|
||||
border: 4px solid #b9b9b9;
|
||||
transition: all .1s ease-in;
|
||||
}
|
||||
.container-os .os-circle.active{
|
||||
border: 6px solid #2dc32d;
|
||||
min-width: 135px;
|
||||
width: 135px;
|
||||
height: 135px;
|
||||
}
|
||||
.container-os .os-circle.active .text{
|
||||
font-size: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.container-os.config .config-box.active{
|
||||
border: 6px solid #5cb85c;
|
||||
min-width: 125px;
|
||||
width: 125px;
|
||||
height: 125px;
|
||||
}
|
||||
.container-os.config .config-box span{
|
||||
font-size: 14px;
|
||||
}
|
||||
.container-os.config .config-box.active span{
|
||||
font-size: 16px;
|
||||
}
|
||||
.container-os .os-circle .text{
|
||||
font-size: 16px;
|
||||
width: 50%;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.container-button{
|
||||
text-align: right;
|
||||
display: none;
|
||||
}
|
||||
.container-button .btn{
|
||||
font-size: 17px;
|
||||
width: 150px;
|
||||
margin-top: 5px;
|
||||
|
||||
}
|
||||
|
||||
.container-button .price{
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
@media (max-width: 990px) {
|
||||
.virtual-machine-container .tabs-left {
|
||||
border-right: 0;
|
||||
}
|
||||
.virtual-machine-container .tabs-left>li.active>a,
|
||||
.virtual-machine-container .tabs-left>li.active>a:hover,
|
||||
.virtual-machine-container .tabs-left>li.active>a:focus {
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
.virtual-machine-container .tabs-left>li>a {
|
||||
border-radius: 4px;
|
||||
margin-right: 0;
|
||||
display:block;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.container-button{
|
||||
text-align: center;
|
||||
}
|
||||
.step-title{
|
||||
text-align: center;
|
||||
}
|
||||
.dashboard-title{
|
||||
text-align: center;
|
||||
}
|
||||
.container-os .os-circle{
|
||||
width: 105px;
|
||||
height: 105px;
|
||||
min-width: 105px;
|
||||
}
|
||||
.container-os .os-circle .text{
|
||||
font-size: 14px;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
.container-os .owl-next {
|
||||
right: 20px;
|
||||
top: 20px;
|
||||
font-size: 40px !important;
|
||||
}
|
||||
.container-os .owl-prev{
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
font-size: 40px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 420px) {
|
||||
.btn-create-vm {
|
||||
float: left !important;
|
||||
}
|
||||
}
|
BIN
hosting/static/hosting/fonts/Lato/Lato-Black.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Black.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-BlackItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-BlackItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Bold.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Bold.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-BoldItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-BoldItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Hairline.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Hairline.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Italic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Italic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Light.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Light.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-LightItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-LightItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Regular.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Regular.ttf
Executable file
Binary file not shown.
92
hosting/static/hosting/fonts/Lato/OFL.txt
Executable file
92
hosting/static/hosting/fonts/Lato/OFL.txt
Executable file
|
@ -0,0 +1,92 @@
|
|||
Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato"
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
89
hosting/static/hosting/js/createvm.js
Normal file
89
hosting/static/hosting/js/createvm.js
Normal file
|
@ -0,0 +1,89 @@
|
|||
(function($){
|
||||
"use strict"; // Start of use strict
|
||||
|
||||
|
||||
$(window).load(function(){
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
_initOs();
|
||||
_ifOverflow();
|
||||
|
||||
});
|
||||
|
||||
$(window).resize(function(){
|
||||
|
||||
_ifOverflow();
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
function _initOs(){
|
||||
|
||||
|
||||
$('.os-circle').click(function(event){
|
||||
$('.os-circle').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
|
||||
var idTemplate = $(this).data('id');
|
||||
$('input[name=vm_template_id]').val(idTemplate);
|
||||
});
|
||||
$('.config-box').click(function(event){
|
||||
$('.config-box').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
var idConfig = $(this).data('id');
|
||||
var price = $(this).data('price');
|
||||
$('input[name=configuration]').val(idConfig);
|
||||
$('.container-button').fadeIn();
|
||||
$('#priceValue').text(price);
|
||||
});
|
||||
|
||||
$('.owl-carousel').owlCarousel({
|
||||
items:4,
|
||||
nav: true,
|
||||
margin:30,
|
||||
responsiveClass:true,
|
||||
navText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
|
||||
responsive:{
|
||||
0:{
|
||||
items:1,
|
||||
nav:true
|
||||
},
|
||||
600:{
|
||||
items:2,
|
||||
nav:true
|
||||
},
|
||||
768:{
|
||||
items:3,
|
||||
nav:true
|
||||
},
|
||||
990:{
|
||||
items:4,
|
||||
nav:true
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function _ifOverflow(){
|
||||
|
||||
var dcContainer= document.getElementById('dcContainer');
|
||||
var containerOs= document.getElementById('containerOs');
|
||||
console.log('d-c', dcContainer.offsetWidth-20);
|
||||
console.log('d-os', containerOs.scrollWidth);
|
||||
|
||||
if(dcContainer.offsetWidth-20 < containerOs.scrollWidth){
|
||||
console.log('oooVerrflowwww');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
})(jQuery);
|
||||
|
||||
|
7
hosting/static/hosting/js/vendor/owl.carousel.min.js
vendored
Executable file
7
hosting/static/hosting/js/vendor/owl.carousel.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
|
@ -29,6 +29,8 @@
|
|||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" href="{% static 'hosting/css/owl.carousel.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'hosting/css/owl.theme.default.min.css' %}">
|
||||
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
|
@ -60,9 +62,6 @@
|
|||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
||||
|
||||
|
||||
<li>
|
||||
<a href="{% url 'hosting:virtual_machines' %}">
|
||||
<i class="fa fa-server" aria-hidden="true"></i> {% trans "My Virtual Machines"%}
|
||||
|
@ -73,22 +72,21 @@
|
|||
<i class="fa fa-credit-card"></i> {% trans "My Orders"%}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a href="{% url 'hosting:notifications' %}">
|
||||
<i class="fa fa-bell"></i> {% trans "Notifications "%}
|
||||
</a>
|
||||
</li>
|
||||
<li class="dropdown">
|
||||
<a class="dropdown-toggle" role="button" data-toggle="dropdown" href="#">
|
||||
<i class="glyphicon glyphicon-user"></i> {{request.user.name}} <span class="caret"></span></a>
|
||||
<ul id="g-account-menu" class="dropdown-menu" role="menu">
|
||||
<li>
|
||||
<a href="{% url 'hosting:ssh_keys' %}">
|
||||
<i class="fa fa-key"></i> {% trans "Keys"%}
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:notifications' %}">
|
||||
<i class="fa fa-bell"></i> {% trans "Notifications "%}
|
||||
</a>
|
||||
</li>
|
||||
<li><a href="{% url 'hosting:logout' %}"><i class="glyphicon glyphicon-lock"></i>{% trans "Logout"%} </a></li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:ssh_keys' %}">
|
||||
<i class="fa fa-key"></i> {% trans "Keys"%}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<!--
|
||||
|
@ -119,58 +117,23 @@
|
|||
|
||||
{% endif %}
|
||||
|
||||
<!-- Header -->
|
||||
<a name="about"></a>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
<div class="content-dashboard">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
{% if request.user.is_authenticated %}
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<footer class="footer-vm">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 hidden-xs">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">{% trans "Home"%}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:virtual_machines' %}">
|
||||
{% trans "My Virtual Machines"%}
|
||||
</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:orders' %}">
|
||||
{% trans "My Orders"%}
|
||||
</a>
|
||||
</li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:ssh_keys' %}">
|
||||
{% trans "Keys"%}
|
||||
</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:notifications' %}">
|
||||
{% trans "Notifications "%}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<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>
|
||||
</div>
|
||||
</footer>
|
||||
{% endif %}
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'hosting/js/jquery.js' %}"></script>
|
||||
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
|
||||
|
||||
<script src="{% static 'hosting/js/vendor/owl.carousel.min.js'%}"></script>
|
||||
<!-- Copy Clipboard -->
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script>
|
||||
|
||||
|
@ -181,6 +144,9 @@
|
|||
<!-- Virtual Machine Detail Javascript -->
|
||||
<script src="{% static 'hosting/js/virtual_machine_detail.js' %}"></script>
|
||||
|
||||
<!-- Create Virtual Machine Javascript -->
|
||||
<script src="{% static 'hosting/js/createvm.js' %}"></script>
|
||||
|
||||
<!-- Init JavaScript -->
|
||||
<script src="{% static 'hosting/js/initial.js' %}"></script>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<div class="">
|
||||
<div class="orders-container" style="padding-bottom: 15%">
|
||||
{# Adress bar #}
|
||||
<div class="row">
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<div class="container orders-container">
|
||||
<div class="">
|
||||
<div class="orders-container">
|
||||
<h1>Error</h1>
|
||||
<p> Could not get HostingBill object for client. </p>
|
||||
<p> Please create a HostingBill object via the admin page </p>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
{% block content %}
|
||||
|
||||
<div>
|
||||
<div class="container orders-container">
|
||||
<div class="orders-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<table class="table borderless table-hover">
|
||||
|
|
|
@ -3,11 +3,15 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="intro-auth intro-reset-password">
|
||||
<div class="container">
|
||||
<div class="col-md-4"> </div>
|
||||
<div class="col-md-4">
|
||||
<div class="intro-message">
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="auth-center">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
<div class="intro-message auth-box sign-up">
|
||||
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
||||
{% if messages %}
|
||||
<ul class="list-unstyled">
|
||||
{% for message in messages %}
|
||||
|
@ -15,10 +19,7 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
||||
|
||||
<form action="" method="post" class="form" novalidate>
|
||||
<form action="" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
|
@ -29,11 +30,17 @@
|
|||
</button>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
<span>{% trans "Already have an account ?"%}<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Log in"%}</a></span>
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="auth-footer">
|
||||
<div class="text">
|
||||
<span>{% trans "Already have an account ?"%}</span>
|
||||
</div>
|
||||
<div class="links">
|
||||
<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Login"%}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container dashboard-container">
|
||||
<div class="dashboard-container" >
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
{% if messages %}
|
||||
|
@ -16,39 +16,52 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% if not error %}
|
||||
<h3><i class="fa fa-server" aria-hidden="true"></i> {% trans "New Virtual Machine"%} </h3>
|
||||
<hr/>
|
||||
<form method="POST" action="">
|
||||
<div class="dashboard-title">
|
||||
<h3>{% trans "New Virtual Machine"%} </h3>
|
||||
<hr/>
|
||||
</div>
|
||||
|
||||
<form method="POST" action="">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
{% trans "Select VM Template:" %}
|
||||
<select name="vm_template_id">
|
||||
{% for template in templates %}
|
||||
<option value="{{template.id}}">{{template.name}} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{% trans "Select VM Configuration:" %}
|
||||
<select name="configuration">
|
||||
{% for config in configuration_options %}
|
||||
<option value="{{config.id}}">
|
||||
CORE: {{config.cpu|floatformat}},
|
||||
RAM: {{config.memory|floatformat}} GB,
|
||||
SSD: {{config.disk_size|floatformat}} GB,
|
||||
PRICE: {{config.price|floatformat}} {% trans "CHF/Month" %}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<div class="step-title">
|
||||
<h4>{% trans "Step 1. Select VM Template:" %} </h4>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-success" >{% trans "Start VM"%} </button>
|
||||
<div class="parent-container">
|
||||
<div class="container-os owl-carousel owl-theme" id="containerOs">
|
||||
|
||||
{% for template in templates %}
|
||||
<div class="os-circle" data-id="{{template.id}}">
|
||||
<span class="text" >{{template.name}}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<input type="hidden" name="vm_template_id">
|
||||
</div>
|
||||
<div class="step-title">
|
||||
<h4>{% trans "Step2. Select VM Configuration" %}</h4>
|
||||
</div>
|
||||
<div class="parent-container">
|
||||
<div class="container-os config owl-carousel owl-theme">
|
||||
|
||||
{% for config in configuration_options %}
|
||||
<div class="config-box" data-id="{{config.id}}" data-price="{{config.price|floatformat}}">
|
||||
<span>CORE: {{config.cpu|floatformat}}</span>
|
||||
<span>RAM: {{config.memory|floatformat}} GB</span>
|
||||
<span>SSD: {{config.disk_size|floatformat}} GB</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<input type="hidden" name="configuration">
|
||||
</div>
|
||||
<div class="container-button">
|
||||
<div class="price">
|
||||
<span class="label-price">{% trans "Price " %}<span id="priceValue">0</span>{% trans "CHF/Month" %}</span>
|
||||
</div>
|
||||
<button class="btn btn-success" >{% trans "Start VM"%} </button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -5,29 +5,14 @@
|
|||
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
|
||||
<div class="auth-center">
|
||||
|
||||
<div class="auth-title">
|
||||
<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 %}
|
||||
|
||||
{% block messages %}
|
||||
{% if request.GET.logged_out %}
|
||||
<div class="alert"> <!-- singular -->
|
||||
<a class="close" data-dismiss="alert">×</a>
|
||||
{% trans "You haven been logged out"%}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="intro-message auth-box">
|
||||
<h2 class="section-heading">{% trans "Login"%}</h2>
|
||||
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
||||
|
@ -55,9 +40,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-sm-12">
|
||||
<h3><i class="fa fa-bell" aria-hidden="true"></i>{% trans "Notifications"%} </h3>
|
||||
<h3><i class="fa fa-bell fa-separate" aria-hidden="true"></i>{% trans "Notifications"%} </h3>
|
||||
<hr/>
|
||||
<div class="col-md-3"> <!-- required for floating -->
|
||||
<!-- Nav tabs -->
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container order-detail-container">
|
||||
<div class="order-detail-container">
|
||||
<div class="row">
|
||||
<div class="col-xs-8 col-xs-offset-2">
|
||||
<div class="col-xs-12 col-md-8 col-md-offset-2">
|
||||
<div class="invoice-title">
|
||||
<h2>{% trans "Invoice"%}</h2><h3 class="pull-right">{% trans "Order #"%} {{order.id}}</h3>
|
||||
</div>
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
{% block content %}
|
||||
|
||||
<div>
|
||||
<div class="container orders-container">
|
||||
<div class="orders-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="container-table col-md-8 col-md-offset-2">
|
||||
<table class="table borderless table-hover">
|
||||
<h3><i class="fa fa-credit-card"></i>{% trans "My Orders"%}</h3>
|
||||
<h3><i class="fa fa-credit-card fa-separate"></i>{% trans "My Orders"%}</h3>
|
||||
<br/>
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
{% block content %}
|
||||
<!-- Credit card form -->
|
||||
<div>
|
||||
<div class="container payment-container">
|
||||
<div class="payment-container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-offset-2 col-md-4 summary-box">
|
||||
<form role="form" novalidate>
|
||||
|
|
|
@ -5,11 +5,12 @@
|
|||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
<div class="auth-center">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
|
||||
<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>
|
||||
|
@ -32,7 +33,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-container auth-signup">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
<div class="auth-center ">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
|
@ -31,7 +31,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="container-table col-md-9 col-md-offset-2">
|
||||
<div class="col-sm-12">
|
||||
<form method="POST" action="" novalidate>
|
||||
<form method="POST" action="" novalidate class="form-ssh">
|
||||
{% csrf_token %}
|
||||
<h3><i class="fa fa-key" aria-hidden="true"></i>{% trans "Access Key"%} </h3>
|
||||
<h3><i class="fa fa-key fa-separate" aria-hidden="true"></i>{% trans "Access Key"%} </h3>
|
||||
{% if messages %}
|
||||
<div class="alert alert-warning">
|
||||
{% for message in messages %}
|
||||
|
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="col-sm-12">
|
||||
<h3><i class="fa fa-cloud" aria-hidden="true"></i> {{virtual_machine.name}}</h3>
|
||||
<h3><i class="fa fa-cloud fa-separate" aria-hidden="true"></i> {{virtual_machine.name}}</h3>
|
||||
<hr/>
|
||||
<div class="col-md-3"> <!-- required for floating -->
|
||||
<!-- Nav tabs -->
|
||||
|
@ -71,20 +71,22 @@
|
|||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<i class="fa fa-cubes" aria-hidden="true"></i>{% trans "Cores"%} <br/>
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-cubes" aria-hidden="true"></i>
|
||||
<span>{% trans "Cores"%}</span>
|
||||
<span class="label label-success">{{virtual_machine.cores}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-tachometer" aria-hidden="true"></i> {% trans "Memory"%} <br/>
|
||||
<span class="label label-success">{{virtual_machine.memory}} GiB</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<i class="fa fa-hdd-o" aria-hidden="true"></i> {% trans "Disk"%} <br/>
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-hdd-o" aria-hidden="true"></i>
|
||||
<span>{% trans "Disk"%}</span>
|
||||
<span class="label label-success">{{virtual_machine.disk_size|floatformat:2}} GiB</span>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -130,7 +132,7 @@
|
|||
</div>
|
||||
{% if not virtual_machine.status == 'canceled' %}
|
||||
<div class="row">
|
||||
<div class="col-md-12 space-above-big">
|
||||
<div class="col-md-12 separate-md">
|
||||
<div class="pull-right">
|
||||
<form method="POST"
|
||||
id="virtual_machine_cancel_form" class="cancel-form" action="{% url 'hosting:virtual_machines' virtual_machine.vm_id %}">
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container dashboard-container">
|
||||
<div class="dashboard-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2" style="margin-top: 35px;">
|
||||
<div class="col-xs-12 container-table">
|
||||
<table class="table borderless table-hover">
|
||||
<h3 class="pull-left"><i class="fa fa-server" aria-hidden="true"></i> {% trans "Virtual Machines"%} </h3>
|
||||
<h3 class="pull-left"><i class="fa fa-server fa-separate" aria-hidden="true"></i> {% trans "Virtual Machines"%} </h3>
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
{% if messages %}
|
||||
|
@ -18,7 +18,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% if not error %}
|
||||
<p class="pull-right">
|
||||
<p class="pull-right btn-create-vm">
|
||||
<a class="btn btn-success" href="{% url 'hosting:create_virtual_machine' %}" >{% trans "Create VM"%} </a>
|
||||
</p>
|
||||
<br/>
|
||||
|
|
|
@ -299,7 +299,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)
|
||||
|
@ -370,7 +370,7 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView):
|
|||
manager = OpenNebulaManager()
|
||||
|
||||
# Get user ssh key
|
||||
public_key = form.cleaned_data.get('public_key')
|
||||
public_key = form.cleaned_data.get('public_key', '').decode('utf-8')
|
||||
# Add ssh key to user
|
||||
try:
|
||||
manager.add_public_key(user=owner, public_key=public_key, merge=True)
|
||||
|
|
|
@ -449,6 +449,7 @@ class OpenNebulaManager():
|
|||
"""
|
||||
# TODO: Check if we can remove this first try because we basically just
|
||||
# raise the possible Errors
|
||||
|
||||
try:
|
||||
open_user = self._get_user(user)
|
||||
try:
|
||||
|
@ -492,14 +493,16 @@ class OpenNebulaManager():
|
|||
try:
|
||||
old_key = open_user.template.ssh_public_key
|
||||
if public_key not in old_key:
|
||||
raise KeyDoesNotExistsError()
|
||||
return False
|
||||
# raise KeyDoesNotExistsError()
|
||||
if '\n{}'.format(public_key) in old_key:
|
||||
public_key = old_key.replace('\n{}'.format(public_key), '')
|
||||
else:
|
||||
public_key = old_key.replace(public_key, '')
|
||||
|
||||
except AttributeError:
|
||||
raise KeyDoesNotExistsError()
|
||||
return False
|
||||
#raise KeyDoesNotExistsError()
|
||||
|
||||
self.oneadmin_client.call('user.update', open_user.id,
|
||||
'<CONTEXT><SSH_PUBLIC_KEY>{key}</SSH_PUBLIC_KEY></CONTEXT>'.format(key=public_key))
|
||||
|
|
Binary file not shown.
|
@ -67,6 +67,7 @@ class PasswordResetViewMixin(FormView):
|
|||
# form_class = PasswordResetRequestForm
|
||||
success_message = "The link to reset your email has been sent to your email"
|
||||
site = ''
|
||||
success_message = "Thank you! You will shortly receive a password reset mail from us"
|
||||
# success_url = reverse_lazy('hosting:login')
|
||||
|
||||
def test_generate_email_context(self, user):
|
||||
|
|
Loading…
Reference in a new issue