conflicts resolved
37
Changelog
|
@ -1,10 +1,22 @@
|
|||
Next Release
|
||||
Next release:
|
||||
* Bugfix: [dcl, hosting] Fix Stripe js error in confirm payment page
|
||||
* #3847: [ungleich] change text 'hosting products' -> 'our products'
|
||||
* #3829: [dcl] Handle landing login fail in payment page itself
|
||||
* #3794: [dcl, hosting] Update email styles
|
||||
* #3828: [dcl, hosting] invoice period set to show monthly subscription
|
||||
* #3838: [hosting] restyle signup/login/password reset/password pages
|
||||
1.2.6: 2017-10-10
|
||||
* Bugfix: [dcl] Refactor and optimize images, links in glasfaser page
|
||||
* Bugfix: [dcl] Fix email not being sent issue
|
||||
1.2.5: 2017-10-10
|
||||
* #3785: [hosting] update 'my bills' page design
|
||||
* Bugfix: [hosting] card details input form alignment fix
|
||||
* #3823: [hosting] favicon link fixed
|
||||
* #3844: [dcl] Add Glasfaser page for advertisement
|
||||
|
||||
1.2.4: 2017-10-02
|
||||
* #3780: [hosting] Store VM details locally
|
||||
* #3764: [hosting] Show cancelled VMs' invoices
|
||||
* #3764: [hosting] Show cancelled VMs' invoices
|
||||
* #3736: [dcl] Refactor the place where we compute the VM price
|
||||
* #3730: [dcl] Refactor price parameter passed in the DCL flow
|
||||
* #3807: [dcl] Remove PricingView as it is no more used
|
||||
|
@ -16,7 +28,7 @@ Next Release
|
|||
* #3808: [dcl] Order confirmation page redesign
|
||||
1.2.3: 2017-09-25
|
||||
* #3484: [dcl, hosting] Refactored account activation, password reset, VM order and cancellation email
|
||||
* #3731: [dcl, hosting] Added cdist ssh key handler
|
||||
* #3731: [dcl, hosting] Added cdist ssh key handler
|
||||
* #3628: [dcl] on hosting, VM is created at credit card info submit
|
||||
* #3772: [dcl] Updated hosting app billing into monthly subscription and added new text and translations
|
||||
* #3786: [hosting] Redesigned the hosting invoice and order-confirmation page
|
||||
|
@ -47,8 +59,8 @@ Next Release
|
|||
* #3765: [hosting] Text fix Your SSH Keys to My SSH Keys
|
||||
* #3639: [datacenterlight] Added navbar menu after payment page on landing
|
||||
* #3735: [hosting] Increased modal width and modal button width
|
||||
* #3709: Activated Text Plugin by default for the Page Title Text, enabled <title> tag text management
|
||||
* #3768: [datacenterlight, hosting] Fixed missing DE translation
|
||||
* #3709: Activated Text Plugin by default for the Page Title Text, enabled <title> tag text management
|
||||
* #3768: [datacenterlight, hosting] Fixed missing DE translation
|
||||
* #3678: [datacenterlight, hosting] Removed Lato font files
|
||||
1.1.1: 2017-08-29
|
||||
* #3709: [datacenterlight] Added faq tos cms template
|
||||
|
@ -93,7 +105,7 @@ Next Release
|
|||
1.0.22: 2017-07-30
|
||||
* #3593: [datacenterlight] Removed underbars between social icons in index
|
||||
* #3509: [datacenterlight, hosting] Made navbar transparent and removed mobile navbar bug in login/signup/reset-password
|
||||
* #3592: [datacenterlight] Changed “Order Now” button text to “Continue/weiter”
|
||||
* #3592: [datacenterlight] Changed “Order Now” button text to “Continue/weiter”
|
||||
* #3579: [datacenterlight] Removed “blinks” on click on navbar menus
|
||||
* #3577: [datacenterlight] Added backend CPU, RAM, SSD fields validation
|
||||
* #3615: [datacenterlight] Decoupled landing VM templates from OpenNebula
|
||||
|
@ -104,7 +116,7 @@ Next Release
|
|||
* #3629: [datacenterlight] Fixed navbar language switching bug
|
||||
1.0.21: 2017-07-21
|
||||
* #3591: [datacenterlight, payment] Fixed card holder name to appear on Confirm Order page
|
||||
* #3558: [datacenterlight] Changed font family and background color for header
|
||||
* #3558: [datacenterlight] Changed font family and background color for header
|
||||
* #3581: [datacenterlight] Lead font weight change
|
||||
* #3584: [all] Add flag is_superuser=True in MyUserManager
|
||||
1.0.20: 2017-07-18
|
||||
|
@ -176,14 +188,14 @@ Next Release
|
|||
1.0.5: 2017-06-06
|
||||
* [all] General cleanup
|
||||
* [datacenterlight] Add German translations
|
||||
* [datacenterlight] Change beta access to subscriptions
|
||||
* [hosting] Add German translations
|
||||
* [datacenterlight] Change beta access to subscriptions
|
||||
* [hosting] Add German translations
|
||||
* [blog] Add German translation for header
|
||||
* [opennebula_api] Improve testing, add ssh key functions
|
||||
* [opennebula_api] Remove template views
|
||||
* [datacenterlight] Allow user to have multiple ssh keys
|
||||
* [datacenterlight] Allow user to have multiple ssh keys
|
||||
* [datacenterlight] Changed stripe.js v2 to v3
|
||||
* [datacenterlight] Added support for stripe payment errors on current user language
|
||||
* [datacenterlight] Added support for stripe payment errors on current user language
|
||||
1.0.4: 2017-06-05
|
||||
* [all] Added new Domains to accept
|
||||
1.0.3: 2017-06-02
|
||||
|
@ -195,6 +207,3 @@ Next Release
|
|||
* [datacenterlight] Fix initially shown price
|
||||
1.0.0: 2017-05-25
|
||||
* Initial stable release
|
||||
|
||||
Next:
|
||||
[datacenterlight] Fixed credit card input issue
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-30 13:47+0000\n"
|
||||
"POT-Creation-Date: 2017-10-10 21:35+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -18,137 +18,99 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:6
|
||||
msgid "New message"
|
||||
msgstr "Neue Nachricht"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:13
|
||||
msgid "Name:"
|
||||
msgstr "Name:"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:15
|
||||
msgid "What is your name ?"
|
||||
msgstr "Was ist Dein Name?"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:19
|
||||
msgid "From:"
|
||||
msgstr "Von:"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:21
|
||||
msgid "You email"
|
||||
msgstr "Deine Email"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:25
|
||||
msgid "Message:"
|
||||
msgstr "Nachricht:"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:27
|
||||
msgid "Leave us your message"
|
||||
msgstr "Schreibe hier Deine Nachricht"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:32
|
||||
msgid "Close"
|
||||
msgstr "schliessen"
|
||||
|
||||
#: alplora/templates/alplora/contact.html:33
|
||||
msgid "Send message"
|
||||
msgstr "Nachricht senden"
|
||||
|
||||
#: alplora/templates/alplora/contact_success.html:6
|
||||
msgid "Message Sent"
|
||||
msgstr "Nachricht gesendet"
|
||||
|
||||
#: alplora/templates/alplora/contact_success.html:9
|
||||
msgid "Thank you, we will contact you as soon as possible"
|
||||
msgstr "Dankeschön! Wir melden uns sobald wie möglich!"
|
||||
|
||||
#: alplora/templates/alplora/index.html:13
|
||||
msgid "Find your animal anywhere, anytime"
|
||||
msgstr "Finde deine Tiere"
|
||||
|
||||
#: alplora/templates/alplora/index.html:99
|
||||
#: alplora/templates/alplora/index.html:463
|
||||
msgid "About"
|
||||
msgstr "Über"
|
||||
|
||||
#: alplora/templates/alplora/index.html:102
|
||||
#: alplora/templates/alplora/index.html:248
|
||||
#: alplora/templates/alplora/index.html:469
|
||||
msgid "Why Alplora?"
|
||||
msgstr "Warum Alplora?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:105
|
||||
#: alplora/templates/alplora/index.html:466
|
||||
msgid "Usecase"
|
||||
msgstr ""
|
||||
|
||||
#: alplora/templates/alplora/index.html:108
|
||||
#: alplora/templates/alplora/index.html:358
|
||||
msgid "Testimonials"
|
||||
msgstr "Referenzen"
|
||||
|
||||
#: alplora/templates/alplora/index.html:111
|
||||
#: alplora/templates/alplora/index.html:423
|
||||
#: alplora/templates/alplora/index.html:477
|
||||
msgid "Contact"
|
||||
msgstr "Kontakt"
|
||||
|
||||
#: alplora/templates/alplora/index.html:114
|
||||
msgid "Login"
|
||||
msgstr "Login"
|
||||
|
||||
#: alplora/templates/alplora/index.html:137
|
||||
msgid "Find your herd anytime, anywhere"
|
||||
msgstr "Finde deine Herde jederzeit und überall"
|
||||
|
||||
#: alplora/templates/alplora/index.html:138
|
||||
msgid "Perfect fit for Swiss Alps"
|
||||
msgstr "Perfekt für die Schweizer Alpen"
|
||||
|
||||
#: alplora/templates/alplora/index.html:163
|
||||
msgid "What is Alplora?"
|
||||
msgstr "Was ist Alplora?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:164
|
||||
msgid ""
|
||||
"Alplora is an animal tracker made for outdoor grazing animals in Swiss Alps."
|
||||
msgstr ""
|
||||
"Alplora ist ein Sender, der speziell für Weidetiere in den Schweizer Alpen "
|
||||
"entwickelt wurde."
|
||||
|
||||
#: alplora/templates/alplora/index.html:165
|
||||
msgid "Alplora is just like a cattle bell, but much better."
|
||||
msgstr "Alplora ist wie eine Kuhglocke, nur viel besser."
|
||||
|
||||
#: alplora/templates/alplora/index.html:174
|
||||
msgid "LOST"
|
||||
msgstr "VERLOREN"
|
||||
|
||||
#: alplora/templates/alplora/index.html:176
|
||||
msgid "When an animal gets separated from the herd and is lost."
|
||||
msgstr "Wenn ein Tier sich von der Herde absondert und verloren geht."
|
||||
|
||||
#: alplora/templates/alplora/index.html:184
|
||||
msgid "WOLF"
|
||||
msgstr "WOLF"
|
||||
|
||||
#: alplora/templates/alplora/index.html:186
|
||||
msgid "When a wolf gets close to the herd."
|
||||
msgstr "Wenn ein Wolf sich der Herde nähert."
|
||||
|
||||
#: alplora/templates/alplora/index.html:193
|
||||
msgid "INJURED"
|
||||
msgstr "VERLETZT"
|
||||
|
||||
#: alplora/templates/alplora/index.html:195
|
||||
msgid "When one of the animals is hurt."
|
||||
msgstr "Wenn eins der Tiere verletzt ist."
|
||||
|
||||
#: alplora/templates/alplora/index.html:205
|
||||
msgid "How does Alplora track my animals?"
|
||||
msgstr "Wie kann Alplora meine Tiere verfolgen und ausfindig machen ?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:206
|
||||
msgid ""
|
||||
"Each animal will be wearing a small tracker,<P></P>and the tracker will be "
|
||||
"sending a signal every 30 to 60 minutes."
|
||||
|
@ -156,33 +118,27 @@ msgstr ""
|
|||
"Jedes Tier wird einen kleinen Sender tragen, <P></P> welcher alle 30 bis 60 "
|
||||
"Minuten ein Signal senden wird."
|
||||
|
||||
#: alplora/templates/alplora/index.html:215
|
||||
msgid "Access app"
|
||||
msgstr "Zugang zur App"
|
||||
|
||||
#: alplora/templates/alplora/index.html:217
|
||||
msgid ""
|
||||
"You can see the animal locations on a map by logging into our Alplora app."
|
||||
msgstr ""
|
||||
"Du kannst den Standort deiner Tiere jederzeit auf einer Karte verfolgen, "
|
||||
"indem du dich in unsere Alplora App einloggst."
|
||||
|
||||
#: alplora/templates/alplora/index.html:225
|
||||
msgid "Get an alarm"
|
||||
msgstr "Erhalte ein Warnsignal"
|
||||
|
||||
#: alplora/templates/alplora/index.html:227
|
||||
msgid ""
|
||||
"When certain signals for danger are detected, Alplora sends an alarm to you."
|
||||
msgstr ""
|
||||
"Wenn Anzeichen von Gefahr bestehen, sendet dir die Alplora App einen "
|
||||
"Warnsignal."
|
||||
|
||||
#: alplora/templates/alplora/index.html:235
|
||||
msgid "Find your animal"
|
||||
msgstr "Finde deine Tiere"
|
||||
|
||||
#: alplora/templates/alplora/index.html:238
|
||||
msgid ""
|
||||
"You can locate the animal in trouble on the realtime map and can take "
|
||||
"actions for keeping the animal safe."
|
||||
|
@ -190,11 +146,9 @@ msgstr ""
|
|||
"Du kannst dein Tier in Notsituationen auf einer Echtzeit-Karte lokalisieren "
|
||||
"und hast die Möglichkeit es in Sicherheit zu bringen."
|
||||
|
||||
#: alplora/templates/alplora/index.html:255
|
||||
msgid "Perfect fit for Swiss mountains"
|
||||
msgstr "Perfekt für die Schweizer Alpen"
|
||||
|
||||
#: alplora/templates/alplora/index.html:257
|
||||
msgid ""
|
||||
"Alplora is made and tested for Swiss Alps. It is a perfect fit for Swiss "
|
||||
"environment."
|
||||
|
@ -202,11 +156,9 @@ msgstr ""
|
|||
"Alplora wurde speziell für die Schweizer Alpen entwickelt und vor Ort "
|
||||
"getestet. Das Produkt passt perfekt in die Schweiz!"
|
||||
|
||||
#: alplora/templates/alplora/index.html:263
|
||||
msgid "Energy efficient"
|
||||
msgstr "Energieeffizient"
|
||||
|
||||
#: alplora/templates/alplora/index.html:265
|
||||
msgid ""
|
||||
"Alplora uses the latest wireless technology, our batteries last the whole "
|
||||
"alp season."
|
||||
|
@ -214,11 +166,9 @@ msgstr ""
|
|||
"Alplora arbeitet mit den neuesten Technologien, so dass der Akku die gesamte "
|
||||
"Alpsaison überdauert."
|
||||
|
||||
#: alplora/templates/alplora/index.html:271
|
||||
msgid "Made with love"
|
||||
msgstr "Mit Liebe gemacht"
|
||||
|
||||
#: alplora/templates/alplora/index.html:273
|
||||
msgid ""
|
||||
"With a lot of love and respect for Swiss agriculture and nature, Alplora is "
|
||||
"made by a Swiss company."
|
||||
|
@ -226,61 +176,49 @@ msgstr ""
|
|||
"Alplora wurde mit viel Liebe und Respekt für die Schweizer Natur und "
|
||||
"Landwirtschaft von einer Schweizer Firma entwickelt."
|
||||
|
||||
#: alplora/templates/alplora/index.html:285
|
||||
msgid "Who needs Alplora?"
|
||||
msgstr "Wer benötigt Alplora?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:301
|
||||
msgid " Are your animals..."
|
||||
msgstr "Sind deine Tiere..."
|
||||
|
||||
#: alplora/templates/alplora/index.html:304
|
||||
msgid "sheep, goats, cows or llamas living freely in the Alps?"
|
||||
msgstr "Schafe, Ziegen, Kühe oder Lamas, die frei in den Alpen leben?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:306
|
||||
msgid "wearing bells?"
|
||||
msgstr "solche, die Glocken tragen?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:308
|
||||
msgid ""
|
||||
"sometimes getting confused and going too far away from where they are "
|
||||
"supposed to be?"
|
||||
msgstr ""
|
||||
"manchmal verwirrt und entfernen sich zu weit von ihrem vorgesehenen Standort?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:332
|
||||
msgid "Do you..."
|
||||
msgstr "Möchtest du..."
|
||||
|
||||
#: alplora/templates/alplora/index.html:335
|
||||
msgid "have animals which are staying outdoor during some time of the year?"
|
||||
msgstr ""
|
||||
"deine Tiere, die eine längere Zeit im Jahr unbeobachtet Draussen verbringen, "
|
||||
"schützen und überwachen können?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:337
|
||||
msgid "want to get an alarm when your animal is hurt, or in danger?"
|
||||
msgstr ""
|
||||
"alarmiert werden, wenn sich eines deiner Tiere verletzt oder in Gefahr "
|
||||
"befindet ?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:339
|
||||
msgid "want to see where your animals are on your cell phone map?"
|
||||
msgstr ""
|
||||
"mit deinem Smartphone auf einer Karte sehen können, wo sich deine Tiere "
|
||||
"befinden? "
|
||||
|
||||
#: alplora/templates/alplora/index.html:341
|
||||
msgid "want to make sure 24/7 that your animals are safe?"
|
||||
msgstr ""
|
||||
"sicherstellen, dass sich deine Tiere rund um die Uhr in Sicherheit befinden?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:359
|
||||
msgid "What our customers say"
|
||||
msgstr ""
|
||||
|
||||
#: alplora/templates/alplora/index.html:379
|
||||
msgid ""
|
||||
"“Alplora is an innovation in looking after my cows. I can check where my "
|
||||
"cows have been in the higher mountain all day while doing other works at the "
|
||||
|
@ -292,11 +230,9 @@ msgstr ""
|
|||
"selben Zeit andereDinge auf dem Hof unten im Dorf erledigen. Dank Alplora "
|
||||
"kann ich meinen Kühenmehr Sicherheit gewährleisten."
|
||||
|
||||
#: alplora/templates/alplora/index.html:382
|
||||
msgid "Farmer in canton Glarus"
|
||||
msgstr "Bauern im Kanton Glarus"
|
||||
|
||||
#: alplora/templates/alplora/index.html:388
|
||||
msgid ""
|
||||
"\"Alplora is exactly what I was waiting for. I have lost my sheep almost "
|
||||
"every year. Finally I have a way when I want to locate them.\""
|
||||
|
@ -305,11 +241,9 @@ msgstr ""
|
|||
"Schafe fastjedes Jahr aus den Augen verloren. Nun habe ich endlich die "
|
||||
"Möglichkeit, sie zulokalisieren.\""
|
||||
|
||||
#: alplora/templates/alplora/index.html:391
|
||||
msgid "Owner of 50 sheep "
|
||||
msgstr "Besitzerin von 50 Schafen"
|
||||
|
||||
#: alplora/templates/alplora/index.html:397
|
||||
msgid ""
|
||||
"\"I have a farm down all the way down in the village and y goats are always "
|
||||
"freely grazing in the Alps. There are times that I am worried about them but "
|
||||
|
@ -323,30 +257,23 @@ msgstr ""
|
|||
"noch um meineanderen Tiere kümmern muss. Mit Alplora kann ich nun ohne "
|
||||
"Probleme beides tun.\""
|
||||
|
||||
#: alplora/templates/alplora/index.html:401
|
||||
msgid "Farmer at Berner Oberland"
|
||||
msgstr "Bauer aus dem Berner Oberland"
|
||||
|
||||
#: alplora/templates/alplora/index.html:418
|
||||
msgid "How do I get Alplora?"
|
||||
msgstr "Wie kriege ich Zugriff zu Alplora?"
|
||||
|
||||
#: alplora/templates/alplora/index.html:419
|
||||
msgid "Click the button below and leave us your contact."
|
||||
msgstr "Klicke unten auf Kontakt und hinterlasse uns deine Angaben."
|
||||
|
||||
#: alplora/templates/alplora/index.html:419
|
||||
msgid "Team Alplora will contact you and visit you with a tracking device."
|
||||
msgstr "Das Alpora Team wird sich mit Dir schnellstens in Verbindung setzen."
|
||||
|
||||
#: alplora/templates/alplora/index.html:459
|
||||
msgid "Home"
|
||||
msgstr "Startseite"
|
||||
|
||||
#: alplora/templates/alplora/index.html:472
|
||||
msgid "Testimonials "
|
||||
msgstr "Referenzen"
|
||||
|
||||
#: alplora/views.py:24
|
||||
msgid "Message Successfully Sent"
|
||||
msgstr ""
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-10-06 01:59+0530\n"
|
||||
"POT-Creation-Date: 2017-10-16 00:57+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -126,56 +126,57 @@ msgstr ""
|
|||
msgid "Thank you!"
|
||||
msgstr "Vielen Dank!"
|
||||
|
||||
msgid "Account Activation"
|
||||
msgstr "Account Aktivierung"
|
||||
msgid "Data Center Light Account Activation"
|
||||
msgstr "Data Center Light Account Aktivierung"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"You can activate your Data Center Light account by <a href=\"%(base_url)s"
|
||||
"%(activation_link)s\">clicking here</a>.<br/>\n"
|
||||
"You can activate your Data Center Light account by clicking <a href="
|
||||
"\"%(base_url)s%(activation_link)s\" style=\"text-decoration: none; color: "
|
||||
"#4382c8; font-weight: 400;\">here</a>."
|
||||
msgstr ""
|
||||
"Klicke <a href=\"%(base_url)s%(activation_link)s\"style=\"text-decoration: "
|
||||
"none; color: #4382c8; font-weight: 400;\">here</a> um deinen Data Center "
|
||||
"Light Account zu aktivieren."
|
||||
|
||||
msgid ""
|
||||
"You can also copy and paste the following link into the address bar of your "
|
||||
"browser<br/>\n"
|
||||
"to activate your Data Center Light account.<br/>\n"
|
||||
"%(base_url)s%(activation_link)s\n"
|
||||
msgstr ""
|
||||
"\n"
|
||||
"<a href=\"%(base_url)s%(activation_link)s\">Klicke hier</a> um deinen Data "
|
||||
"Center Light Account zu aktivieren oder kopiere den folgenden Link in die "
|
||||
"Adressleiste deines Browsers.<br/>\n"
|
||||
"%(base_url)s%(activation_link)s\n"
|
||||
"browser to activate your Data Center Light account."
|
||||
msgstr "Kopiere den folgenden Link in die Adressleiste deines Browsers."
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your account details are as follows:<br/><br/>\n"
|
||||
"Username : Your email address<br/>\n"
|
||||
"Password : %(account_details)s<br/><br/>\n"
|
||||
"You can reset your password here:\n"
|
||||
"%(base_url)s%(reset_password_url)s\n"
|
||||
msgstr ""
|
||||
msgid "Your account details are as follows"
|
||||
msgstr "Deine Account Details sind unten aufgelistet"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You can activate your Data Center Light account by clicking here.\n"
|
||||
"You can also copy and paste the following link into the address bar of your "
|
||||
"browser\n"
|
||||
"to activate your Data Center Light account.\n"
|
||||
"%(base_url)s%(activation_link)s\n"
|
||||
msgstr ""
|
||||
"Klicke hier, um deinen Data Center Light Account zu aktivieren oder kopiere "
|
||||
"den folgenden Link in die Adressleiste deines Browsers.\n"
|
||||
"%(base_url)s%(activation_link)s\n"
|
||||
msgid "Username"
|
||||
msgstr "Username"
|
||||
|
||||
msgid "Your email address"
|
||||
msgstr "Deine E-Mail-Adresse"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Passwort"
|
||||
|
||||
msgid "You can reset your password here"
|
||||
msgstr "Du kannst dein Passwort hier zurück setzen"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Your account details are as follows:\n"
|
||||
"\n"
|
||||
"Username : Your email address\n"
|
||||
"Password : %(account_details)s\n"
|
||||
"\n"
|
||||
"You can reset your password here:\n"
|
||||
"%(base_url)s%(reset_password_url)s\n"
|
||||
msgstr ""
|
||||
"You can copy and paste the following link into the address bar of your "
|
||||
"browser to activate your Data Center Light account."
|
||||
msgstr "Kopiere den folgenden Link in die Adressleiste deines Browsers."
|
||||
|
||||
msgid "Welcome to Data Center Light!"
|
||||
msgstr "Willkommen beim Data Center Light!"
|
||||
|
||||
msgid ""
|
||||
"Thanks for joining us! We provide the most affordable virtual machines from "
|
||||
"the heart of Switzerland."
|
||||
msgstr "Bei uns findest Du die günstiges VMs aus der Schweiz."
|
||||
|
||||
msgid "Try now, order a VM. VM price starts from only 15CHF per month."
|
||||
msgstr "Unser Angebot beginnt bei 15 CHF pro Monat. Probier's jetzt aus!"
|
||||
|
||||
msgid "ORDER VM"
|
||||
msgstr "VM BESTELLEN"
|
||||
|
||||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
@ -510,6 +511,15 @@ msgstr ""
|
|||
#~ "ausgelöst, nachdem Du die Bestellung auf der nächsten Seite bestätigt "
|
||||
#~ "hast."
|
||||
|
||||
#~ msgid "Processing..."
|
||||
#~ msgstr "Abarbeitung..."
|
||||
|
||||
#~ msgid "Hold tight, we are processing your request"
|
||||
#~ msgstr "Bitte warten - wir verbeiten Deine Anfrage gerade"
|
||||
|
||||
#~ msgid "Some problem encountered. Please try again later."
|
||||
#~ msgstr "Ein Problem ist aufgetreten. Bitte versuche es später noch einmal."
|
||||
|
||||
#~ msgid "Submit"
|
||||
#~ msgstr "Absenden"
|
||||
|
||||
|
@ -528,15 +538,6 @@ msgstr ""
|
|||
#~ msgid "Order summary"
|
||||
#~ msgstr "Bestellungsübersicht"
|
||||
|
||||
#~ msgid "Processing..."
|
||||
#~ msgstr "Abarbeitung..."
|
||||
|
||||
#~ msgid "Hold tight, we are processing your request"
|
||||
#~ msgstr "Bitte warten - wir verbeiten Deine Anfrage gerade"
|
||||
|
||||
#~ msgid "Some problem encountered. Please try again later."
|
||||
#~ msgstr "Ein Problem ist aufgetreten. Bitte versuche es später noch einmal."
|
||||
|
||||
#~ msgid "We are cutting down the costs significantly!"
|
||||
#~ msgstr "Wir sorgen dafür, dass die Kosten für Dich signifikant abnehmen"
|
||||
|
||||
|
@ -558,9 +559,6 @@ msgstr ""
|
|||
#~ "kontaktiere uns unter support@datacenterlight.ch. Unser Team wird sich "
|
||||
#~ "umgehend um dein Anliegen kümmern!"
|
||||
|
||||
#~ msgid "Email Address"
|
||||
#~ msgstr "E-Mail-Adresse"
|
||||
|
||||
#~ msgid "is not a proper name"
|
||||
#~ msgstr "ist kein gültiger Name"
|
||||
|
||||
|
|
|
@ -182,7 +182,11 @@ button, input, optgroup, select, textarea {
|
|||
|
||||
.navbar-brand {
|
||||
padding: 10px 15px;
|
||||
cursor: pointer;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar-brand {
|
||||
padding: 10px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-right {
|
||||
|
@ -276,7 +280,7 @@ button, input, optgroup, select, textarea {
|
|||
display: block;
|
||||
} */
|
||||
.intro-header {
|
||||
height: 100vh;
|
||||
min-height: 100vh;
|
||||
text-align: center;
|
||||
color: #fff;
|
||||
background: url(../img/configure.jpg) no-repeat center center;
|
||||
|
@ -715,9 +719,10 @@ button, input, optgroup, select, textarea {
|
|||
font-size: 65px;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
/* color: #eee;
|
||||
/* color: #eee;
|
||||
padding-bottom: 25px;
|
||||
text-align: right; */
|
||||
/* color: #fff; */
|
||||
}
|
||||
|
||||
.contact-form .form-group {
|
||||
|
@ -1543,7 +1548,7 @@ tech-sub-sec h2 {
|
|||
}
|
||||
|
||||
footer {
|
||||
padding: 50px 0;
|
||||
padding: 50px 20px;
|
||||
background-color: #f8f8f8;
|
||||
}
|
||||
|
||||
|
|
BIN
datacenterlight/static/datacenterlight/img/logo_black.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 181 KiB After Width: | Height: | Size: 58 KiB |
|
@ -5,6 +5,7 @@ from celery.utils.log import get_task_logger
|
|||
from celery import current_task
|
||||
from django.conf import settings
|
||||
from django.core.mail import EmailMessage
|
||||
from django.core.urlresolvers import reverse
|
||||
from django.utils import translation
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
|
||||
|
@ -131,9 +132,9 @@ def create_vm_task(self, vm_template_id, user, specs, template,
|
|||
'storage': specs.get('disk_size'),
|
||||
'price': specs.get('price'),
|
||||
'template': template.get('name'),
|
||||
'vm.name': vm['name'],
|
||||
'vm.id': vm['vm_id'],
|
||||
'order.id': order.id
|
||||
'vm_name': vm.get('name'),
|
||||
'vm_id': vm['vm_id'],
|
||||
'order_id': order.id
|
||||
}
|
||||
email_data = {
|
||||
'subject': settings.DCL_TEXT + " Order from %s" % context['email'],
|
||||
|
@ -155,13 +156,14 @@ def create_vm_task(self, vm_template_id, user, specs, template,
|
|||
translation.activate(lang)
|
||||
# Send notification to the user as soon as VM has been booked
|
||||
context = {
|
||||
'vm': vm,
|
||||
'order': order,
|
||||
'base_url': "{0}://{1}".format(user.get('request_scheme'),
|
||||
user.get('request_host')),
|
||||
'order_url': reverse('hosting:orders',
|
||||
kwargs={'pk': order.id}),
|
||||
'page_header': _(
|
||||
'Your New VM %(vm_name)s at Data Center Light') % {
|
||||
'vm_name': vm.get('name')}
|
||||
'vm_name': vm.get('name')},
|
||||
'vm_name': vm.get('name')
|
||||
}
|
||||
email_data = {
|
||||
'subject': context.get('page_header'),
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
<!-- Custom Fonts -->
|
||||
<!--Import Google Icon Font-->
|
||||
<link href="//fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
||||
<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" />
|
||||
|
@ -26,6 +26,8 @@
|
|||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'datacenterlight/css/landing-page.css' %}" rel="stylesheet">
|
||||
{% block css_extra %}
|
||||
{% endblock css_extra %}
|
||||
|
||||
<!-- 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:// -->
|
||||
|
@ -42,7 +44,9 @@
|
|||
|
||||
<body>
|
||||
<!-- Navigation -->
|
||||
{% include "datacenterlight/includes/_navbar.html" %}
|
||||
{% block navbar %}
|
||||
{% include "datacenterlight/includes/_navbar.html" %}
|
||||
{% endblock navbar %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
|
|
|
@ -1,24 +1,58 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.html" %}
|
||||
{% load static from staticfiles %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}
|
||||
{{dcl_text}} {% trans 'Account Activation' %}
|
||||
{% endblock %}
|
||||
{% block email_body %}
|
||||
{% blocktrans %}
|
||||
You can activate your Data Center Light account by <a href="{{base_url}}{{activation_link}}">clicking here</a>.<br/>
|
||||
You can also copy and paste the following link into the address bar of your browser<br/>
|
||||
to activate your Data Center Light account.<br/>
|
||||
{{base_url}}{{activation_link}}
|
||||
{% endblocktrans %}
|
||||
{% if account_details %}
|
||||
{% url 'hosting:reset_password' as reset_password_url %}
|
||||
<br/><br/>
|
||||
{% blocktrans %}Your account details are as follows:<br/><br/>
|
||||
Username : Your email address<br/>
|
||||
Password : {{account_details}}<br/><br/>
|
||||
You can reset your password here:
|
||||
{{base_url}}{{reset_password_url}}
|
||||
{% endblocktrans %}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% trans "Data Center Light Account Activation" %}</title>
|
||||
<link rel="shortcut icon" href="{{ base_url }}{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; padding: 20px 0;">
|
||||
<table style="width: 100%; border-spacing: 0; border-collapse: collapse; max-width: 560px;">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ base_url }}{% static 'datacenterlight/img/logo_black.png' %}" style="width: 200px; height: 50px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 15px;">
|
||||
<h1 style="font-family: Lato, Arial, sans-serif; font-size: 25px; font-weight: 400; margin: 0;">{% trans "Data Center Light Account Activation" %}</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 25px; font-size: 16px;">
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 10px; margin-top: 0;">
|
||||
{% blocktrans %}You can activate your Data Center Light account by clicking <a href="{{base_url}}{{activation_link}}" style="text-decoration: none; color: #4382c8; font-weight: 400;">here</a>.{% endblocktrans %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 10px; margin-top: 0;">
|
||||
{% blocktrans %}You can also copy and paste the following link into the address bar of your browser to activate your Data Center Light account.{% endblocktrans %}
|
||||
</p>
|
||||
<p style="color: #4382c8; line-height: 1.4; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{{base_url}}{{activation_link}}
|
||||
</p>
|
||||
<p>
|
||||
{% if account_details %}
|
||||
{% url 'hosting:reset_password' as reset_password_url %}
|
||||
{% trans "Your account details are as follows" %}:
|
||||
|
||||
{% trans "Username" %} : {% trans "Your email address" %}
|
||||
{% trans "Password" %} : {{account_details}}
|
||||
|
||||
{% trans "You can reset your password here" %}:
|
||||
{{base_url}}{{reset_password_url}}
|
||||
{% endif %}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 40px; padding-bottom: 25px;">
|
||||
<h3 style="font-family: Lato, Arial, sans-serif; margin: 0; font-weight: 400; font-size: 15px;">{% trans "Your Data Center Light Team" %}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -1,21 +1,20 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{{dcl_text}} {% trans 'Account Activation' %}{% endblock %}
|
||||
{% block email_body %}
|
||||
{% blocktrans %}You can activate your Data Center Light account by clicking here.
|
||||
You can also copy and paste the following link into the address bar of your browser
|
||||
to activate your Data Center Light account.
|
||||
|
||||
{% trans "Data Center Light Account Activation" %}
|
||||
|
||||
{% blocktrans %}You can copy and paste the following link into the address bar of your browser to activate your Data Center Light account.{% endblocktrans %}
|
||||
|
||||
{{base_url}}{{activation_link}}
|
||||
{% endblocktrans %}
|
||||
|
||||
{% if account_details %}
|
||||
{% url 'hosting:reset_password' as reset_password_url %}
|
||||
{% blocktrans %}Your account details are as follows:
|
||||
{% url 'hosting:reset_password' as reset_password_url %}
|
||||
{% trans "Your account details are as follows" %}:
|
||||
|
||||
Username : Your email address
|
||||
Password : {{account_details}}
|
||||
{% trans "Username" %} : {% trans "Your email address" %}
|
||||
{% trans "Password" %} : {{account_details}}
|
||||
|
||||
You can reset your password here:
|
||||
{{base_url}}{{reset_password_url}}
|
||||
{% endblocktrans %}
|
||||
{% trans "You can reset your password here" %}:
|
||||
{{base_url}}{{reset_password_url}}
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
{% trans "Your Data Center Light Team" %}
|
|
@ -0,0 +1,48 @@
|
|||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% trans "Welcome to Data Center Light!" %}</title>
|
||||
<link rel="shortcut icon" href="{{ base_url }}{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; padding: 20px 0;">
|
||||
<table style="width: 100%; border-spacing: 0; border-collapse: collapse; max-width: 560px;">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ base_url }}{% static 'datacenterlight/img/logo_black.png' %}" style="width: 200px; height: 50px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 15px;">
|
||||
<h1 style="font-family: Lato, Arial, sans-serif; font-size: 25px; font-weight: 400; margin: 0;">{% trans "Welcome to Data Center Light!" %}</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 25px; font-size: 16px;">
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.{% endblocktrans %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 30px;">
|
||||
<a class="btn" href="{{ base_url }}{% url 'hosting:create_virtual_machine' %}" style="font-family: Lato, Arial, sans-serif; text-decoration: none; background-color: #1596da; color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 30px; padding-right: 30px; letter-spacing: 0.5px; border-radius: 3px; display: inline-block;">{% trans "ORDER VM" %}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 40px; padding-bottom: 25px;">
|
||||
<h3 style="font-family: Lato, Arial, sans-serif; margin: 0; font-weight: 400; font-size: 15px;">{% trans "Your Data Center Light Team" %}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -0,0 +1,10 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% trans "Welcome to Data Center Light!" %}
|
||||
|
||||
{% blocktrans %}Thanks for joining us! We provide the most affordable virtual machines from the heart of Switzerland.{% endblocktrans %}
|
||||
{% blocktrans %}Try now, order a VM. VM price starts from only 15CHF per month.{% endblocktrans %}
|
||||
|
||||
{{ base_url }}{% url 'hosting:create_virtual_machine' %}
|
||||
|
||||
{% trans "Your Data Center Light Team" %}
|
|
@ -1,38 +1,39 @@
|
|||
{% load staticfiles i18n%}
|
||||
{% load staticfiles i18n%}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
<footer>
|
||||
<div class="container">
|
||||
<ul class="list-inline">
|
||||
{% if request.resolver_match.url_name != "index" %}
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#how">{% trans "Highlights" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#your">{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
{% if request.resolver_match.url_name != "index" %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#price">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#price">{% trans "Order VM" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. {% trans "All Rights Reserved" %}</p>
|
||||
</div>
|
||||
</footer>
|
||||
<footer>
|
||||
<div class="container">
|
||||
<ul class="list-inline">
|
||||
{% if request.resolver_match.url_name != "index" %}
|
||||
<li>
|
||||
<a href="{% url 'datacenterlight:index' %}">{% trans "Home" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#how">{% trans "Highlights" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#your">{% trans "Scale out" %}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#our">{% trans "Reliable and light" %}</a>
|
||||
</li>
|
||||
{% if request.resolver_match.url_name != "index" %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#price">{% trans "Pricing" %}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
{% else %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#price">{% trans "Order VM" %}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li>
|
||||
<a class="url-init" href="{% url 'datacenterlight:index' %}#contact">{% trans "Contact" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. {% trans "All Rights Reserved" %}</p>
|
||||
</div>
|
||||
</footer>
|
||||
|
|
|
@ -25,14 +25,15 @@
|
|||
<h3>{%trans "Log in" %}</h3>
|
||||
<hr class="top-hr">
|
||||
<p style="margin-bottom: 20px;">{% blocktrans %}Already signed up?<br>By logging in you can retrieve saved billing information.{% endblocktrans %}</p>
|
||||
<form role="form" id="login-form" method="post" action="{% url 'hosting:login' %}" novalidate>
|
||||
<form role="form" id="login-form" method="post" action="" novalidate>
|
||||
{% for field in login_form %}
|
||||
{% csrf_token %}
|
||||
{% bootstrap_field field show_label=False type='fields'%}
|
||||
{% endfor %}
|
||||
<p class="text-danger">{{login_form.non_field_errors|striptags}}</p>
|
||||
<input type='hidden' name='next' value='{{request.path}}'/>
|
||||
<div class="form-group text-right">
|
||||
<button type="submit" class="btn btn-wide btn-vm-contact">{% trans "LOGIN" %}</button>
|
||||
<button type="submit" class="btn btn-wide btn-vm-contact" name="login_form">{% trans "LOGIN" %}</button>
|
||||
</div>
|
||||
</form>
|
||||
<p>
|
||||
|
@ -58,7 +59,7 @@
|
|||
{% endfor %}
|
||||
<form role="form" id="billing-form" method="post" action="" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% for field in billing_address_form %}
|
||||
{% bootstrap_field field show_label=False type='fields'%}
|
||||
{% endfor %}
|
||||
</form>
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
from django.conf.urls import url
|
||||
|
||||
from .views import IndexView, BetaProgramView, LandingProgramView, \
|
||||
BetaAccessView, SuccessView, \
|
||||
PaymentOrderView, OrderConfirmationView, \
|
||||
from .views import (
|
||||
IndexView, BetaProgramView, LandingProgramView, BetaAccessView,
|
||||
SuccessView, PaymentOrderView, OrderConfirmationView,
|
||||
WhyDataCenterLightView, ContactUsView
|
||||
)
|
||||
|
||||
from django.views.generic import TemplateView
|
||||
|
||||
|
||||
urlpatterns = [
|
||||
url(r'^$', IndexView.as_view(), name='index'),
|
||||
|
@ -21,4 +25,8 @@ urlpatterns = [
|
|||
url(r'^order-success/?$', SuccessView.as_view(), name='order_success'),
|
||||
url(r'^beta_access?$', BetaAccessView.as_view(), name='beta_access'),
|
||||
url(r'^contact/?$', ContactUsView.as_view(), name='contact_us'),
|
||||
|
||||
url(r'glasfaser/?$',
|
||||
TemplateView.as_view(template_name='ungleich_page/glasfaser.html'),
|
||||
name='glasfaser'),
|
||||
]
|
||||
|
|
|
@ -49,13 +49,17 @@ class ContactUsView(FormView):
|
|||
|
||||
def form_valid(self, form):
|
||||
form.save()
|
||||
from_emails = {
|
||||
'glasfaser': 'glasfaser@ungleich.ch'
|
||||
}
|
||||
from_page = self.request.POST.get('from_page')
|
||||
email_data = {
|
||||
'subject': "{dcl_text} Message from {sender}".format(
|
||||
dcl_text=settings.DCL_TEXT,
|
||||
sender=form.cleaned_data.get('email')
|
||||
),
|
||||
'from_email': settings.DCL_SUPPORT_FROM_ADDRESS,
|
||||
'to': ['info@ungleich.ch'],
|
||||
'to': [from_emails.get(from_page, 'info@ungleich.ch')],
|
||||
'body': "\n".join(
|
||||
["%s=%s" % (k, v) for (k, v) in form.cleaned_data.items()]),
|
||||
'reply_to': [form.cleaned_data.get('email')],
|
||||
|
@ -341,26 +345,45 @@ class PaymentOrderView(FormView):
|
|||
else:
|
||||
return BillingAddressFormSignup
|
||||
|
||||
def get_form_kwargs(self):
|
||||
form_kwargs = super(PaymentOrderView, self).get_form_kwargs()
|
||||
# if user is signed in, get billing address
|
||||
if self.request.user.is_authenticated():
|
||||
form_kwargs.update({
|
||||
'instance': self.request.user.billing_addresses.first()
|
||||
})
|
||||
if 'billing_address_data' in self.request.session:
|
||||
billing_address_data = self.request.session['billing_address_data']
|
||||
form_kwargs.update({
|
||||
'initial': billing_address_data
|
||||
})
|
||||
return form_kwargs
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(PaymentOrderView, self).get_context_data(**kwargs)
|
||||
if 'billing_address_data' in self.request.session:
|
||||
billing_address_data = self.request.session['billing_address_data']
|
||||
else:
|
||||
billing_address_data = {}
|
||||
|
||||
if self.request.user.is_authenticated():
|
||||
if billing_address_data:
|
||||
billing_address_form = BillingAddressForm(
|
||||
initial=billing_address_data
|
||||
)
|
||||
else:
|
||||
billing_address_form = BillingAddressForm(
|
||||
instance=self.request.user.billing_addresses.first()
|
||||
)
|
||||
# Get user last order
|
||||
last_hosting_order = HostingOrder.objects.filter(
|
||||
customer__user=self.request.user
|
||||
).last()
|
||||
|
||||
# If user has already an hosting order, get the credit card
|
||||
# data from it
|
||||
if last_hosting_order:
|
||||
credit_card_data = last_hosting_order.get_cc_data()
|
||||
if credit_card_data:
|
||||
context['credit_card_data'] = credit_card_data
|
||||
else:
|
||||
context['credit_card_data'] = None
|
||||
else:
|
||||
billing_address_form = BillingAddressFormSignup(
|
||||
initial=billing_address_data
|
||||
)
|
||||
|
||||
context.update({
|
||||
'stripe_key': settings.STRIPE_API_PUBLIC_KEY,
|
||||
'site_url': reverse('datacenterlight:index'),
|
||||
'login_form': HostingUserLoginForm()
|
||||
'login_form': HostingUserLoginForm(prefix='login_form'),
|
||||
'billing_address_form': billing_address_form
|
||||
})
|
||||
return context
|
||||
|
||||
|
@ -372,9 +395,32 @@ class PaymentOrderView(FormView):
|
|||
return self.render_to_response(self.get_context_data())
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
form = self.get_form()
|
||||
if form.is_valid():
|
||||
token = form.cleaned_data.get('token')
|
||||
if 'login_form' in request.POST:
|
||||
login_form = HostingUserLoginForm(data=request.POST,
|
||||
prefix='login_form')
|
||||
if login_form.is_valid():
|
||||
email = login_form.cleaned_data.get('email')
|
||||
password = login_form.cleaned_data.get('password')
|
||||
auth_user = authenticate(email=email, password=password)
|
||||
if auth_user:
|
||||
login(self.request, auth_user)
|
||||
return HttpResponseRedirect(
|
||||
reverse('datacenterlight:payment')
|
||||
)
|
||||
else:
|
||||
context = self.get_context_data()
|
||||
context['login_form'] = login_form
|
||||
return self.render_to_response(context)
|
||||
if request.user.is_authenticated():
|
||||
address_form = BillingAddressForm(
|
||||
data=request.POST,
|
||||
)
|
||||
else:
|
||||
address_form = BillingAddressFormSignup(
|
||||
data=request.POST,
|
||||
)
|
||||
if address_form.is_valid():
|
||||
token = address_form.cleaned_data.get('token')
|
||||
if request.user.is_authenticated():
|
||||
this_user = {
|
||||
'email': request.user.email,
|
||||
|
@ -384,8 +430,8 @@ class PaymentOrderView(FormView):
|
|||
email=this_user.get('email'),
|
||||
token=token)
|
||||
else:
|
||||
user_email = form.cleaned_data.get('email')
|
||||
user_name = form.cleaned_data.get('name')
|
||||
user_email = address_form.cleaned_data.get('email')
|
||||
user_name = address_form.cleaned_data.get('name')
|
||||
this_user = {
|
||||
'email': user_email,
|
||||
'name': user_name
|
||||
|
@ -418,13 +464,18 @@ class PaymentOrderView(FormView):
|
|||
token=token,
|
||||
customer_name=user_name)
|
||||
|
||||
request.session['billing_address_data'] = form.cleaned_data
|
||||
request.session['billing_address_data'] = address_form.cleaned_data
|
||||
request.session['user'] = this_user
|
||||
# Get or create stripe customer
|
||||
if not customer:
|
||||
form.add_error("__all__", "Invalid credit card")
|
||||
address_form.add_error(
|
||||
"__all__", "Invalid credit card"
|
||||
)
|
||||
return self.render_to_response(
|
||||
self.get_context_data(form=form))
|
||||
self.get_context_data(
|
||||
billing_address_form=address_form
|
||||
)
|
||||
)
|
||||
request.session['token'] = token
|
||||
if type(customer) is StripeCustomer:
|
||||
request.session['customer'] = customer.stripe_id
|
||||
|
@ -433,7 +484,9 @@ class PaymentOrderView(FormView):
|
|||
return HttpResponseRedirect(
|
||||
reverse('datacenterlight:order_confirmation'))
|
||||
else:
|
||||
return self.form_invalid(form)
|
||||
context = self.get_context_data()
|
||||
context['billing_address_form'] = address_form
|
||||
return self.render_to_response(context)
|
||||
|
||||
|
||||
class OrderConfirmationView(DetailView):
|
||||
|
@ -544,9 +597,13 @@ class OrderConfirmationView(DetailView):
|
|||
try:
|
||||
custom_user = CustomUser.objects.get(
|
||||
email=user.get('email'))
|
||||
customer = StripeCustomer.objects.filter(
|
||||
stripe_customer = StripeCustomer.objects.filter(
|
||||
user_id=custom_user.id).first()
|
||||
stripe_customer_id = customer.id
|
||||
if stripe_customer is None:
|
||||
stripe_customer = StripeCustomer.objects.create(
|
||||
user=custom_user, stripe_id=stripe_api_cus_id
|
||||
)
|
||||
stripe_customer_id = stripe_customer.id
|
||||
except CustomUser.DoesNotExist:
|
||||
logger.debug(
|
||||
"Customer {} does not exist.".format(user.get('email')))
|
||||
|
|
|
@ -5,7 +5,9 @@ from django.conf.urls.static import static
|
|||
from django.views import i18n, static as static_view
|
||||
|
||||
from django.conf import settings
|
||||
from hosting.views import RailsHostingView, DjangoHostingView, NodeJSHostingView
|
||||
from hosting.views import (
|
||||
RailsHostingView, DjangoHostingView, NodeJSHostingView
|
||||
)
|
||||
from membership import urls as membership_urls
|
||||
from ungleich_page.views import LandingView
|
||||
from django.views.generic import RedirectView
|
||||
|
|
|
@ -29,6 +29,8 @@ class HostingUserLoginForm(forms.Form):
|
|||
def clean(self):
|
||||
email = self.cleaned_data.get('email')
|
||||
password = self.cleaned_data.get('password')
|
||||
if self.errors:
|
||||
return self.cleaned_data
|
||||
is_auth = authenticate(email=email, password=password)
|
||||
if not is_auth:
|
||||
raise forms.ValidationError(
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-10-06 01:59+0530\n"
|
||||
"POT-Creation-Date: 2017-10-16 01:06+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -155,9 +155,6 @@ msgstr "Ich möchte einen existierenden SSH-Key nutzen"
|
|||
msgid "Upload"
|
||||
msgstr "Hochladen"
|
||||
|
||||
msgid "Your VM hosted in Switzerland"
|
||||
msgstr "Deine VM in der Schweiz"
|
||||
|
||||
msgid "Set your new password"
|
||||
msgstr "Setze Dein neues Passwort"
|
||||
|
||||
|
@ -195,101 +192,78 @@ msgid "Support / Contact"
|
|||
msgstr "Support / Kontakt"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have ordered a new virtual machine!\n"
|
||||
"<br/>\n"
|
||||
"Your order of [%(vm_name)s] has been charged.<br/><br/>\n"
|
||||
"You can view your invoice by clicking the button below.<br/><br/>\n"
|
||||
msgstr ""
|
||||
"Du hast eine neue virtuelle Maschine bestellt!<br/>\n"
|
||||
"Deine Bestellung von [%(vm_name)s] wurde erhoben.<br/><br/>\n"
|
||||
"Um die Rechnung zu sehen, klicke auf den Button unten.<br/><br/>\n"
|
||||
msgid "Your New VM %(vm_name)s"
|
||||
msgstr "Deine Neue VM %(vm_name)s"
|
||||
|
||||
msgid "View Invoice"
|
||||
msgstr "Zur Rechnung"
|
||||
msgid "You have ordered a new virtual machine!"
|
||||
msgstr "Du hast eine neue virtuelle Maschine bestellt!"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You have ordered a new virtual machine!\n"
|
||||
"Your order of [%(vm_name)s] has been charged.\n"
|
||||
"You can view your invoice here.\n"
|
||||
msgstr ""
|
||||
"Du hast eine neue virtuelle Maschine bestellt!\n"
|
||||
"Deine Bestellung von [%(vm_name)s] wurde erhoben.\n"
|
||||
"Um die Rechnung zu sehen, klicke hier.\n"
|
||||
msgid "Your order of <strong>%(vm_name)s</strong> has been charged."
|
||||
msgstr "Deine Bestellung von <strong>%(vm_name)s</strong> wurde erhoben."
|
||||
|
||||
msgid "You can view your VM detail by clicking the button below."
|
||||
msgstr "Um die Rechnung zu sehen, klicke auf den Button unten."
|
||||
|
||||
msgid "View Detail"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
msgid "Your Data Center Light Team"
|
||||
msgstr "Dein Data Center Light Team"
|
||||
|
||||
#, python-format
|
||||
msgid "Your order of %(vm_name)s has been charged."
|
||||
msgstr "Deine Bestellung von %(vm_name)s wurde erhoben."
|
||||
|
||||
msgid "You can view your VM detail by following the link below."
|
||||
msgstr "Um die Rechnung zu sehen, klicke auf den Link unten."
|
||||
|
||||
msgid "Password Reset"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"\n"
|
||||
"You're receiving this email because you requested a password reset for your "
|
||||
"user account at %(site_name)s.<br/>\n"
|
||||
"Please go to the following page and choose a new password: %(base_url)s"
|
||||
"%(password_reset_url)s<br/>\n"
|
||||
"If you didn't request a new password, ignore this e-mail.<br/>\n"
|
||||
"Thank you!\n"
|
||||
msgid "We received a request to reset your password."
|
||||
msgstr "Wir haben eine Anfrage erhalten, um Dein Passwort zurückzusetzen."
|
||||
|
||||
msgid "If you didn't make this request you can safely ignore this email."
|
||||
msgstr ""
|
||||
"\n"
|
||||
"Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei "
|
||||
"%(site_name)s zurücksetzen möchtest.<br/>\n"
|
||||
"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s"
|
||||
"%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, "
|
||||
"dann ignoriere diese E-Mail.<br/>\n"
|
||||
"Dankeschön!\n"
|
||||
"Falls Du kein neues Passwort angefragt hast, kannst Du diese E-mail "
|
||||
"ignorieren."
|
||||
|
||||
msgid "Otherwise, click here to reset your password."
|
||||
msgstr "Andernfalls klicke hier, um Dein Passwort zurückzusetzen."
|
||||
|
||||
msgid "Thank you!"
|
||||
msgstr "Dankeschön!"
|
||||
|
||||
msgid "Virtual Machine Cancellation"
|
||||
msgstr "VM Kündigung"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You're receiving this email because you requested a password reset for your "
|
||||
"user account at %(site_name)s.\n"
|
||||
"Please go to the following page and choose a new password: %(base_url)s"
|
||||
"%(password_reset_url)s\n"
|
||||
"If you didn't request a new password, ignore this e-mail.\n"
|
||||
"Thank you!\n"
|
||||
"You are receiving this email because your virutal machine <strong>"
|
||||
"%(vm_name)s</strong> has been cancelled."
|
||||
msgstr ""
|
||||
"Du erhälst diese E-Mail da Du Dein Passwort für Deinen Account bei "
|
||||
"%(site_name)s zurücksetzen möchtest.\n"
|
||||
"Bitte folge diesem Link und wähle ein neues Passwort: %(base_url)s"
|
||||
"%(password_reset_url)s Solltest Du kein neues Passwort angefordert haben, "
|
||||
"dann ignoriere diese E-Mail.\n"
|
||||
"Dankeschön!\n"
|
||||
"Du erhälst diese E-Mail, da deine virtuelle Maschine <strong>%(vm_name)s</"
|
||||
"strong> gekündigt wurde."
|
||||
|
||||
msgid "You can always order a new VM by clicking the button below."
|
||||
msgstr ""
|
||||
"Du kannst einfach eine neue VM bestellen, indem Du den Knopf weiter unten "
|
||||
"drückst."
|
||||
|
||||
msgid "CREATE VM"
|
||||
msgstr "NEUE VM"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You're receiving this mail because your virtual machine [%(vm_name)s] has "
|
||||
"been cancelled.<br/>\n"
|
||||
"You can see your order status by clicking [my VM page] below.<br/>\n"
|
||||
"If you want to order a new virtual machine, you can do it by clicking <a "
|
||||
"href=\"%(base_url)s%(my_virtual_machines_url)s\">this link</a>.<br/>\n"
|
||||
"You are receiving this email because your virutal machine %(vm_name)s has "
|
||||
"been cancelled."
|
||||
msgstr ""
|
||||
"Du erhälst diese E-Mail, Da Deine virtuelle Maschine [%(vm_name)s] gekündigt "
|
||||
"wurde.<br/>\n"
|
||||
"Um Deinen Auftragsstatus zu sehen, klicke auf die [my VM page] unten.<br/>\n"
|
||||
"Falls Du eine neue virtuelle Maschine bestellen möchtest, kannst Du dies "
|
||||
"tun, indem Du <a href=\"%(base_url)s%(my_virtual_machines_url)s\">diesen "
|
||||
"Link klickst</a>.<br/>\n"
|
||||
"Du erhälst diese E-Mail, da deine virtuelle Maschine %(vm_name)s gekündigt "
|
||||
"wurde."
|
||||
|
||||
msgid "My VM page"
|
||||
msgstr "Meine VM page"
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You're receiving this mail because your virtual machine [%(vm_name)s] has "
|
||||
"been cancelled.\n"
|
||||
"You can see your order status by clicking here\n"
|
||||
"%(base_url)s%(vm_order_url)s\n"
|
||||
"If you want to order a new virtual machine, you can do it by clicking this "
|
||||
"link.\n"
|
||||
"%(base_url)s%(my_virtual_machines_url)s\n"
|
||||
msgid "You can always order a new VM by following the link below."
|
||||
msgstr ""
|
||||
"Du erhälst diese E-Mail, da Deine virtuelle Maschine [%(vm_name)s] gekündigt "
|
||||
"wurde.\n"
|
||||
"Um Deinen Auftragsstatus zu sehen, klicke hier.\n"
|
||||
"%(base_url)s%(vm_order_url)s\n"
|
||||
"Falls Du eine neue virtuelle Maschine bestellen möchtest, kannst Du dies "
|
||||
"tun, indem Du diesen Link klickst.\n"
|
||||
"%(base_url)s%(my_virtual_machines_url)s\n"
|
||||
|
||||
msgid "Card Number"
|
||||
msgstr "Kreditkartennummer"
|
||||
|
@ -322,13 +296,16 @@ msgstr "Dashboard"
|
|||
msgid "Logout"
|
||||
msgstr "Abmelden"
|
||||
|
||||
msgid "Don't have an account yet ? "
|
||||
msgid "Log in"
|
||||
msgstr "Anmelden"
|
||||
|
||||
msgid "Don't have an account yet ?"
|
||||
msgstr "Besitzt du kein Benutzerkonto?"
|
||||
|
||||
msgid "Sign up"
|
||||
msgstr "Registrieren"
|
||||
|
||||
msgid "Forgot your password ? "
|
||||
msgid "Forgot your password ?"
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
msgid "Resend activation link"
|
||||
|
@ -485,7 +462,7 @@ msgstr "Deine Kreditkartennummer"
|
|||
msgid "Submit"
|
||||
msgstr "Absenden"
|
||||
|
||||
msgid "Reset your password"
|
||||
msgid "Password reset"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
msgid "UPDATE"
|
||||
|
@ -652,12 +629,6 @@ msgstr ""
|
|||
"Um auf Deine VM zuzugreifen, <a href=\"%(create_ssh_url)s\">füge Deinen SSH-"
|
||||
"Key hinzu</a>"
|
||||
|
||||
msgid "CREATE VM"
|
||||
msgstr "NEUE VM"
|
||||
|
||||
msgid "View Detail"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
msgid "login"
|
||||
msgstr "anmelden"
|
||||
|
||||
|
@ -682,6 +653,9 @@ msgstr "Dein Account wurde aktiviert."
|
|||
msgid "You can now"
|
||||
msgstr "Du kannst dich nun"
|
||||
|
||||
msgid "Welcome to Data Center Light!"
|
||||
msgstr "Willkommen beim Data Center Light!"
|
||||
|
||||
msgid "Sorry. Your request is invalid."
|
||||
msgstr "Entschuldigung, deine Anfrage ist ungültig."
|
||||
|
||||
|
@ -752,14 +726,21 @@ msgstr ""
|
|||
msgid "Error terminating VM"
|
||||
msgstr "Fehler beenden VM"
|
||||
|
||||
msgid "Virtual Machine Cancellation"
|
||||
msgstr "VM Kündigung"
|
||||
#, python-format
|
||||
msgid "Virtual Machine %(vm_name)s Cancelled"
|
||||
msgstr "Virtuelle Maschine %(vm_name)s Kündigung"
|
||||
|
||||
msgid "There was an error processing your request. Please try again."
|
||||
msgstr ""
|
||||
"Es gab einen Fehler bei der Bearbeitung Deine Anfrage. Bitte versuche es "
|
||||
"noch einmal."
|
||||
|
||||
#~ msgid "Reset your password"
|
||||
#~ msgstr "Passwort zurücksetzen"
|
||||
|
||||
#~ msgid "My VM page"
|
||||
#~ msgstr "Meine VM page"
|
||||
|
||||
#~ msgid "Invoice Date"
|
||||
#~ msgstr "Rechnung Datum"
|
||||
|
||||
|
@ -787,12 +768,27 @@ msgstr ""
|
|||
#~ msgid "Start VM"
|
||||
#~ msgstr "VM jetzt starten"
|
||||
|
||||
#~ msgid "View Invoice"
|
||||
#~ msgstr "Zur Rechnung"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You're receiving this mail because your virtual machine [%(vm_name)s] has "
|
||||
#~ "been cancelled.<br/>\n"
|
||||
#~ "You can see your order status by clicking [my VM page] below.<br/>\n"
|
||||
#~ "If you want to order a new virtual machine, you can do it by clicking <a "
|
||||
#~ "href=\"%(base_url)s%(my_virtual_machines_url)s\">this link</a>.<br/>\n"
|
||||
#~ msgstr ""
|
||||
#~ "Du erhälst diese E-Mail, da deine virtuelle Maschine [%(vm_name)s] "
|
||||
#~ "gekündigt wurde.<br/>\n"
|
||||
#~ "Um deinen Auftragsstatus zu sehen, klicke auf die [my VM page] unten.<br/"
|
||||
#~ ">\n"
|
||||
#~ "Falls du eine neue virtuelle Maschine bestellen möchtest, kannst du dies "
|
||||
#~ "tun, indem du <a href=\"%(base_url)s%(my_virtual_machines_url)s\">diesen "
|
||||
#~ "Link klickst</a>.<br/>\n"
|
||||
|
||||
#~ msgid "Finish Configuration"
|
||||
#~ msgstr "Konfiguration beenden"
|
||||
|
||||
#~ msgid "Your New VM %(vm_name)s at Data Center Light"
|
||||
#~ msgstr "Deine neue VM %(vm_name)s bei Data Center Light"
|
||||
|
||||
#~ msgid "My Virtual Machines"
|
||||
#~ msgstr "Meine virtuellen Maschinen"
|
||||
|
||||
|
@ -841,9 +837,6 @@ msgstr ""
|
|||
#~ msgid "Keys"
|
||||
#~ msgstr "Keys"
|
||||
|
||||
#~ msgid "Log in"
|
||||
#~ msgstr "Anmelden"
|
||||
|
||||
#~ msgid "You haven been logged out"
|
||||
#~ msgstr "Du wurdest abgemeldet"
|
||||
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
import os
|
||||
import logging
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
||||
from django.db import models
|
||||
from django.utils import timezone
|
||||
from django.utils.functional import cached_property
|
||||
from Crypto.PublicKey import RSA
|
||||
from membership.models import StripeCustomer, CustomUser
|
||||
|
@ -172,3 +174,9 @@ class VMDetail(models.Model):
|
|||
ipv6 = models.TextField(default='')
|
||||
created_at = models.DateTimeField(auto_now_add=True)
|
||||
terminated_at = models.DateTimeField(null=True)
|
||||
|
||||
def end_date(self):
|
||||
end_date = self.terminated_at if self.terminated_at else timezone.now()
|
||||
months = relativedelta(end_date, self.created_at).months or 1
|
||||
end_date = self.created_at + relativedelta(months=months, days=-1)
|
||||
return end_date
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
}
|
||||
|
||||
.content-dashboard{
|
||||
min-height: calc(100vh - 70px);
|
||||
min-height: calc(100vh - 60px);
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
max-width: 1120px;
|
||||
|
@ -66,7 +66,9 @@
|
|||
width: 280px;
|
||||
}
|
||||
.content-dashboard {
|
||||
width: 90%;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.btn:focus, .btn:active:focus {
|
||||
|
@ -296,10 +298,6 @@
|
|||
max-width: 360px;
|
||||
}
|
||||
|
||||
.btn-wide {
|
||||
min-width: 100px;
|
||||
}
|
||||
|
||||
.caps-link {
|
||||
font-weight: 600;
|
||||
color: #8da4c0;
|
||||
|
@ -395,4 +393,12 @@
|
|||
|
||||
.thick-hr {
|
||||
border-top: 5px solid #eee;
|
||||
}
|
||||
|
||||
.locale_date {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.locale_date.done{
|
||||
opacity: 1;
|
||||
}
|
|
@ -17,9 +17,11 @@ h3,
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
/*font-family: 'Lato-Regular', sans-serif;*/
|
||||
font-family: 'Lato', sans-serif;
|
||||
/*font-weight: 300;*/
|
||||
}
|
||||
|
||||
.allcaps {
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.topnav {
|
||||
|
@ -31,6 +33,11 @@ h6 {
|
|||
.navbar-brand {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
.navbar-brand {
|
||||
padding: 10px 0;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-default {
|
||||
background: #fff;
|
||||
|
@ -46,7 +53,7 @@ h6 {
|
|||
.navbar-transparent {
|
||||
background: transparent;
|
||||
border: none;
|
||||
padding: 20px;
|
||||
padding: 20px 0;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
@ -72,7 +79,6 @@ h6 {
|
|||
.navbar-transparent #logoWhite{
|
||||
display: block;
|
||||
width: 220px;
|
||||
/* color: #fff; */
|
||||
}
|
||||
|
||||
.navbar-right .highlights-dropdown .dropdown-menu {
|
||||
|
@ -92,16 +98,6 @@ h6 {
|
|||
border-color: #e7e7e7;
|
||||
box-shadow: -8px 14px 20px -5px rgba(77, 77, 77, 0.5);
|
||||
}
|
||||
/* .navbar-right .highlights-dropdown .dropdown-menu:before {
|
||||
content: '';
|
||||
display: block;
|
||||
height: 1px;
|
||||
background: #e7e7e7;
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
left: -1px;
|
||||
right: -1px;
|
||||
} */
|
||||
}
|
||||
.navbar-right .highlights-dropdown .dropdown-menu > li > a{
|
||||
font-size: 13px;
|
||||
|
@ -274,16 +270,15 @@ h6 {
|
|||
|
||||
/*------Auth section---------*/
|
||||
.auth-container {
|
||||
min-height: calc(100vh - 120px);
|
||||
min-height: calc(100vh - 180px);
|
||||
position: relative;
|
||||
/* flex-grow: 1; */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.auth-bg {
|
||||
background: url(../img/auth-bg-sm.jpg);
|
||||
background: url(../img/pattern.jpg) no-repeat center center;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
|
@ -293,7 +288,6 @@ h6 {
|
|||
background-position: center center;
|
||||
background-size: cover;
|
||||
background-attachment: fixed;
|
||||
|
||||
}
|
||||
|
||||
.auth-bg::before {
|
||||
|
@ -303,7 +297,7 @@ h6 {
|
|||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(75, 75, 101, 0.55);
|
||||
background: rgba(90, 116, 175, 0.7);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
@ -313,69 +307,38 @@ h6 {
|
|||
|
||||
.auth-container .auth-content {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 390px;
|
||||
margin: 0 auto 15px;
|
||||
max-width: 400px;
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
.auth-container .auth-center {
|
||||
/* position: absolute; */
|
||||
/* left: 50%; */
|
||||
/* top: 50%; */
|
||||
/* transform: translate(-50%, -50%); */
|
||||
/* width: 100%; */
|
||||
}
|
||||
|
||||
.auth-container .auth-title {
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.auth-container .auth-title h2 {
|
||||
color: #fff;
|
||||
font-size: 44px;
|
||||
text-align: center;
|
||||
width: 425px;
|
||||
margin: 0 auto;
|
||||
margin-bottom: 30px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.auth-container .auth-title h2::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
bottom: -20px;
|
||||
background: #fff;
|
||||
height: 7px;
|
||||
width: 70px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, 0);
|
||||
.auth-container .auth-content.wide {
|
||||
max-width: 480px;
|
||||
}
|
||||
|
||||
.auth-box {
|
||||
position: relative;
|
||||
background: #fff;
|
||||
padding: 0;
|
||||
padding-bottom: 30px;
|
||||
padding: 40px 20px 20px;
|
||||
box-sizing: border-box;
|
||||
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
|
||||
border-radius: 4px;
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.09), 0 5px 5px rgba(0, 0, 0, 0.23);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
.auth-box .section-heading {
|
||||
color: #5a5a5a;
|
||||
padding-top: 30px;
|
||||
padding-bottom: 5px;
|
||||
font-weight: 300;
|
||||
text-align: center;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 3px;
|
||||
font-size: 20px;
|
||||
letter-spacing: 1px;
|
||||
font-size: 36px;
|
||||
border-radius: 3px 3px 0px 0px;
|
||||
margin: 0 auto;
|
||||
margin: 0 auto 10px;
|
||||
}
|
||||
|
||||
.auth-box .form {
|
||||
padding: 20px;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
max-width: 360px;
|
||||
}
|
||||
|
||||
.auth-box .form .red {
|
||||
|
@ -383,27 +346,56 @@ h6 {
|
|||
}
|
||||
|
||||
.auth-box .form .btn {
|
||||
box-shadow: 0 0px 9px rgba(0, 0, 0, 0.19), 0 3px 5px rgba(0, 0, 0, 0.23);
|
||||
letter-spacing: 3px;
|
||||
font-size: 17px;
|
||||
letter-spacing: 2px;
|
||||
font-size: 16px;
|
||||
padding: 6px 12px;
|
||||
min-width: 140px;
|
||||
margin-top: 15px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
.auth-box .form .form-control {
|
||||
height: 44px;
|
||||
font-size: 16px;
|
||||
height: 48px;
|
||||
font-size: 14px;
|
||||
padding: 10px 17px;
|
||||
line-height: 30px;
|
||||
border-color: #aaa;
|
||||
}
|
||||
|
||||
.auth-box .form .form-control:focus,
|
||||
.auth-box .form .form-control:active {
|
||||
box-shadow: none;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
.auth-box .form-control::-webkit-input-placeholder {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.auth-box .form-control:-moz-placeholder{
|
||||
/* Firefox 18- */
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.auth-box .form-control::-moz-placeholder{
|
||||
/* Firefox 19+ */
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.auth-box .form-control:-ms-input-placeholder {
|
||||
color: #aaa;
|
||||
}
|
||||
|
||||
.auth-box .auth-footer {
|
||||
text-align: center;
|
||||
padding: 10px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.auth-box .auth-footer .text {
|
||||
.auth-box .auth-footer {
|
||||
color: #777;
|
||||
}
|
||||
|
||||
.auth-box .auth-footer .links a {
|
||||
.auth-box .auth-footer a {
|
||||
color: #1e94cc;
|
||||
}
|
||||
|
||||
|
@ -411,20 +403,11 @@ h6 {
|
|||
color: #1e94cc;
|
||||
}
|
||||
|
||||
.auth-box.sign-up {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
.auth-box.sign-up .form {
|
||||
padding: 15px 20px 0 20px;
|
||||
}
|
||||
|
||||
.sign-up-message {
|
||||
padding: 25px 30px 25px 30px;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
line-height: 30px;
|
||||
/*font-family: 'Lato' !important;*/
|
||||
font-weight: 300 !important;
|
||||
}
|
||||
|
||||
|
@ -458,16 +441,7 @@ h6 {
|
|||
}
|
||||
|
||||
.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;
|
||||
padding: 15px 0 15px 0;
|
||||
}
|
||||
|
||||
.auth-container .auth-title {
|
||||
|
@ -476,7 +450,7 @@ h6 {
|
|||
}
|
||||
|
||||
.auth-box .msg-list {
|
||||
padding: 15px 25px 5px;
|
||||
padding: 20px 25px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
@ -493,19 +467,14 @@ h6 {
|
|||
margin-bottom: 50px;
|
||||
}
|
||||
|
||||
.auth-box .form {
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
.auth-box .section-heading {
|
||||
font-size: 15px;
|
||||
font-size: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
padding: 20px;
|
||||
padding: 20px 0;
|
||||
background-color: #f8f8f8;
|
||||
/* position: absolute */
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
|
@ -537,7 +506,6 @@ a.unlink:hover {
|
|||
|
||||
/***** DCL payment page **********/
|
||||
.dcl-order-container {
|
||||
/*font-family: Lato;*/
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
|
@ -580,9 +548,7 @@ a.unlink:hover {
|
|||
}
|
||||
|
||||
.dcl-place-order-text{
|
||||
/* font-size: 13px; */
|
||||
color: #808080;
|
||||
/* margin-bottom: 15px; */
|
||||
}
|
||||
|
||||
.dcl-order-table-total .tbl-total {
|
||||
|
@ -610,7 +576,6 @@ a.unlink:hover {
|
|||
}
|
||||
|
||||
.card-warning-content {
|
||||
/*font-family: Lato;*/
|
||||
font-weight: 300;
|
||||
border: 1px solid #a1a1a1;
|
||||
border-radius: 3px;
|
||||
|
@ -638,18 +603,6 @@ a.unlink:hover {
|
|||
right: 0;
|
||||
}
|
||||
|
||||
.brand {
|
||||
}
|
||||
|
||||
.brand #brand-icon {
|
||||
}
|
||||
|
||||
.card-number-element {
|
||||
}
|
||||
|
||||
.card-expiry-element {
|
||||
}
|
||||
|
||||
.card-cvc-element label {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
@ -735,9 +688,6 @@ a.unlink:hover {
|
|||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.brand {
|
||||
}
|
||||
|
||||
.card-expiry-element {
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
@ -802,10 +752,23 @@ a.unlink:hover {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
.footer-light a:hover, .footer-light a:focus, .footer-light a:active {
|
||||
.footer-light {
|
||||
position: relative;
|
||||
}
|
||||
.footer-light footer {
|
||||
background: transparent;
|
||||
color: #eee;
|
||||
}
|
||||
.footer-light a,
|
||||
.footer-light .text-muted {
|
||||
color: #ddd;
|
||||
}
|
||||
.footer-light a:hover, .footer-light a:focus, .footer-light a:active {
|
||||
color: #fff;
|
||||
}
|
||||
.footer-vm p.copyright {
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
.visible-mobile {
|
||||
display: none !important;
|
||||
|
|
BIN
hosting/static/hosting/img/pattern.jpg
Normal file
After Width: | Height: | Size: 58 KiB |
BIN
hosting/static/hosting/img/pattern_original.jpg
Normal file
After Width: | Height: | Size: 181 KiB |
|
@ -49,7 +49,7 @@ $(document).ready(function () {
|
|||
|
||||
|
||||
var hasCreditcard = window.hasCreditcard || false;
|
||||
if (!hasCreditcard) {
|
||||
if (!hasCreditcard && window.stripeKey) {
|
||||
var stripe = Stripe(window.stripeKey);
|
||||
var element_style = {
|
||||
fonts: [{
|
||||
|
@ -88,31 +88,6 @@ $(document).ready(function () {
|
|||
}
|
||||
}
|
||||
};
|
||||
var credit_card_cvv_style = {
|
||||
base: {
|
||||
iconColor: '#666EE8',
|
||||
color: '#31325F',
|
||||
lineHeight: '25px',
|
||||
fontWeight: 300,
|
||||
fontFamily: "'lato-regular', sans-serif",
|
||||
fontSize: '14px',
|
||||
'::placeholder': {
|
||||
color: '#555'
|
||||
}
|
||||
},
|
||||
invalid: {
|
||||
iconColor: '#eb4d5c',
|
||||
color: '#eb4d5c',
|
||||
lineHeight: '25px',
|
||||
fontWeight: 300,
|
||||
fontFamily: "'lato-regular', sans-serif",
|
||||
fontSize: '14px',
|
||||
'::placeholder': {
|
||||
color: '#eb4d5c',
|
||||
fontWeight: 600
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var enter_ccard_text = "Enter your credit card number";
|
||||
if (typeof window.enter_your_card_text !== 'undefined') {
|
||||
|
@ -139,8 +114,6 @@ $(document).ready(function () {
|
|||
}
|
||||
});
|
||||
}
|
||||
console.log("has creditcard", hasCreditcard);
|
||||
// hasCreditcard= true;
|
||||
|
||||
var submit_form_btn = $('#payment_button_with_creditcard');
|
||||
submit_form_btn.on('click', submit_payment);
|
||||
|
@ -148,11 +121,7 @@ $(document).ready(function () {
|
|||
|
||||
function submit_payment(e) {
|
||||
e.preventDefault();
|
||||
console.log("creditcard sdasd");
|
||||
// if (hasCreditcard) {
|
||||
$('#billing-form').submit();
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -164,7 +133,6 @@ $(document).ready(function () {
|
|||
|
||||
function stripeTokenHandler(token) {
|
||||
// Insert the token ID into the form so it gets submitted to the server
|
||||
var form = document.getElementById('payment-form-new');
|
||||
$('#id_token').val(token.id);
|
||||
$('#billing-form').submit();
|
||||
}
|
||||
|
@ -227,13 +195,5 @@ $(document).ready(function () {
|
|||
$(element).closest('.form-group').append(error);
|
||||
}
|
||||
});
|
||||
// $form.find('[type=submit]').prop('disabled', true);
|
||||
// var readyInterval = setInterval(function() {
|
||||
// if (paymentFormReady()) {
|
||||
// $form.find('[type=submit]').prop('disabled', false);
|
||||
// clearInterval(readyInterval);
|
||||
// }
|
||||
// }, 250);
|
||||
|
||||
});
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
<link href='//fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
|
||||
<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,500,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="{% static 'hosting/img/favicon.ico' %}" type="image/x-icon" />
|
||||
<link rel="shortcut icon" href="{% static 'datacenterlight/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:// -->
|
||||
|
@ -54,19 +54,18 @@
|
|||
{% include "hosting/includes/_navbar_user.html" %}
|
||||
{% endblock navbar %}
|
||||
|
||||
|
||||
<div class="content-dashboard">
|
||||
<div class="{% if request.user.is_authenticated %}content-dashboard{% endif %}">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
{% if request.user.is_authenticated %}
|
||||
<footer class="footer-vm">
|
||||
<div class="container">
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. {% trans "All Rights Reserved" %}</p>
|
||||
</div>
|
||||
</footer>
|
||||
<footer class="footer-vm">
|
||||
<div class="container">
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. {% trans "All Rights Reserved" %}</p>
|
||||
</div>
|
||||
</footer>
|
||||
{% else %}
|
||||
<div class="footer-light">
|
||||
{% include "datacenterlight/includes/_footer.html" %}
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
{% extends "hosting/base_short.html" %}
|
||||
{% load staticfiles bootstrap3%}
|
||||
{% load i18n %}
|
||||
{% load staticfiles bootstrap3 i18n %}
|
||||
|
||||
{% block navbar %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% endblock navbar %}
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<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>
|
||||
<div class="auth-box sign-up">
|
||||
<h1 class="section-heading">{% trans "Set your new password" %}</h1>
|
||||
{% if messages %}
|
||||
<ul class="list-unstyled msg-list">
|
||||
{% for message in messages %}
|
||||
|
@ -28,23 +24,18 @@
|
|||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
{% endfor %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-block btn-success">
|
||||
{% trans "Reset"%}
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn choice-btn">
|
||||
{% trans "Reset" %}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
</div>
|
||||
</form>
|
||||
<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>
|
||||
<span>{% trans "Already have an account ?" %}</span>
|
||||
<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Login" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,14 +1,51 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.html" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{{page_header}}{% endblock %}
|
||||
{% block email_body %}
|
||||
{% url 'hosting:orders' order.id as order_url %}
|
||||
{% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine!
|
||||
<br/>
|
||||
Your order of [{{vm_name}}] has been charged.<br/><br/>
|
||||
You can view your invoice by clicking the button below.<br/><br/>
|
||||
{% endblocktrans %}
|
||||
<div class="button" style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center">
|
||||
<a href="{{ base_url }}{{order_url}}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">{% trans 'View Invoice' %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %}</title>
|
||||
<link rel="shortcut icon" href="{{ base_url }}{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; padding: 20px 0;">
|
||||
<table style="width: 100%; border-spacing: 0; border-collapse: collapse; max-width: 560px;">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ base_url }}{% static 'datacenterlight/img/logo_black.png' %}" style="width: 200px; height: 50px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 15px;">
|
||||
<h1 style="font-family: Lato, Arial, sans-serif; font-size: 25px; font-weight: 400; margin: 0;">{% blocktrans %}Your New VM {{ vm_name }}{% endblocktrans %}</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 25px; font-size: 16px;">
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}You have ordered a new virtual machine!{% endblocktrans %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}Your order of <strong>{{ vm_name }}</strong> has been charged.{% endblocktrans %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}You can view your VM detail by clicking the button below.{% endblocktrans %}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 30px;">
|
||||
<a class="btn" href="{{ base_url }}{{ order_url }}" style="font-family: Lato, Arial, sans-serif; text-decoration: none; background-color: #1596da; color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 30px; padding-right: 30px; letter-spacing: 0.5px; border-radius: 3px; display: inline-block; position: relative;">{% trans "View Detail" %}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 40px; padding-bottom: 25px;">
|
||||
<h3 style="font-family: Lato, Arial, sans-serif; margin: 0; font-weight: 400; font-size: 15px;">{% trans "Your Data Center Light Team" %}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,11 +1,11 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{{page_header}}{% endblock %}
|
||||
{% block email_body %}
|
||||
{% url 'hosting:orders' order.id as order_url %}
|
||||
{% blocktrans with vm.name as vm_name %}You have ordered a new virtual machine!
|
||||
Your order of [{{vm_name}}] has been charged.
|
||||
You can view your invoice here.
|
||||
{% endblocktrans %}
|
||||
{{ base_url }}{{order_url}}
|
||||
{% endblock %}
|
||||
|
||||
{% blocktrans %}Your New VM {{vm_name}}{% endblocktrans %}
|
||||
|
||||
{% blocktrans %}You have ordered a new virtual machine!{% endblocktrans %}
|
||||
{% blocktrans %}Your order of {{vm_name}} has been charged.{% endblocktrans %}
|
||||
{% blocktrans %}You can view your VM detail by following the link below.{% endblocktrans %}
|
||||
|
||||
{{ base_url }}{{ order_url }}
|
||||
|
||||
{% trans "Your Data Center Light Team" %}
|
|
@ -1,14 +1,52 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.html" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}
|
||||
{% trans 'Password Reset' %}
|
||||
{% endblock %}
|
||||
{% block email_body %}
|
||||
{% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %}
|
||||
{% blocktrans %}
|
||||
You're receiving this email because you requested a password reset for your user account at {{site_name}}.<br/>
|
||||
Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }}<br/>
|
||||
If you didn't request a new password, ignore this e-mail.<br/>
|
||||
Thank you!
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% trans "Password Reset" %}</title>
|
||||
<link rel="shortcut icon" href="{{ base_url }}{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; padding: 20px 0;">
|
||||
<table style="width: 100%; border-spacing: 0; border-collapse: collapse; max-width: 560px;">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{base_url}}{% static 'datacenterlight/img/logo_black.png' %}" style="width: 200px; height: 50px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 15px;">
|
||||
<h1 style="font-family: Lato, Arial, sans-serif; font-size: 25px; font-weight: 400; margin: 0;">{% trans "Password Reset" %}</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 25px; font-size: 16px;">
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 10px; margin-top: 0;">
|
||||
{% trans "We received a request to reset your password." %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 10px; margin-top: 0;">
|
||||
{% trans "If you didn't make this request you can safely ignore this email." %}
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 10px; margin-top: 0;">
|
||||
{% trans "Otherwise, click here to reset your password." %}
|
||||
</p>
|
||||
<p style="color: #4382c8; line-height: 1.4; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %}
|
||||
{{base_url}}{{ password_reset_url }}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin-bottom: 0; margin-top: 10px;">
|
||||
{% trans "Thank you!" %}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 40px; padding-bottom: 25px;">
|
||||
<h3 style="font-family: Lato, Arial, sans-serif; margin: 0; font-weight: 400; font-size: 15px;">{% trans "Your Data Center Light Team" %}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
|
@ -1,11 +1,14 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{% trans 'Password Reset' %}{% endblock %}
|
||||
{% block email_body %}
|
||||
|
||||
{% trans "Password Reset" %}
|
||||
|
||||
{% trans "We received a request to reset your password." %}
|
||||
{% trans "If you didn't make this request you can safely ignore this email." %}
|
||||
{% trans "Otherwise, click here to reset your password." %}
|
||||
|
||||
{% url 'hosting:reset_password_confirm' uidb64=uid token=token as password_reset_url %}
|
||||
{% blocktrans %}You're receiving this email because you requested a password reset for your user account at {{site_name}}.
|
||||
Please go to the following page and choose a new password: {{base_url}}{{ password_reset_url }}
|
||||
If you didn't request a new password, ignore this e-mail.
|
||||
Thank you!
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
{{base_url}}{{ password_reset_url }}
|
||||
|
||||
{% trans "Thank you!" %}
|
||||
|
||||
{% trans "Your Data Center Light Team" %}
|
||||
|
|
|
@ -1,15 +1,49 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.html" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{{page_header}}{% endblock %}
|
||||
{% block email_body %}
|
||||
{% url 'hosting:virtual_machines' as my_virtual_machines_url %}
|
||||
{% url 'hosting:orders' as vm_orders_url %}
|
||||
{% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled.<br/>
|
||||
You can see your order status by clicking [my VM page] below.<br/>
|
||||
If you want to order a new virtual machine, you can do it by clicking <a href="{{base_url}}{{my_virtual_machines_url}}">this link</a>.<br/>
|
||||
{% endblocktrans %}
|
||||
<div class="button" style="border-collapse: collapse; font-family: 'Lato', 'sans-serif' !important; font-size: 14px; color: #777777; text-align: center; line-height: 21px; padding: 30px 0;" align="center">
|
||||
<a href="{{ base_url }}{{vm_orders_url}}" style="border-radius: 5px; color: #ffffff; display: inline-block; font-family: 'Oxygen', 'Helvetica Neue', 'Arial', 'sans-serif' !important; font-size: 14px; font-weight: regular; line-height: 45px; text-align: center; text-decoration: none !important; width: 155px; -webkit-text-size-adjust: none; mso-hide: all; background: #ff6f6f;">{% trans 'My VM page' %}</a>
|
||||
</div>
|
||||
{% endblock %}
|
||||
{% load static i18n %}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>{% trans "Virtual Machine Cancellation" %}</title>
|
||||
<link rel="shortcut icon" href="{{ base_url }}{% static 'datacenterlight/img/favicon.ico' %}" type="image/x-icon">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,400">
|
||||
</head>
|
||||
|
||||
<body style="margin: 0; padding: 20px 0;">
|
||||
<table style="width: 100%; border-spacing: 0; border-collapse: collapse; max-width: 560px;">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="{{ base_url }}{% static 'datacenterlight/img/logo_black.png' %}" style="width: 200px; height: 50px;">
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 15px;">
|
||||
<h1 style="font-family: Lato, Arial, sans-serif; font-size: 25px; font-weight: 400; margin: 0;">{% trans "Virtual Machine Cancellation" %}</h1>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 25px; font-size: 16px;">
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}You are receiving this email because your virutal machine <strong>{{ vm_name }}</strong> has been cancelled.{% endblocktrans %}
|
||||
</p>
|
||||
<p style="line-height: 1.75; font-family: Lato, Arial, sans-serif; font-weight: 300; margin: 0;">
|
||||
{% blocktrans %}You can always order a new VM by clicking the button below.{% endblocktrans %}
|
||||
</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 30px;">
|
||||
<a class="btn" href="{{ base_url }}{% url 'hosting:create_virtual_machine' %}" style="font-family: Lato, Arial, sans-serif; text-decoration: none; background-color: #1596da; color: #fff; padding-top: 10px; padding-bottom: 10px; padding-left: 30px; padding-right: 30px; letter-spacing: 0.5px; border-radius: 3px; display: inline-block; position: relative;">{% trans "CREATE VM" %}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="padding-top: 40px; padding-bottom: 25px;">
|
||||
<h3 style="font-family: Lato, Arial, sans-serif; margin: 0; font-weight: 400; font-size: 15px;">{% trans "Your Data Center Light Team" %}</h3>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
{% extends "datacenterlight/emails/base_email_datacenterlight.txt" %}
|
||||
{% load i18n %}
|
||||
{% block email_head %}{{page_header}}{% endblock %}
|
||||
{% block email_body %}
|
||||
{% url 'hosting:virtual_machines' as my_virtual_machines_url %}
|
||||
{% url 'hosting:orders' order.id as vm_order_url %}
|
||||
{% blocktrans with vm.name as vm_name %}You're receiving this mail because your virtual machine [{{vm_name}}] has been cancelled.
|
||||
You can see your order status by clicking here
|
||||
{{base_url}}{{vm_order_url}}
|
||||
If you want to order a new virtual machine, you can do it by clicking this link.
|
||||
{{base_url}}{{my_virtual_machines_url}}
|
||||
{% endblocktrans %}
|
||||
{% endblock %}
|
||||
|
||||
{% trans "Virtual Machine Cancellation" %}
|
||||
|
||||
{% blocktrans %}You are receiving this email because your virutal machine {{vm_name}} has been cancelled.{% endblocktrans %}
|
||||
{% blocktrans %}You can always order a new VM by following the link below.{% endblocktrans %}
|
||||
|
||||
{{ base_url }}{% url 'hosting:create_virtual_machine' %}
|
||||
|
||||
{% trans "Your Data Center Light Team" %}
|
|
@ -32,22 +32,12 @@
|
|||
{% endif %}
|
||||
<div id='payment_error'>
|
||||
{% for message in messages %}
|
||||
{% if 'failed_payment' in message.tags or 'make_charge_error' in message.tags %}
|
||||
{% if 'failed_payment' in message.tags or 'make_charge_error' in message.tags or 'error' in message.tags %}
|
||||
<ul class="list-unstyled">
|
||||
<li><p class="card-warning-content card-warning-error">{{ message|safe }}</p></li>
|
||||
</ul>
|
||||
{% elif not form.non_field_errors %}
|
||||
<p class="card-warning-content">
|
||||
{% trans "You are not making any payment yet. After placing your order, you will be taken to the Submit Payment Page." %}
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
{% for error in form.non_field_errors %}
|
||||
<p class="card-warning-content card-warning-error">
|
||||
{{ error|escape }}
|
||||
</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-vm-contact btn-wide" type="submit">{%trans "SUBMIT" %}</button>
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{% if messages %}
|
||||
<ul class="list-unstyled msg-list">
|
||||
{% for message in messages %}
|
||||
<div
|
||||
class="alert {% if message.tags and message.tags == 'error' %} alert-danger {% else %} alert-{{message.tags}} {% endif %}">{{ message|safe }}</div>
|
||||
<div class="alert {% if message.tags and message.tags == 'error' %} alert-danger {% else %} alert-{{message.tags}} {% endif %}">{{ message|safe }}</div>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
|
@ -1,11 +1,13 @@
|
|||
{% load static i18n %}
|
||||
|
||||
<nav class="navbar navbar-default topnav navbar-transparent" role="navigation">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<a id="logoWhite" class="navbar-brand topnav" href="{% url 'datacenterlight:index' %}"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
<div class="container">
|
||||
<div class="topnav">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header">
|
||||
<a id="logoWhite" class="navbar-brand topnav" href="{% url 'datacenterlight:index' %}"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
</nav>
|
|
@ -1,49 +1,43 @@
|
|||
{% extends "hosting/base_short.html" %}
|
||||
{% load i18n %}
|
||||
{% load staticfiles bootstrap3%}
|
||||
{% load i18n staticfiles bootstrap3%}
|
||||
|
||||
{% block navbar %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% endblock navbar %}
|
||||
|
||||
{% block content %}
|
||||
<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">
|
||||
<h2 class="section-heading">{% trans "Login"%}</h2>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False type='fields'%}
|
||||
{% endfor %}
|
||||
<p class="red">{{form.non_field_errors|striptags}}</p>
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-block btn-success">
|
||||
{% trans "Login"%}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
<input type='hidden' name='next' value='{{request.GET.next}}'/>
|
||||
</form>
|
||||
<div class="auth-footer">
|
||||
<div class="text">
|
||||
<span>{% trans "Don't have an account yet ? "%}</span>
|
||||
</div>
|
||||
<div class="links">
|
||||
<a class="unlink" href="{% url 'hosting:signup' %}">{% trans "Sign up"%}</a>
|
||||
<span class="text"> or </span>
|
||||
<a class="unlink" href="{% url 'hosting:reset_password' %}">{% trans "Forgot your password ? "%}</a>
|
||||
<span class="text"> or </span><br/>
|
||||
<a class="unlink" href="{% url 'hosting:resend_activation_link' %}">{% trans "Resend activation link"%}</a>
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="auth-center">
|
||||
<div class="auth-content">
|
||||
<div class="auth-box">
|
||||
<h1 class="section-heading allcaps">{% trans "Log in" %}</h1>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False type='fields'%}
|
||||
{% endfor %}
|
||||
<p class="red">{{form.non_field_errors|striptags}}</p>
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn choice-btn">
|
||||
{% trans "Log in" %}
|
||||
</button>
|
||||
</div>
|
||||
<input type='hidden' name='next' value='{{request.GET.next}}'/>
|
||||
</form>
|
||||
<div class="auth-footer">
|
||||
<div>
|
||||
{% trans "Don't have an account yet ?" %}
|
||||
<a class="" href="{% url 'hosting:signup' %}">{% trans "Sign up" %}</a>
|
||||
</div>
|
||||
<div>
|
||||
or <a href="{% url 'hosting:reset_password' %}">{% trans "Forgot your password ?" %}</a><br>
|
||||
or <a href="{% url 'hosting:resend_activation_link' %}">{% trans "Resend activation link" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -32,11 +32,11 @@
|
|||
{% endif %}
|
||||
<p>
|
||||
<strong>{% trans "Date" %}:</strong>
|
||||
<span id="order-created_at">
|
||||
<span class="locale_date">
|
||||
{% if order %}
|
||||
{{order.created_at|date:'Y-m-d H:i'}}
|
||||
{{order.created_at|date:'Y-m-d h:i a'}}
|
||||
{% else %}
|
||||
{% now "Y-m-d H:i" %}
|
||||
{% now "Y-m-d h:i a" %}
|
||||
{% endif %}
|
||||
</span>
|
||||
</p>
|
||||
|
@ -107,7 +107,9 @@
|
|||
{% if vm.created_at %}
|
||||
<p>
|
||||
<span>{% trans "Period" %}: </span>
|
||||
<span>{{ vm.created_at|date:'Y/m/d' }} - {% if vm.terminated_at %}{{ vm.terminated_at|date:'Y/m/d' }}{% else %}{% now 'Y/m/d' %}{% endif %}</span>
|
||||
<span>
|
||||
<span class="locale_date" data-format="YYYY/MM/DD">{{ vm.created_at|date:'Y-m-d h:i a' }}</span> - <span class="locale_date" data-format="YYYY/MM/DD">{{ subscription_end_date|date:'Y-m-d h:i a' }}</span>
|
||||
</span>
|
||||
</p>
|
||||
{% endif %}
|
||||
<p>
|
||||
|
@ -194,12 +196,16 @@
|
|||
<script type="text/javascript">
|
||||
{% trans "Some problem encountered. Please try again later." as err_msg %}
|
||||
var create_vm_error_message = '{{err_msg|safe}}';
|
||||
|
||||
window.onload = function () {
|
||||
var locale_date = moment.utc(document.getElementById("order-created_at").textContent, 'YYYY-MM-DD HH:mm').toDate();
|
||||
locale_date = moment(locale_date).format("YYYY-MM-DD h:mm:ss a");
|
||||
document.getElementById('order-created_at').innerHTML = locale_date;
|
||||
|
||||
var locale_dates = document.getElementsByClassName("locale_date");
|
||||
var formats = ['YYYY-MM-DD hh:mm a']
|
||||
var i;
|
||||
for (i = 0; i < locale_dates.length; i++) {
|
||||
var oldDate = moment.utc(locale_dates[i].textContent, formats);
|
||||
var outputFormat = locale_dates[i].getAttribute('data-format') || oldDate._f;
|
||||
locale_dates[i].innerHTML = oldDate.local().format(outputFormat);
|
||||
locale_dates[i].className += ' done';
|
||||
}
|
||||
};
|
||||
</script>
|
||||
{%endblock%}
|
||||
|
|
|
@ -1,37 +1,40 @@
|
|||
{% extends "hosting/base_short.html" %}
|
||||
{% load staticfiles bootstrap3%}
|
||||
{% load i18n %}
|
||||
{% load staticfiles bootstrap3 i18n %}
|
||||
|
||||
{% block navbar %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% endblock navbar %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<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 "Resend activation link"%}</h2>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<div class="auth-content wide">
|
||||
<div class="auth-box sign-up">
|
||||
<h1 class="section-heading">{% trans "Resend activation link" %}</h1>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:resend_activation_link' %}" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
{% endfor %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-block btn-success">
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn choice-btn">
|
||||
{% trans "Submit"%}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="auth-footer">
|
||||
<div>
|
||||
{% trans "Don't have an account yet ?" %}
|
||||
<a class="" href="{% url 'hosting:signup' %}">{% trans "Sign up" %}</a>
|
||||
</div>
|
||||
<div>
|
||||
or <a href="{% url 'hosting:reset_password' %}">{% trans "Forgot your password ?" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,44 +1,37 @@
|
|||
{% extends "hosting/base_short.html" %}
|
||||
{% load staticfiles bootstrap3%}
|
||||
{% load i18n %}
|
||||
{% load i18n staticfiles bootstrap3%}
|
||||
|
||||
{% block navbar %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% endblock navbar %}
|
||||
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<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 "Reset your password"%}</h2>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<div class="auth-box sign-up">
|
||||
<h1 class="section-heading">{% trans "Password reset" %}</h1>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:reset_password' %}" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
{% endfor %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-block btn-success">
|
||||
{% trans "Reset"%}
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn choice-btn">
|
||||
{% trans "Reset" %}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
</div>
|
||||
</form>
|
||||
<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>
|
||||
<span>{% trans "Already have an account ?" %}</span>
|
||||
<a href="{% url 'hosting:login' %}">{% trans "Login" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -2,41 +2,36 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
|
||||
{% block navbar %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% include 'hosting/includes/_navbar_transparent.html' %}
|
||||
{% endblock navbar %}
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container auth-signup">
|
||||
<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 "Sign up"%}</h2>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:signup' %}" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
{% endfor %}
|
||||
{% buttons %}
|
||||
<button type="submit" class="btn btn-block btn-info">
|
||||
{% trans "Sign up"%}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
<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 class="auth-container auth-signup">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="auth-center ">
|
||||
<div class="auth-content">
|
||||
<div class="auth-box sign-up">
|
||||
<h1 class="section-heading allcaps">{% trans "Sign up" %}</h1>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
<form action="{% url 'hosting:signup' %}" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
{% endfor %}
|
||||
<div class="text-center">
|
||||
<button type="submit" class="btn choice-btn">
|
||||
{% trans "Sign up" %}
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="auth-footer">
|
||||
<div>
|
||||
<span>{% trans "Already have an account ?" %}</span>
|
||||
<a href="{% url 'hosting:login' %}">{% trans "Login" %}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,21 +6,17 @@
|
|||
{% endblock navbar %}
|
||||
|
||||
{% block content %}
|
||||
<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>
|
||||
{% include 'hosting/includes/_messages.html' %}
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="auth-center">
|
||||
<div class="auth-content wide">
|
||||
<div class="intro-message auth-box sign-up">
|
||||
<h2 class="section-heading">{{section_title}}</h2>
|
||||
<h2 class="section-heading">{{section_title}}</h2>
|
||||
<div class="sign-up-message">
|
||||
{{message}}
|
||||
{{message}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -267,6 +267,8 @@ class SignupValidatedView(SignupValidateView):
|
|||
login_url = '<a href="' + \
|
||||
reverse('hosting:login') + '">' + str(_('login')) + '</a>'
|
||||
section_title = _('Account activation')
|
||||
user = CustomUser.objects.filter(
|
||||
validation_slug=self.kwargs['validate_slug']).first()
|
||||
if validated:
|
||||
message = ('{account_activation_string} <br />'
|
||||
' {login_string} {lurl}.').format(
|
||||
|
@ -274,6 +276,21 @@ class SignupValidatedView(SignupValidateView):
|
|||
"Your account has been activated."),
|
||||
login_string=_("You can now"),
|
||||
lurl=login_url)
|
||||
email_data = {
|
||||
'subject': _('Welcome to Data Center Light!'),
|
||||
'to': user.email,
|
||||
'context': {
|
||||
'base_url': "{0}://{1}".format(
|
||||
self.request.scheme,
|
||||
self.request.get_host()
|
||||
)
|
||||
},
|
||||
'template_name': 'welcome_user',
|
||||
'template_path': 'datacenterlight/emails/',
|
||||
'from_address': settings.DCL_SUPPORT_FROM_ADDRESS,
|
||||
}
|
||||
email = BaseEmail(**email_data)
|
||||
email.send()
|
||||
else:
|
||||
home_url = '<a href="' + \
|
||||
reverse('datacenterlight:index') + \
|
||||
|
@ -685,6 +702,7 @@ class OrdersHostingDetailView(LoginRequiredMixin,
|
|||
disk_size=context['vm']['disk_size'],
|
||||
memory=context['vm']['memory']
|
||||
)
|
||||
context['subscription_end_date'] = vm_detail.end_date()
|
||||
except VMDetail.DoesNotExist:
|
||||
try:
|
||||
manager = OpenNebulaManager(
|
||||
|
@ -1047,6 +1065,7 @@ class VirtualMachineView(LoginRequiredMixin, View):
|
|||
|
||||
try:
|
||||
vm_data = VirtualMachineSerializer(manager.get_vm(vm.id)).data
|
||||
vm_name = vm_data.get('name')
|
||||
except WrongIdError:
|
||||
return redirect(reverse('hosting:virtual_machines'))
|
||||
|
||||
|
@ -1072,10 +1091,11 @@ class VirtualMachineView(LoginRequiredMixin, View):
|
|||
else:
|
||||
sleep(2)
|
||||
context = {
|
||||
'vm': vm_data,
|
||||
'vm_name': vm_name,
|
||||
'base_url': "{0}://{1}".format(self.request.scheme,
|
||||
self.request.get_host()),
|
||||
'page_header': _('Virtual Machine Cancellation')
|
||||
'page_header': _('Virtual Machine %(vm_name)s Cancelled') % {
|
||||
'vm_name': vm_name}
|
||||
}
|
||||
email_data = {
|
||||
'subject': context['page_header'],
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-23 02:05+0530\n"
|
||||
"POT-Creation-Date: 2017-10-10 21:35+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -18,42 +18,35 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: forms.py:43
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:43
|
||||
msgid "Card number"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:43
|
||||
msgid "Expiry date"
|
||||
msgstr ""
|
||||
|
||||
#: forms.py:44
|
||||
msgid "CCV"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:66
|
||||
msgid "staff status"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:68
|
||||
msgid "Designates whether the user can log into this admin site."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:90
|
||||
msgid "Activate your "
|
||||
msgstr "Aktiviere deinen "
|
||||
msgid "Account Activation"
|
||||
msgstr ""
|
||||
|
||||
#: models.py:90
|
||||
msgid " account"
|
||||
msgstr " Account"
|
||||
|
||||
#: models.py:198
|
||||
msgid "Use this pattern(MM/YYYY)."
|
||||
msgstr ""
|
||||
|
||||
#: models.py:199
|
||||
msgid "Wrong CCV number."
|
||||
msgstr ""
|
||||
|
||||
#~ msgid "Activate your "
|
||||
#~ msgstr "Aktiviere deinen "
|
||||
|
||||
#~ msgid " account"
|
||||
#~ msgstr " Account"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-05-30 13:47+0000\n"
|
||||
"POT-Creation-Date: 2017-10-13 02:21+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -18,165 +18,192 @@ msgstr ""
|
|||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:8
|
||||
msgid "Toggle navigation"
|
||||
msgstr "Umschalten"
|
||||
|
||||
msgid "CONTACT"
|
||||
msgstr "KONTAKT"
|
||||
|
||||
msgid "HIGH SPEED INTERNET"
|
||||
msgstr ""
|
||||
|
||||
msgid "Thank you for contacting us."
|
||||
msgstr "Nachricht gesendet."
|
||||
|
||||
msgid "Your message was successfully sent to our team."
|
||||
msgstr "Vielen Dank für Deine Nachricht."
|
||||
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please enter your name."
|
||||
msgstr "Bitte gib Deinen Namen ein."
|
||||
|
||||
msgid "Email"
|
||||
msgstr "E-Mail-Adresse"
|
||||
|
||||
msgid "Please enter a valid email address."
|
||||
msgstr "Bitte gib eine gültige E-Mailadresse ein."
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Nachricht"
|
||||
|
||||
msgid "Sorry, there was an unexpected error. Kindly retry."
|
||||
msgstr ""
|
||||
"Bitte entschuldige, es scheint ein unerwarteter Fehler aufgetreten zu sein. "
|
||||
"Versuche es doch bitte noch einmal."
|
||||
|
||||
msgid "SUBMIT"
|
||||
msgstr "ABSENDEN"
|
||||
|
||||
msgid "ABOUT"
|
||||
msgstr "Über ungleich"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:9
|
||||
msgid "The timeline of ungleich"
|
||||
msgstr "Die Chronik von ungleich"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:24
|
||||
msgid "The first incarnation of ungleich"
|
||||
msgstr "Die erste Inkarnation von ungleich"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:25
|
||||
msgid "in Germany"
|
||||
msgstr "in Deutschland"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:37
|
||||
msgid "ungleich founded"
|
||||
msgstr "ungleich gegründet"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:38
|
||||
msgid "in Switzerland"
|
||||
msgstr "in der Schweiz"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:51
|
||||
msgid "ungleich present at various conferences"
|
||||
msgstr "ungleich präsent an mehreren Konferenzen"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:65
|
||||
msgid "ungleich introduces HA-Hosting"
|
||||
msgstr "ungleich führt HA-Hosting ein"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:66
|
||||
msgid "and introduces affordable 24X7 support."
|
||||
msgstr "und führt kostengünstigen 24X7 Support ein."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:67
|
||||
msgid "ungleich launches"
|
||||
msgstr "ungleich lanciert"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:68
|
||||
msgid "Digital Glarus project"
|
||||
msgstr "Digital Glarus Projekt"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:74
|
||||
msgid ""
|
||||
"ungleich launches <a href=\"https://www.alplora.ch/de/\">Alplora</a>, an "
|
||||
"animal tracking service with LoraWAN technology."
|
||||
msgstr ""
|
||||
"ungleich startet das Projekt <a href=\"https://www.alplora.ch/de/\">AlpLora</"
|
||||
"a>, mit dem Tiere via LoRaWAN geortet werden können"
|
||||
|
||||
msgid ""
|
||||
"ungleich sells <a href=\"https://www.alplora.ch/de/\">Alplora</a> to an IoT "
|
||||
"startup in canton Zürich."
|
||||
msgstr ""
|
||||
"ungleich verkauft das Projekt <a href=\"https://www.alplora.ch/de/"
|
||||
"\">AlpLora</a> an ein IoT-Startup aus dem Kanton Zürich"
|
||||
|
||||
msgid ""
|
||||
"ungleich showcases the most affordable Swiss VM hosting, Data Center Light."
|
||||
msgstr ""
|
||||
"ungleich stellt der Öffentlichkeit das modernste Schweizer Hosting vor, das "
|
||||
"Data Center Light."
|
||||
|
||||
msgid "and"
|
||||
msgstr "und"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_about.html:74
|
||||
msgid "the story continues!"
|
||||
msgstr "Die Geschichte geht weiter!"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:15
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:28
|
||||
#: ungleich_page/views.py:36
|
||||
msgid "Contact Us"
|
||||
msgstr "Kontaktieren Sie uns"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:18
|
||||
msgid "Join us at"
|
||||
msgstr "Schliessen Sie sich uns an"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:19
|
||||
msgid "Digital Glarus"
|
||||
msgstr "Digital Glarus"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:20
|
||||
msgid "a great co-working space in the middle of Alps!"
|
||||
msgstr "ein wunderschöner Co-Working Space mitten in den Alpen"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:21
|
||||
msgid "You can contact us at"
|
||||
msgstr "Sie können uns kontaktieren unter"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:26
|
||||
msgid "or"
|
||||
msgstr "oder"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_contact_us.html:60
|
||||
msgid "Submit"
|
||||
msgstr "Absenden"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_footer.html:8
|
||||
msgid "Copyright © ungleich GmbH "
|
||||
msgstr "Copyright © ungleich GmbH"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_footer.html:22
|
||||
msgid "ungleich Home"
|
||||
msgstr "ungleich Home"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_header.html:11
|
||||
msgid "We Design, Configure & Maintain <br> Your Linux Infrastructure "
|
||||
msgstr "Wir designen, erstellen und warten Ihre Linux-Infrastruktur"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:8
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:9
|
||||
msgid "Hosting Products "
|
||||
msgstr "Hosting Produkte"
|
||||
msgid "Our Products"
|
||||
msgstr "Unsere Produkte"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:16
|
||||
msgid "HA Hosting"
|
||||
msgstr "HA Hosting"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:18
|
||||
msgid ""
|
||||
"We offer high availablity hosting (HA) in Germany and in Switzerland. Our "
|
||||
"infrastructure is powered by Free and Open Source Software like OpenNebula, "
|
||||
"Qemu and GlusterFS."
|
||||
"Our products include an innovative datacenter,<br>affordable VM hosting, and "
|
||||
"high speed fiber internet for canton Glarus."
|
||||
msgstr ""
|
||||
"Wir offerieren hohe Verfügbarkeit für das Hosting in Deutschland und in der "
|
||||
"Schweiz. Unsere Infrastruktur ist unterstützt durch Free and Open Source "
|
||||
"Software wie OpenNebula."
|
||||
"Zu unseren Produkten gehört ein innovatives Rechenzentrum,<br>modernes VM-"
|
||||
"Hosting und Glasfaser-Internet für den Kanton Glarus."
|
||||
|
||||
msgid "Data Center Light"
|
||||
msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"We offer the most affordable hosting in Switzerland. Data Center Light has "
|
||||
"full FOSS stack, 100%% IPv6 and 100%% SSD. Choose any configuration among "
|
||||
"CentOS, Debian, Ubuntu, Devuan, and FreeBSD."
|
||||
msgstr ""
|
||||
"Wir bieten Ihnen ein erschwingliches Hosting in der Schweiz. Data Center "
|
||||
"Light basiert auf FOSS Software, 100%% IPv6 und 100%% SSD. Wählen Sie eine "
|
||||
"beliebige Konfiguration unter CentOS, Debian, Ubuntu, Devuan oder FreeBSD."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:24
|
||||
msgid "Rails Hosting"
|
||||
msgstr "Rails Hosting"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:26
|
||||
msgid ""
|
||||
"Ready to go live with your Ruby on Rails application? We offer you ready-to-"
|
||||
"deploy virtual machines or configure your existing infrastructure for Ruby "
|
||||
"on Rails."
|
||||
msgstr "Sind bereit mit ihrem Ruby on Rails Applikation live zu gehen?"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:32
|
||||
msgid " Configuration as a Service"
|
||||
msgstr "Konfiguration als Service"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_portfolio.html:34
|
||||
msgid ""
|
||||
"You are in need for a configuration?<br>With ungleich you have found an "
|
||||
"experienced team that configure your systems to provide service like DNS, E-"
|
||||
"Mail, Databases or Webservers."
|
||||
msgid "High Speed Internet"
|
||||
msgstr ""
|
||||
"Sie brauchen eine Konfiguration? Mit ungleich haben sie ein erfahrenes Team "
|
||||
"gefunden, dass ihnen die Konfiguration von DNS, E-Mail, Datenbanken oder "
|
||||
"Webservern für ihr System anbietet"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:8
|
||||
msgid ""
|
||||
"We offer high speed fiber internet in Glarus Süd, Glarus and Glarus Nord. "
|
||||
"Experience 100 Mbit/s and see how speed can change everything."
|
||||
msgstr ""
|
||||
"Wir bieten außerdem Hochgeschwindigkeitsfaser Internet in Glarus Süd, Glarus "
|
||||
"und Glarus Nord. Surfen Sie mit 100 Mbit/s und erleben Sie, wie "
|
||||
"Geschwindigkeit alles ändern kann."
|
||||
|
||||
msgid "our services"
|
||||
msgstr "Unsere Dienstleistungen"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:10
|
||||
msgid "We support our clients in all areas of Unix infrastructure."
|
||||
msgstr ""
|
||||
"Wir unterstützen unsere Klienten in allen Bereichen der Unix Infrastruktur."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:11
|
||||
msgid ""
|
||||
"Our top notch configuration management is refreshingly simple and reliable."
|
||||
msgstr ""
|
||||
"Unser erstklassiges Konfigurationsmanagement ist erfrischend einfach und "
|
||||
"zuverlässig."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:20
|
||||
msgid "Hosting"
|
||||
msgstr "Hosting"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:22
|
||||
msgid ""
|
||||
"Ruby on Rails. Java hosting, Django hosting, we make it everything run "
|
||||
"smooth and safe."
|
||||
|
@ -184,11 +211,9 @@ msgstr ""
|
|||
"Ruby on Rails. Java hosting, Django hosting, wir garantieren einen "
|
||||
"reibungslosen Ablauf"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:30
|
||||
msgid "Configuration as a Service"
|
||||
msgstr "Konfiguration als Service"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:32
|
||||
msgid ""
|
||||
"Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that "
|
||||
"needs to configured, we provide comprehensive solutions. Amazon, rackspace "
|
||||
|
@ -198,11 +223,9 @@ msgstr ""
|
|||
"welche eine Konfiguration braucht, wir offerieren umfassende Lösungen, "
|
||||
"Amazon, Rackspace oder Bare Metal Servers, wir konfigurieren alles."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:40
|
||||
msgid "Linux System Engineering"
|
||||
msgstr "Linux System Engineering"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_services.html:43
|
||||
msgid ""
|
||||
"Let your developers develop! We take care of your system administration. "
|
||||
"Gentoo, Archlinux, Debian, Ubuntu, and many more."
|
||||
|
@ -210,15 +233,12 @@ msgstr ""
|
|||
"Lassen sie ihre Entwickler entwickeln! Wir kümmern uns um ihre "
|
||||
"Systemadministration. Gentoo, Archlinux, Debian, Ubuntu und viele mehr."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:8
|
||||
msgid "Why ungleich?*"
|
||||
msgstr "Warum ungleich?"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:9
|
||||
msgid "What our customers say"
|
||||
msgstr "Was unsere Kunden sagen"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:29
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\t \"ungleich helped us getting started with our internal\n"
|
||||
|
@ -247,7 +267,6 @@ msgstr ""
|
|||
"Infrastruktur-Einrichtung erhalten, welche es unseren Technikern ermöglicht "
|
||||
"effizienter und bequemer zu arbeiten als zuvor."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:51
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\t \"Thanks to ungleich team, who has designed and\n"
|
||||
|
@ -265,7 +284,6 @@ msgstr ""
|
|||
"nur in der Kosteneinsparung aber auch zur Zeiteinsparung, was für IT-Firmen "
|
||||
"sehr wichtig ist."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:67
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\t \"ungleich provided an excellent service in designing\n"
|
||||
|
@ -292,7 +310,6 @@ msgstr ""
|
|||
"allen Firmen empfehlen, bei denen eine solide Infrastruktur stark gefragt "
|
||||
"ist."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:82
|
||||
msgid ""
|
||||
"\n"
|
||||
"\t\t\t <strong>- Sebastian Plattner,</strong>\n"
|
||||
|
@ -300,52 +317,60 @@ msgid ""
|
|||
"\t\t\t "
|
||||
msgstr ""
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/includes/_team.html:95
|
||||
msgid "*ungleich means not equal to (≠) U+2260."
|
||||
msgstr "*ungleich bedeutet nicht gleich wie (≠) U+2260."
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:85
|
||||
#, fuzzy
|
||||
#| msgid "our services"
|
||||
msgid "Services"
|
||||
msgstr "Unsere Dienstleistungen"
|
||||
msgstr "Dienstleistungen"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:90
|
||||
msgid "products"
|
||||
msgstr "PRODUKTE"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:93
|
||||
msgid "About"
|
||||
msgstr "Über"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:96
|
||||
msgid "WHY UNGLEICH?"
|
||||
msgstr "WARUM UNGLEICH?"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:99
|
||||
msgid "BLOG"
|
||||
msgstr "BLOG"
|
||||
|
||||
#: ungleich_page/templates/ungleich_page/landing.html:102
|
||||
msgid "CONTACT"
|
||||
msgstr "KONTAKT"
|
||||
|
||||
#: ungleich_page/urls.py:8
|
||||
#, fuzzy
|
||||
#| msgid "Contact Us"
|
||||
msgid "contact/$"
|
||||
msgstr "Kontaktieren Sie uns"
|
||||
msgstr "kontakt/$"
|
||||
|
||||
#: ungleich_page/views.py:26
|
||||
msgid "Message Successfully Sent"
|
||||
msgstr "Nachricht erfolgreich versendet"
|
||||
|
||||
#: ungleich_page/views.py:37
|
||||
msgid "If you have any question, just send us an email."
|
||||
msgstr ""
|
||||
"Wenn Sie irgendwelche Fragen haben, schicken Sie uns einfach eine E-Mail."
|
||||
|
||||
#, fuzzy
|
||||
#~| msgid "Contact Us"
|
||||
#~ msgid "Hosting Products "
|
||||
#~ msgstr "Hosting Produkte"
|
||||
|
||||
#~ msgid "HA Hosting"
|
||||
#~ msgstr "HA Hosting"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "We offer high availablity hosting (HA) in Germany and in Switzerland. Our "
|
||||
#~ "infrastructure is powered by Free and Open Source Software like "
|
||||
#~ "OpenNebula, Qemu and GlusterFS."
|
||||
#~ msgstr ""
|
||||
#~ "Wir offerieren hohe Verfügbarkeit für das Hosting in Deutschland und in "
|
||||
#~ "der Schweiz. Unsere Infrastruktur ist unterstützt durch Free and Open "
|
||||
#~ "Source Software wie OpenNebula."
|
||||
|
||||
#~ msgid " Configuration as a Service"
|
||||
#~ msgstr "Konfiguration als Service"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "You are in need for a configuration?<br>With ungleich you have found an "
|
||||
#~ "experienced team that configure your systems to provide service like DNS, "
|
||||
#~ "E-Mail, Databases or Webservers."
|
||||
#~ msgstr ""
|
||||
#~ "Sie brauchen eine Konfiguration? Mit ungleich haben sie ein erfahrenes "
|
||||
#~ "Team gefunden, dass ihnen die Konfiguration von DNS, E-Mail, Datenbanken "
|
||||
#~ "oder Webservern für ihr System anbietet"
|
||||
|
||||
#~ msgid "Contact"
|
||||
#~ msgstr "Kontaktieren Sie uns"
|
||||
|
|
|
@ -418,7 +418,6 @@ section h3.section-subheading {
|
|||
|
||||
#portfolio .portfolio-item .portfolio-caption h4 {
|
||||
margin: 0;
|
||||
font-size: bold;
|
||||
text-transform: none;
|
||||
color: #494949;
|
||||
}
|
||||
|
|
224
ungleich_page/static/ungleich_page/css/glasfaser.css
Normal file
|
@ -0,0 +1,224 @@
|
|||
.topnav img {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.navbar-transparent #logoWhite {
|
||||
width: 140px;
|
||||
}
|
||||
.navbar-default {
|
||||
border-bottom: 1px solid #e7e7e7;
|
||||
}
|
||||
|
||||
.navbar-default .navbar-nav>li>a {
|
||||
text-transform: uppercase;
|
||||
font-weight: 400;
|
||||
letter-spacing: 1px;
|
||||
color: #777;
|
||||
}
|
||||
.navbar-transparent .navbar-nav>li>a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.navbar-transparent .navbar-nav>li>a:hover,
|
||||
.navbar-transparent .navbar-nav>li>a:focus,
|
||||
.navbar-transparent .navbar-nav>li>a:focus:active {
|
||||
color: #fed136;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.navbar-transparent {
|
||||
border-color: transparent;
|
||||
}
|
||||
|
||||
.navbar-transparent {
|
||||
background: rgba(0,0,0,0.05);
|
||||
box-shadow: 0 0 55px rgba(0,0,0,0.09);
|
||||
}
|
||||
}
|
||||
|
||||
.intro-header {
|
||||
background: url(../img/glasfaser/header-nico-sans.jpg) no-repeat center center;
|
||||
background-size: cover;
|
||||
background-position: left;
|
||||
background-color: rgb(118, 140, 163);
|
||||
background-attachment: fixed;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
padding-top: 70px;
|
||||
}
|
||||
|
||||
.intro-header:before {
|
||||
background: transparent;
|
||||
background: rgba(0,0,0,0.2);
|
||||
}
|
||||
|
||||
.price-tag-container {
|
||||
flex-grow: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
margin-right: 8%;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 20px;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.price-tag {
|
||||
background: url(../img/glasfaser/header-pricetag.png) no-repeat center center;
|
||||
height: 225px;
|
||||
width: 225px;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.high-speed {
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-bottom: 25px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.high-speed h1 {
|
||||
font-size: 32px;
|
||||
font-weight: 700;
|
||||
font-family: 'Open Sans Condensed';
|
||||
padding: 10px 15px 10px 0;
|
||||
text-shadow: 0px 2px 2px rgba(0,0,0,0.52);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.high-speed-border {
|
||||
background: #fff;
|
||||
height: 3px;
|
||||
position: absolute;
|
||||
right: 10px;
|
||||
left: 20px;
|
||||
}
|
||||
|
||||
.high-speed-border:first-of-type {
|
||||
width: 40%;
|
||||
left: initial;
|
||||
}
|
||||
|
||||
.high-speed-border:before {
|
||||
content: ' ';
|
||||
display: inline-block;
|
||||
height: 23px;
|
||||
width: 23px;
|
||||
border-radius: 100%;
|
||||
background: #fff;
|
||||
position: absolute;
|
||||
left: -5px;
|
||||
top: -10px;
|
||||
}
|
||||
|
||||
|
||||
.split-section .container {
|
||||
max-width: 1120px;
|
||||
}
|
||||
.split-section.right .container {
|
||||
max-width: 840px;
|
||||
}
|
||||
.split-section {
|
||||
padding: 90px 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
.split-section.right {
|
||||
padding: 100px 0;
|
||||
background: rgba(0,0,0,0.03);
|
||||
}
|
||||
.split-section.right .split-description {
|
||||
width: 100%;
|
||||
}
|
||||
.split-section .split-text .split-title h2,
|
||||
.split-section.left .split-text .split-title h2 {
|
||||
font-size: 40px;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
.split-section.left .split-text .split-title::before,
|
||||
.split-section.right .split-text .split-title::before {
|
||||
width: 90%;
|
||||
max-width: 420px;
|
||||
}
|
||||
|
||||
.team-member h4 {
|
||||
font-family: 'Raleway', Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
|
||||
font-weight: 700;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.timeline>li .timeline-panel {
|
||||
display: flex;
|
||||
min-height: 80px;
|
||||
align-items: center;
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.timeline>li.timeline-inverted>.timeline-panel {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
|
||||
.contact-section h2,
|
||||
.contact-section h3,
|
||||
.contact-section p {
|
||||
color: rgba(255,255,255,0.9);
|
||||
text-transform: initial;
|
||||
font-weight: 300;
|
||||
font-family: 'Lato';
|
||||
}
|
||||
|
||||
.contact-section p {
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
footer {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
@media(max-width: 767px) {
|
||||
.split-section .split-text .split-title h2,
|
||||
.split-section.left .split-text .split-title h2 {
|
||||
font-size: 32px;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
|
||||
@media(min-width: 768px) {
|
||||
section {
|
||||
padding: 90px 0;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.intro-header {
|
||||
align-items: flex-end;
|
||||
}
|
||||
.high-speed h1 {
|
||||
font-size: 88px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 768px) and (max-width: 991px) {
|
||||
.intro-header {
|
||||
background-position: -100px;
|
||||
background-size: auto 110%;
|
||||
}
|
||||
.price-tag {
|
||||
height: 240px;
|
||||
width: 240px;
|
||||
}
|
||||
.timeline>li .timeline-panel {
|
||||
min-height: 100px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 992px) {
|
||||
.price-tag {
|
||||
min-height: 320px;
|
||||
width: 320px;
|
||||
}
|
||||
.timeline>li .timeline-panel {
|
||||
min-height: 170px;
|
||||
}
|
||||
}
|
BIN
ungleich_page/static/ungleich_page/img/about/7.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
ungleich_page/static/ungleich_page/img/about/8.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
ungleich_page/static/ungleich_page/img/glasfaser/a.jpg
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
ungleich_page/static/ungleich_page/img/glasfaser/b.jpg
Normal file
After Width: | Height: | Size: 16 KiB |
|
@ -0,0 +1,66 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="196px"
|
||||
height="196px" viewBox="0 0 196 196" enable-background="new 0 0 196 196" xml:space="preserve">
|
||||
<g id="Layer_1">
|
||||
<g>
|
||||
<ellipse fill="#0D2849" cx="96.871" cy="97.632" rx="68.442" ry="67.431"/>
|
||||
|
||||
<ellipse opacity="0.57" fill="none" stroke="#47B9E8" stroke-width="2" stroke-miterlimit="10" cx="96.719" cy="97.321" rx="62.32" ry="61.179"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#47B9E8" d="M57.043,130.8c0-20.398,0-40.777,0-61.19
|
||||
c9.176,0,18.341,0,27.533,0c0-0.142-0.001-0.25,0-0.36c0.021-1.162,0.002-2.325,0.069-3.485c0.066-1.101,0.483-2.09,1.144-2.978
|
||||
c0.923-1.239,2.173-1.945,3.664-2.244c0.416-0.082,0.85-0.11,1.275-0.112c4.061-0.007,8.123-0.007,12.179-0.002
|
||||
c1.668,0.002,3.154,0.521,4.364,1.683c0.668,0.641,1.144,1.424,1.442,2.312c0.28,0.833,0.355,1.69,0.351,2.561
|
||||
c-0.007,0.865-0.003,1.73-0.003,2.616c9.187,0,18.341,0,27.523,0c0,20.406,0,40.794,0,61.201
|
||||
C110.086,130.8,83.578,130.8,57.043,130.8z M130.484,75.751c-22.465,0-44.889,0-67.331,0c0,0.123,0,0.224,0,0.325
|
||||
c0,5.925,0,11.853,0,17.78c0,0.212,0.001,0.428,0.019,0.641c0.138,1.929,0.936,3.506,2.536,4.634
|
||||
c1.15,0.811,2.456,1.086,3.846,1.086c18.178-0.003,36.358-0.002,54.534-0.003c0.225,0,0.449-0.002,0.672-0.018
|
||||
c1.933-0.139,3.509-0.933,4.638-2.529c0.8-1.132,1.091-2.417,1.091-3.785c-0.004-5.937-0.004-11.873-0.004-17.81
|
||||
C130.484,75.971,130.484,75.87,130.484,75.751z M130.469,104.805c-0.041,0.003-0.063,0-0.078,0.007
|
||||
c-1.979,1.076-4.105,1.528-6.347,1.528c-18.199-0.007-36.398-0.003-54.597-0.003c-1.986,0-3.885-0.378-5.675-1.264
|
||||
c-0.196-0.098-0.396-0.186-0.594-0.28c0,6.646,0,13.271,0,19.892c22.442,0,44.859,0,67.291,0
|
||||
C130.469,118.053,130.469,111.436,130.469,104.805z M90.708,69.586c4.091,0,8.154,0,12.215,0c0-1.017,0-2.012,0-3.011
|
||||
c-4.083,0-8.145,0-12.215,0C90.708,67.589,90.708,68.575,90.708,69.586z"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#0D2849" d="M130.484,75.751c0,0.119,0,0.22,0,0.321
|
||||
c0,5.937,0,11.873,0.004,17.81c0,1.369-0.291,2.653-1.091,3.785c-1.129,1.597-2.705,2.391-4.638,2.529
|
||||
c-0.223,0.016-0.447,0.018-0.672,0.018c-18.176,0.001-36.356,0-54.534,0.003c-1.39,0-2.695-0.275-3.846-1.086
|
||||
c-1.6-1.128-2.397-2.705-2.536-4.634c-0.017-0.213-0.019-0.428-0.019-0.641c0-5.928,0-11.855,0-17.78c0-0.101,0-0.202,0-0.325
|
||||
C85.595,75.751,108.02,75.751,130.484,75.751z M81.511,87.99c-2.049,0-4.07,0-6.093,0c0,3.061,0,6.104,0,9.138
|
||||
c2.043,0,4.064,0,6.093,0C81.511,94.078,81.511,91.05,81.511,87.99z M112.144,87.984c0,3.069,0,6.112,0,9.144
|
||||
c2.048,0,4.068,0,6.083,0c0-3.06,0-6.095,0-9.144C116.194,87.984,114.18,87.984,112.144,87.984z"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#0D2849" d="M130.469,104.805c0,6.631,0,13.248,0,19.88
|
||||
c-22.432,0-44.848,0-67.291,0c0-6.621,0-13.245,0-19.892c0.198,0.095,0.398,0.183,0.594,0.28c1.79,0.886,3.689,1.264,5.675,1.264
|
||||
c18.199,0,36.397-0.004,54.597,0.003c2.241,0,4.367-0.452,6.347-1.528C130.405,104.805,130.428,104.808,130.469,104.805z"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#0D2849" d="M90.708,69.586c0-1.011,0-1.997,0-3.011c4.07,0,8.132,0,12.215,0
|
||||
c0,1,0,1.995,0,3.011C98.862,69.586,94.799,69.586,90.708,69.586z"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#47B9E8" d="M81.511,87.99c0,3.06,0,6.088,0,9.138c-2.029,0-4.05,0-6.093,0
|
||||
c0-3.034,0-6.077,0-9.138C77.441,87.99,79.462,87.99,81.511,87.99z"/>
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#47B9E8" d="M112.144,87.984c2.036,0,4.051,0,6.083,0
|
||||
c0,3.049,0,6.084,0,9.144c-2.015,0-4.035,0-6.083,0C112.144,94.097,112.144,91.054,112.144,87.984z"/>
|
||||
</g>
|
||||
|
||||
<image display="none" overflow="visible" width="170" height="166" id="Layer_4_xA0_Image_1_" xlink:href="3DFCBC34760ACD66.png" transform="matrix(1 0 0 1 12.8145 16.6162)">
|
||||
</image>
|
||||
|
||||
<rect x="61.251" y="73.602" display="none" fill="none" stroke="#FFFFFF" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
|
||||
<rect x="103.226" y="74.338" display="none" fill="none" stroke="#FFFFFF" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
<rect x="72.665" y="85.384" display="none" fill="#FFFFFF" width="5.155" height="6.996"/>
|
||||
<rect x="72.665" y="107.477" display="none" fill="#FFFFFF" width="5.155" height="6.995"/>
|
||||
<rect x="103.226" y="97.321" display="none" fill="#FFFFFF" width="28.351" height="5"/>
|
||||
</g>
|
||||
<g id="Layer_2" display="none">
|
||||
<g display="inline">
|
||||
|
||||
<text transform="matrix(1 0 0 1 54.2861 73.6836)" fill="#FFFFFF" font-family="'HelveticaNeue-CondensedBold'" font-size="17.6318">IP-Adressen</text>
|
||||
<line fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="46.373" y1="116.581" x2="147.75" y2="116.581"/>
|
||||
<text transform="matrix(1 0 0 1 67.772 108.3828)" fill="#FFFFFF" font-family="'HelveticaNeue-Bold'" font-size="26.4477">IPv6</text>
|
||||
<line fill="none" stroke="#FFFFFF" stroke-width="2" stroke-miterlimit="10" x1="46.373" y1="81.142" x2="147.75" y2="81.142"/>
|
||||
</g>
|
||||
|
||||
<text transform="matrix(1 0 0 1 67.772 141.3809)" display="inline" fill="#FFFFFF" font-family="'HelveticaNeue-Bold'" font-size="26.4477">IPv4</text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 5.3 KiB |
BIN
ungleich_page/static/ungleich_page/img/glasfaser/c.jpg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
ungleich_page/static/ungleich_page/img/glasfaser/d.jpg
Normal file
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 108 KiB |
168
ungleich_page/static/ungleich_page/img/glasfaser/ip.svg
Normal file
|
@ -0,0 +1,168 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="196px" height="196px" viewBox="0 0 196 196" enable-background="new 0 0 196 196" xml:space="preserve">
|
||||
<g id="Layer_1_1_">
|
||||
<g>
|
||||
<ellipse fill="#0D2849" cx="96.871" cy="97.632" rx="68.441" ry="67.431"/>
|
||||
|
||||
<ellipse opacity="0.57" fill="none" stroke="#47B9E8" stroke-width="2" stroke-miterlimit="10" enable-background="new " cx="96.719" cy="97.321" rx="62.32" ry="61.179"/>
|
||||
</g>
|
||||
<g display="none">
|
||||
<path display="inline" fill="#FFFFFF" d="M57.043,130.8c0-20.397,0-40.777,0-61.19c9.176,0,18.341,0,27.533,0
|
||||
c0-0.142-0.001-0.25,0-0.36c0.021-1.162,0.002-2.325,0.069-3.485c0.066-1.101,0.483-2.09,1.144-2.978
|
||||
c0.923-1.239,2.173-1.945,3.664-2.244c0.416-0.082,0.85-0.11,1.275-0.112c4.061-0.007,8.124-0.007,12.179-0.002
|
||||
c1.668,0.002,3.153,0.521,4.364,1.683c0.668,0.641,1.144,1.424,1.441,2.312c0.28,0.833,0.355,1.69,0.352,2.561
|
||||
c-0.008,0.865-0.004,1.73-0.004,2.616c9.188,0,18.342,0,27.523,0c0,20.406,0,40.793,0,61.201
|
||||
C110.086,130.8,83.578,130.8,57.043,130.8z M130.484,75.751c-22.465,0-44.889,0-67.332,0c0,0.123,0,0.224,0,0.325
|
||||
c0,5.925,0,11.853,0,17.78c0,0.212,0.001,0.428,0.019,0.641c0.138,1.929,0.936,3.506,2.536,4.634
|
||||
c1.15,0.811,2.456,1.086,3.846,1.086c18.178-0.003,36.358-0.002,54.534-0.003c0.225,0,0.449-0.002,0.672-0.019
|
||||
c1.934-0.139,3.51-0.932,4.639-2.528c0.8-1.132,1.09-2.417,1.09-3.785c-0.004-5.937-0.004-11.873-0.004-17.81
|
||||
C130.484,75.971,130.484,75.87,130.484,75.751z M130.469,104.805c-0.041,0.004-0.062,0-0.078,0.008
|
||||
c-1.979,1.076-4.104,1.527-6.347,1.527c-18.198-0.007-36.398-0.003-54.597-0.003c-1.986,0-3.885-0.378-5.675-1.264
|
||||
c-0.196-0.099-0.396-0.187-0.594-0.28c0,6.646,0,13.271,0,19.893c22.442,0,44.859,0,67.291,0
|
||||
C130.469,118.053,130.469,111.436,130.469,104.805z M90.708,69.586c4.091,0,8.153,0,12.215,0c0-1.017,0-2.012,0-3.011
|
||||
c-4.083,0-8.145,0-12.215,0C90.708,67.589,90.708,68.575,90.708,69.586z"/>
|
||||
<path display="inline" fill="#3077A3" d="M130.484,75.751c0,0.119,0,0.22,0,0.321c0,5.937,0,11.873,0.004,17.81
|
||||
c0,1.369-0.291,2.653-1.092,3.785c-1.129,1.597-2.705,2.392-4.638,2.528c-0.223,0.017-0.446,0.019-0.672,0.019
|
||||
c-18.176,0.001-36.356,0-54.534,0.003c-1.39,0-2.695-0.275-3.846-1.086c-1.6-1.128-2.397-2.705-2.536-4.634
|
||||
c-0.017-0.213-0.019-0.428-0.019-0.641c0-5.928,0-11.855,0-17.78c0-0.101,0-0.202,0-0.325
|
||||
C85.595,75.751,108.02,75.751,130.484,75.751z M81.511,87.99c-2.049,0-4.07,0-6.093,0c0,3.061,0,6.104,0,9.138
|
||||
c2.043,0,4.064,0,6.093,0C81.511,94.078,81.511,91.05,81.511,87.99z M112.145,87.984c0,3.069,0,6.112,0,9.144
|
||||
c2.047,0,4.067,0,6.082,0c0-3.06,0-6.095,0-9.144C116.193,87.984,114.18,87.984,112.145,87.984z"/>
|
||||
<path display="inline" fill="#3077A3" d="M130.469,104.805c0,6.631,0,13.248,0,19.881c-22.432,0-44.848,0-67.291,0
|
||||
c0-6.621,0-13.246,0-19.893c0.198,0.096,0.398,0.184,0.594,0.28c1.79,0.886,3.689,1.264,5.675,1.264
|
||||
c18.199,0,36.397-0.004,54.597,0.003c2.241,0,4.367-0.451,6.347-1.527C130.404,104.805,130.428,104.809,130.469,104.805z"/>
|
||||
<path display="inline" fill="#3077A3" d="M90.708,69.586c0-1.011,0-1.997,0-3.011c4.07,0,8.132,0,12.215,0c0,1,0,1.995,0,3.011
|
||||
C98.861,69.586,94.799,69.586,90.708,69.586z"/>
|
||||
<path display="inline" fill="#FFFFFF" d="M81.511,87.99c0,3.06,0,6.088,0,9.138c-2.029,0-4.05,0-6.093,0c0-3.034,0-6.077,0-9.138
|
||||
C77.441,87.99,79.462,87.99,81.511,87.99z"/>
|
||||
<path display="inline" fill="#FFFFFF" d="M112.145,87.984c2.035,0,4.051,0,6.082,0c0,3.049,0,6.084,0,9.144
|
||||
c-2.015,0-4.035,0-6.082,0C112.145,94.097,112.145,91.054,112.145,87.984z"/>
|
||||
</g>
|
||||
|
||||
<image display="none" overflow="visible" enable-background="new " width="171" height="167" id="Layer_4_xA0_Image_2_" xlink:href="B1D654609C24A42D.png" transform="matrix(0.9941 0 0 0.9941 12.8198 16.6104)">
|
||||
</image>
|
||||
|
||||
<rect x="61.251" y="73.602" display="none" fill="none" stroke="#FFFFFF" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
|
||||
<rect x="103.227" y="74.338" display="none" fill="none" stroke="#FFFFFF" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
<rect x="72.665" y="85.384" display="none" fill="#FFFFFF" width="5.155" height="6.996"/>
|
||||
<rect x="72.665" y="107.477" display="none" fill="#FFFFFF" width="5.155" height="6.996"/>
|
||||
<rect x="103.227" y="97.321" display="none" fill="#FFFFFF" width="28.351" height="5"/>
|
||||
</g>
|
||||
<g id="Layer_2">
|
||||
<g>
|
||||
<g enable-background="new ">
|
||||
<path fill="#47B9E8" d="M55.291,61.095h2.539v12.589h-2.539V61.095z"/>
|
||||
<path fill="#47B9E8" d="M64.16,61.095c0.646,0,1.19,0.108,1.631,0.326c0.441,0.218,0.796,0.502,1.067,0.854
|
||||
c0.271,0.354,0.464,0.756,0.582,1.208c0.117,0.453,0.176,0.914,0.176,1.385c0,0.646-0.097,1.21-0.291,1.692
|
||||
c-0.194,0.481-0.464,0.876-0.811,1.181c-0.347,0.307-0.767,0.535-1.261,0.688c-0.494,0.152-1.04,0.229-1.64,0.229h-1.358v5.025
|
||||
h-2.539V61.095H64.16z M63.384,66.79c0.505,0,0.914-0.153,1.226-0.459s0.467-0.781,0.467-1.428c0-0.635-0.135-1.117-0.406-1.446
|
||||
s-0.723-0.493-1.357-0.493h-1.058v3.826H63.384z"/>
|
||||
<path fill="#47B9E8" d="M73.734,69.628h-4.972v-2.08h4.972V69.628z"/>
|
||||
<path fill="#47B9E8" d="M80.98,61.095l3.333,12.589h-2.645l-0.582-2.662h-3.35l-0.582,2.662H74.51l3.333-12.589H80.98z
|
||||
M80.646,68.94l-1.216-5.659h-0.036l-1.216,5.659H80.646z"/>
|
||||
<path fill="#47B9E8" d="M89.955,72.679c-0.271,0.446-0.573,0.758-0.908,0.935c-0.335,0.176-0.75,0.265-1.243,0.265
|
||||
c-1,0-1.734-0.382-2.204-1.146c-0.47-0.764-0.705-2.027-0.705-3.791c0-1.763,0.235-3.035,0.705-3.817
|
||||
c0.47-0.781,1.205-1.172,2.204-1.172c0.458,0,0.849,0.094,1.172,0.282c0.323,0.188,0.614,0.47,0.873,0.846h0.035v-3.984h2.433
|
||||
v12.589H89.99v-1.005H89.955z M87.566,71.276c0.159,0.523,0.502,0.785,1.032,0.785c0.541,0,0.89-0.262,1.049-0.785
|
||||
c0.159-0.522,0.238-1.301,0.238-2.336c0-1.034-0.08-1.812-0.238-2.336s-0.508-0.785-1.049-0.785
|
||||
c-0.529,0-0.873,0.262-1.032,0.785s-0.238,1.302-0.238,2.336C87.328,69.976,87.407,70.754,87.566,71.276z"/>
|
||||
<path fill="#47B9E8" d="M96.268,64.197v1.27h0.035c0.247-0.458,0.546-0.825,0.899-1.102c0.353-0.276,0.782-0.414,1.287-0.414
|
||||
c0.071,0,0.144,0.003,0.22,0.009s0.15,0.015,0.221,0.026v2.327c-0.129-0.012-0.256-0.021-0.379-0.026
|
||||
c-0.124-0.006-0.25-0.009-0.379-0.009c-0.211,0-0.423,0.029-0.635,0.088c-0.211,0.06-0.405,0.156-0.582,0.291
|
||||
c-0.176,0.136-0.317,0.312-0.423,0.529c-0.105,0.218-0.159,0.484-0.159,0.802v5.695H93.94v-9.486H96.268z"/>
|
||||
<path fill="#47B9E8" d="M101.892,70.069c0,0.282,0.021,0.555,0.062,0.819s0.109,0.5,0.203,0.705
|
||||
c0.094,0.206,0.217,0.371,0.37,0.494s0.341,0.186,0.564,0.186c0.411,0,0.711-0.147,0.899-0.441
|
||||
c0.188-0.293,0.316-0.74,0.388-1.34h2.187c-0.047,1.105-0.342,1.945-0.882,2.521c-0.541,0.576-1.394,0.864-2.557,0.864
|
||||
c-0.882,0-1.569-0.147-2.063-0.441c-0.493-0.293-0.857-0.682-1.093-1.163c-0.235-0.482-0.379-1.023-0.433-1.622
|
||||
c-0.053-0.6-0.078-1.199-0.078-1.799c0-0.635,0.043-1.246,0.132-1.834c0.088-0.588,0.265-1.11,0.528-1.569
|
||||
c0.266-0.458,0.645-0.822,1.138-1.093s1.151-0.405,1.975-0.405c0.706,0,1.284,0.114,1.737,0.344
|
||||
c0.452,0.229,0.808,0.553,1.066,0.97c0.258,0.417,0.435,0.923,0.529,1.516c0.094,0.594,0.141,1.255,0.141,1.984v0.546h-4.813
|
||||
V70.069z M104.307,66.904c-0.035-0.276-0.097-0.512-0.185-0.705c-0.089-0.194-0.212-0.341-0.37-0.441
|
||||
c-0.158-0.1-0.361-0.149-0.608-0.149s-0.45,0.056-0.608,0.167c-0.158,0.112-0.285,0.259-0.379,0.441
|
||||
c-0.094,0.182-0.162,0.385-0.203,0.608c-0.041,0.223-0.062,0.446-0.062,0.67v0.37h2.486
|
||||
C104.365,67.501,104.342,67.181,104.307,66.904z"/>
|
||||
<path fill="#47B9E8" d="M109.756,70.897c0,0.412,0.107,0.744,0.326,0.996c0.217,0.253,0.531,0.38,0.943,0.38
|
||||
c0.375,0,0.676-0.095,0.898-0.282c0.224-0.188,0.336-0.471,0.336-0.847c0-0.306-0.089-0.538-0.266-0.696
|
||||
c-0.176-0.159-0.381-0.285-0.617-0.379l-1.709-0.617c-0.671-0.235-1.176-0.567-1.518-0.996c-0.34-0.43-0.511-0.979-0.511-1.648
|
||||
c0-0.389,0.064-0.756,0.194-1.103c0.129-0.347,0.334-0.649,0.617-0.908c0.281-0.258,0.643-0.464,1.084-0.617
|
||||
c0.441-0.152,0.973-0.229,1.596-0.229c1.104,0,1.922,0.235,2.451,0.705c0.528,0.47,0.793,1.135,0.793,1.992v0.388h-2.187
|
||||
c0-0.493-0.079-0.854-0.237-1.084c-0.159-0.229-0.438-0.344-0.838-0.344c-0.307,0-0.573,0.085-0.803,0.256
|
||||
c-0.229,0.17-0.344,0.426-0.344,0.767c0,0.235,0.074,0.447,0.221,0.635c0.146,0.188,0.426,0.347,0.838,0.476l1.463,0.494
|
||||
c0.764,0.259,1.305,0.597,1.622,1.014c0.317,0.418,0.476,0.984,0.476,1.701c0,0.506-0.088,0.943-0.264,1.314
|
||||
c-0.176,0.37-0.42,0.679-0.732,0.925c-0.311,0.247-0.682,0.424-1.11,0.529s-0.902,0.159-1.419,0.159
|
||||
c-0.682,0-1.25-0.065-1.701-0.194c-0.453-0.129-0.812-0.323-1.076-0.582c-0.265-0.258-0.449-0.573-0.555-0.943
|
||||
c-0.106-0.37-0.159-0.784-0.159-1.243V70.58h2.187V70.897z"/>
|
||||
<path fill="#47B9E8" d="M117.584,70.897c0,0.412,0.107,0.744,0.326,0.996c0.217,0.253,0.531,0.38,0.943,0.38
|
||||
c0.375,0,0.676-0.095,0.898-0.282c0.224-0.188,0.336-0.471,0.336-0.847c0-0.306-0.089-0.538-0.266-0.696
|
||||
c-0.176-0.159-0.381-0.285-0.617-0.379l-1.709-0.617c-0.671-0.235-1.176-0.567-1.518-0.996c-0.34-0.43-0.511-0.979-0.511-1.648
|
||||
c0-0.389,0.064-0.756,0.194-1.103c0.129-0.347,0.334-0.649,0.617-0.908c0.281-0.258,0.643-0.464,1.084-0.617
|
||||
c0.441-0.152,0.973-0.229,1.596-0.229c1.104,0,1.922,0.235,2.451,0.705c0.528,0.47,0.793,1.135,0.793,1.992v0.388h-2.187
|
||||
c0-0.493-0.079-0.854-0.237-1.084c-0.159-0.229-0.438-0.344-0.838-0.344c-0.307,0-0.573,0.085-0.803,0.256
|
||||
c-0.229,0.17-0.344,0.426-0.344,0.767c0,0.235,0.074,0.447,0.221,0.635c0.146,0.188,0.426,0.347,0.838,0.476l1.463,0.494
|
||||
c0.764,0.259,1.305,0.597,1.622,1.014c0.317,0.418,0.476,0.984,0.476,1.701c0,0.506-0.088,0.943-0.264,1.314
|
||||
c-0.176,0.37-0.42,0.679-0.732,0.925c-0.311,0.247-0.682,0.424-1.11,0.529s-0.902,0.159-1.419,0.159
|
||||
c-0.682,0-1.25-0.065-1.701-0.194c-0.453-0.129-0.812-0.323-1.076-0.582c-0.265-0.258-0.449-0.573-0.555-0.943
|
||||
c-0.106-0.37-0.159-0.784-0.159-1.243V70.58h2.187V70.897z"/>
|
||||
<path fill="#47B9E8" d="M125.711,70.069c0,0.282,0.021,0.555,0.062,0.819s0.108,0.5,0.203,0.705
|
||||
c0.094,0.206,0.217,0.371,0.369,0.494c0.153,0.123,0.342,0.186,0.564,0.186c0.412,0,0.711-0.147,0.899-0.441
|
||||
c0.188-0.293,0.317-0.74,0.388-1.34h2.187c-0.047,1.105-0.341,1.945-0.882,2.521s-1.393,0.864-2.557,0.864
|
||||
c-0.881,0-1.568-0.147-2.062-0.441c-0.494-0.293-0.858-0.682-1.094-1.163c-0.234-0.482-0.379-1.023-0.432-1.622
|
||||
c-0.053-0.6-0.079-1.199-0.079-1.799c0-0.635,0.044-1.246,0.132-1.834s0.265-1.11,0.529-1.569
|
||||
c0.265-0.458,0.644-0.822,1.137-1.093c0.494-0.271,1.152-0.405,1.975-0.405c0.706,0,1.285,0.114,1.737,0.344
|
||||
c0.452,0.229,0.808,0.553,1.067,0.97c0.258,0.417,0.434,0.923,0.528,1.516c0.095,0.594,0.142,1.255,0.142,1.984v0.546h-4.814
|
||||
V70.069z M128.127,66.904c-0.035-0.276-0.098-0.512-0.186-0.705c-0.088-0.194-0.211-0.341-0.369-0.441
|
||||
c-0.159-0.1-0.362-0.149-0.609-0.149c-0.246,0-0.449,0.056-0.607,0.167c-0.159,0.112-0.285,0.259-0.379,0.441
|
||||
c-0.095,0.182-0.162,0.385-0.203,0.608c-0.041,0.223-0.062,0.446-0.062,0.67v0.37h2.486
|
||||
C128.186,67.501,128.162,67.181,128.127,66.904z"/>
|
||||
<path fill="#47B9E8" d="M134.122,64.197v1.111h0.035c0.259-0.47,0.593-0.813,1.005-1.031c0.411-0.218,0.882-0.326,1.41-0.326
|
||||
c0.776,0,1.373,0.211,1.79,0.635c0.417,0.423,0.626,1.11,0.626,2.062v7.035h-2.434v-6.541c0-0.494-0.082-0.838-0.246-1.032
|
||||
c-0.165-0.193-0.43-0.291-0.794-0.291c-0.858,0-1.287,0.523-1.287,1.569v6.295h-2.433v-9.486H134.122z"/>
|
||||
</g>
|
||||
<line fill="none" stroke="#47B9E8" stroke-width="2" stroke-miterlimit="10" x1="46.373" y1="116.581" x2="147.75" y2="116.581"/>
|
||||
<g enable-background="new ">
|
||||
<path fill="#47B9E8" d="M76.196,90.247v17.136h-3.768V90.247H76.196z"/>
|
||||
<path fill="#47B9E8" d="M87.236,90.247c1.072,0,1.984,0.155,2.736,0.468c0.752,0.312,1.364,0.724,1.836,1.236
|
||||
c0.472,0.512,0.816,1.096,1.032,1.752c0.216,0.656,0.324,1.336,0.324,2.04c0,0.688-0.108,1.364-0.324,2.027
|
||||
c-0.216,0.664-0.56,1.252-1.032,1.765c-0.472,0.512-1.084,0.924-1.836,1.235c-0.752,0.312-1.665,0.469-2.736,0.469h-3.96v6.144
|
||||
h-3.768V90.247H87.236z M86.205,98.311c0.432,0,0.848-0.031,1.248-0.096c0.399-0.063,0.752-0.188,1.056-0.372
|
||||
c0.304-0.184,0.548-0.444,0.732-0.78c0.184-0.336,0.276-0.775,0.276-1.319s-0.092-0.984-0.276-1.32
|
||||
c-0.184-0.336-0.428-0.596-0.732-0.78c-0.304-0.184-0.656-0.308-1.056-0.372c-0.4-0.063-0.816-0.096-1.248-0.096h-2.928v5.136
|
||||
H86.205z"/>
|
||||
<path fill="#47B9E8" d="M98.229,107.383L93.98,94.975h3.576l2.616,8.473h0.049l2.615-8.473h3.385l-4.2,12.408H98.229z"/>
|
||||
<path fill="#47B9E8" d="M114.884,93.438c-0.399-0.416-0.896-0.624-1.487-0.624c-0.609,0-1.117,0.181-1.524,0.54
|
||||
c-0.408,0.36-0.732,0.801-0.972,1.32c-0.24,0.521-0.417,1.076-0.528,1.668c-0.112,0.592-0.177,1.12-0.192,1.584l0.049,0.048
|
||||
c0.463-0.672,1.008-1.151,1.631-1.439c0.625-0.288,1.344-0.433,2.16-0.433c0.721,0,1.424,0.156,2.112,0.469
|
||||
c0.688,0.312,1.272,0.731,1.752,1.26c0.448,0.512,0.776,1.096,0.983,1.752c0.209,0.656,0.312,1.319,0.312,1.992
|
||||
c0,0.863-0.141,1.668-0.42,2.411c-0.28,0.744-0.68,1.393-1.199,1.944c-0.521,0.552-1.141,0.984-1.861,1.296
|
||||
c-0.719,0.312-1.52,0.468-2.399,0.468c-1.265,0-2.312-0.252-3.144-0.756s-1.496-1.164-1.992-1.979
|
||||
c-0.496-0.816-0.84-1.74-1.032-2.772c-0.192-1.031-0.288-2.084-0.288-3.155c0-1.04,0.12-2.08,0.359-3.12
|
||||
c0.24-1.04,0.625-1.98,1.152-2.82c0.528-0.84,1.208-1.524,2.041-2.052c0.831-0.528,1.848-0.792,3.047-0.792
|
||||
c0.721,0,1.393,0.104,2.017,0.312s1.176,0.509,1.655,0.9c0.48,0.392,0.873,0.876,1.177,1.452c0.304,0.575,0.504,1.24,0.6,1.991
|
||||
h-3.239C115.539,94.343,115.283,93.855,114.884,93.438z M112.016,98.923c-0.344,0.168-0.628,0.396-0.852,0.684
|
||||
c-0.225,0.288-0.393,0.621-0.504,0.996c-0.112,0.376-0.168,0.772-0.168,1.188c0,0.384,0.06,0.764,0.18,1.14
|
||||
s0.296,0.712,0.527,1.008c0.232,0.297,0.517,0.532,0.853,0.708c0.336,0.177,0.72,0.265,1.151,0.265
|
||||
c0.416,0,0.781-0.088,1.093-0.265c0.312-0.176,0.579-0.407,0.804-0.695s0.393-0.616,0.504-0.984
|
||||
c0.112-0.368,0.168-0.744,0.168-1.128c0-0.399-0.052-0.788-0.156-1.164c-0.104-0.376-0.26-0.712-0.467-1.008
|
||||
c-0.209-0.296-0.477-0.536-0.805-0.72c-0.328-0.185-0.708-0.276-1.141-0.276C112.756,98.671,112.359,98.755,112.016,98.923z"/>
|
||||
</g>
|
||||
<line fill="none" stroke="#47B9E8" stroke-width="2" stroke-miterlimit="10" x1="46.373" y1="81.142" x2="147.75" y2="81.142"/>
|
||||
</g>
|
||||
<g enable-background="new ">
|
||||
<path fill="#47B9E8" d="M76.196,123.245v17.136h-3.768v-17.136H76.196z"/>
|
||||
<path fill="#47B9E8" d="M87.236,123.245c1.072,0,1.984,0.155,2.736,0.468c0.752,0.312,1.364,0.724,1.836,1.236
|
||||
c0.472,0.512,0.816,1.096,1.032,1.752c0.216,0.656,0.324,1.336,0.324,2.04c0,0.688-0.108,1.364-0.324,2.027
|
||||
c-0.216,0.664-0.56,1.252-1.032,1.765c-0.472,0.512-1.084,0.924-1.836,1.235c-0.752,0.312-1.665,0.469-2.736,0.469h-3.96v6.144
|
||||
h-3.768v-17.136H87.236z M86.205,131.309c0.432,0,0.848-0.031,1.248-0.096c0.399-0.063,0.752-0.188,1.056-0.372
|
||||
c0.304-0.184,0.548-0.444,0.732-0.78c0.184-0.336,0.276-0.775,0.276-1.319s-0.092-0.984-0.276-1.32
|
||||
c-0.184-0.336-0.428-0.596-0.732-0.78c-0.304-0.184-0.656-0.308-1.056-0.372c-0.4-0.063-0.816-0.096-1.248-0.096h-2.928v5.136
|
||||
H86.205z"/>
|
||||
<path fill="#47B9E8" d="M98.229,140.381l-4.248-12.408h3.576l2.616,8.473h0.049l2.615-8.473h3.385l-4.2,12.408H98.229z"/>
|
||||
<path fill="#47B9E8" d="M106.724,136.493v-3.12l7.296-9.792h3.049v10.104h2.231v2.809h-2.231v3.888h-3.24v-3.888H106.724z
|
||||
M113.756,127.853l-4.344,5.832h4.416v-5.832H113.756z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 15 KiB |
50
ungleich_page/static/ungleich_page/img/glasfaser/switch.svg
Normal file
|
@ -0,0 +1,50 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="196px" height="196px" viewBox="0 0 196 196" enable-background="new 0 0 196 196" xml:space="preserve">
|
||||
<g>
|
||||
<ellipse fill="#0D2849" cx="96.871" cy="97.632" rx="68.441" ry="67.431"/>
|
||||
|
||||
<ellipse opacity="0.57" fill="none" stroke="#47B9E8" stroke-width="2" stroke-miterlimit="10" enable-background="new " cx="96.719" cy="97.321" rx="62.32" ry="61.179"/>
|
||||
</g>
|
||||
<g display="none">
|
||||
<path display="inline" opacity="0.84" fill="#FFFFFF" enable-background="new " d="M40.517,144.309c0-29.391,0-58.75,0-88.158
|
||||
c13.22,0,26.423,0,39.667,0c0-0.204-0.002-0.36,0-0.519c0.03-1.674,0.003-3.351,0.1-5.022c0.094-1.585,0.694-3.012,1.647-4.29
|
||||
c1.329-1.784,3.13-2.802,5.277-3.232c0.6-0.118,1.225-0.159,1.838-0.161c5.851-0.011,11.702-0.011,17.547-0.003
|
||||
c2.4,0.003,4.544,0.751,6.286,2.425c0.964,0.923,1.646,2.051,2.078,3.329c0.402,1.201,0.512,2.436,0.506,3.69
|
||||
c-0.011,1.246-0.005,2.492-0.005,3.768c13.235,0,26.423,0,39.653,0c0,29.4,0,58.772,0,88.173
|
||||
C116.934,144.309,78.744,144.309,40.517,144.309z M146.322,64.998c-32.365,0-64.672,0-97.002,0c0,0.177,0,0.323,0,0.468
|
||||
c0,8.537,0,17.076,0,25.616c0,0.307,0.003,0.616,0.027,0.923c0.199,2.78,1.349,5.052,3.652,6.677
|
||||
c1.658,1.168,3.539,1.563,5.542,1.563c26.189-0.005,52.38-0.003,78.566-0.005c0.324,0,0.646-0.004,0.97-0.024
|
||||
c2.782-0.198,5.055-1.343,6.68-3.644c1.152-1.631,1.572-3.48,1.572-5.453c-0.006-8.553-0.006-17.106-0.006-25.659
|
||||
C146.322,65.315,146.322,65.169,146.322,64.998z M146.301,106.855c-0.06,0.004-0.092,0-0.113,0.011
|
||||
c-2.853,1.55-5.914,2.2-9.145,2.2c-26.219-0.01-52.438-0.004-78.656-0.004c-2.861,0-5.598-0.545-8.176-1.819
|
||||
c-0.283-0.142-0.571-0.271-0.856-0.404c0,9.576,0,19.119,0,28.657c32.333,0,64.627,0,96.946,0
|
||||
C146.301,125.941,146.301,116.409,146.301,106.855z M89.017,56.116c5.894,0,11.747,0,17.599,0c0-1.464,0-2.898,0-4.338
|
||||
c-5.884,0-11.734,0-17.599,0C89.017,53.239,89.017,54.66,89.017,56.116z"/>
|
||||
<path display="inline" fill="#3077A3" d="M146.322,64.998c0,0.172,0,0.317,0,0.463c0,8.553,0,17.106,0.006,25.659
|
||||
c0,1.973-0.42,3.822-1.572,5.453c-1.625,2.301-3.896,3.444-6.68,3.644c-0.323,0.021-0.646,0.024-0.969,0.024
|
||||
c-26.188,0.002-52.378,0-78.567,0.005c-2.002,0-3.884-0.396-5.542-1.562c-2.304-1.625-3.453-3.897-3.652-6.678
|
||||
c-0.024-0.307-0.027-0.616-0.027-0.923c0-8.54,0-17.079,0-25.616c0-0.146,0-0.291,0-0.468
|
||||
C81.65,64.998,113.957,64.998,146.322,64.998z M75.768,82.631c-2.953,0-5.865,0-8.779,0c0,4.411,0,8.795,0,13.166
|
||||
c2.944,0,5.856,0,8.779,0C75.768,91.402,75.768,87.039,75.768,82.631z M119.898,82.623c0,4.422,0,8.806,0,13.174
|
||||
c2.949,0,5.861,0,8.764,0c0-4.408,0-8.781,0-13.174C125.734,82.623,122.833,82.623,119.898,82.623z"/>
|
||||
<path display="inline" fill="#3077A3" d="M146.301,106.855c0,9.554,0,19.086,0,28.641c-32.316,0-64.613,0-96.946,0
|
||||
c0-9.538,0-19.081,0-28.657c0.285,0.136,0.573,0.265,0.856,0.404c2.578,1.274,5.315,1.819,8.176,1.819
|
||||
c26.219,0,52.438-0.006,78.656,0.004c3.229,0,6.292-0.65,9.145-2.2C146.209,106.855,146.241,106.859,146.301,106.855z"/>
|
||||
<path display="inline" fill="#3077A3" d="M89.017,56.116c0-1.456,0-2.877,0-4.338c5.864,0,11.715,0,17.599,0
|
||||
c0,1.44,0,2.874,0,4.338C100.764,56.116,94.911,56.116,89.017,56.116z"/>
|
||||
<path display="inline" opacity="0.84" fill="#FFFFFF" enable-background="new " d="M75.768,82.631c0,4.408,0,8.771,0,13.166
|
||||
c-2.923,0-5.835,0-8.779,0c0-4.371,0-8.754,0-13.166C69.903,82.631,72.815,82.631,75.768,82.631z"/>
|
||||
<path display="inline" opacity="0.84" fill="#FFFFFF" enable-background="new " d="M119.898,82.623c2.935,0,5.836,0,8.764,0
|
||||
c0,4.393,0,8.766,0,13.174c-2.9,0-5.812,0-8.764,0C119.898,91.429,119.898,87.044,119.898,82.623z"/>
|
||||
</g>
|
||||
<image display="none" overflow="visible" enable-background="new " width="171" height="167" id="Layer_4_xA0_Image_2_" xlink:href="C949B290C0D038A2.png" transform="matrix(0.9941 0 0 0.9941 12.8198 16.6104)">
|
||||
</image>
|
||||
<rect x="61.251" y="73.602" fill="none" stroke="#47B9E8" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
<rect x="103.227" y="74.338" fill="none" stroke="#47B9E8" stroke-width="5.5" stroke-miterlimit="10" width="28.351" height="52.284"/>
|
||||
<rect x="72.665" y="85.384" fill="#47B9E8" width="5.155" height="6.996"/>
|
||||
<rect x="72.665" y="107.477" fill="#47B9E8" width="5.155" height="6.996"/>
|
||||
<rect x="103.227" y="97.321" fill="#47B9E8" width="28.351" height="5"/>
|
||||
</svg>
|
After Width: | Height: | Size: 4.5 KiB |
71
ungleich_page/static/ungleich_page/img/logo_black.svg
Normal file
|
@ -0,0 +1,71 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="448px" height="125px" viewBox="-32.5 -87.5 448 125" enable-background="new -32.5 -87.5 448 125" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#050505" d="M93.06,20.975c0-1.765,0.621-3.482,1.869-5.161c1.247-1.674,3.027-3.184,5.338-4.517v-0.375
|
||||
c-1.208-0.664-2.28-1.59-3.198-2.779c-0.906-1.189-1.364-2.725-1.364-4.609c0-1.462,0.473-2.938,1.419-4.432
|
||||
c0.935-1.49,2.265-2.816,3.974-3.967v-0.368c-1.589-1.154-2.929-2.695-4.025-4.613c-1.089-1.916-1.636-4.212-1.636-6.887
|
||||
c0-2.498,0.482-4.735,1.456-6.716c0.975-1.978,2.286-3.66,3.932-5.065c1.64-1.401,3.54-2.464,5.703-3.198
|
||||
c2.158-0.729,4.455-1.091,6.893-1.091c2.492,0,4.745,0.363,6.759,1.091h18.348v6.85h-11.139c0.918,0.975,1.737,2.18,2.466,3.604
|
||||
c0.733,1.438,1.096,3.037,1.096,4.799c0,2.44-0.455,4.607-1.366,6.481c-0.913,1.894-2.164,3.486-3.747,4.796
|
||||
c-1.588,1.307-3.438,2.294-5.564,2.961c-2.131,0.668-4.416,1.013-6.852,1.013c-1.092,0-2.265-0.123-3.52-0.371
|
||||
c-1.241-0.236-2.473-0.61-3.693-1.097c-2.071,1.345-3.104,2.891-3.104,4.66c0,1.641,0.762,2.834,2.279,3.562
|
||||
c1.519,0.735,3.715,1.096,6.576,1.096h9.494c5.854,0,10.179,0.843,13.018,2.509c2.828,1.674,4.242,4.438,4.242,8.267
|
||||
c0,2.136-0.597,4.139-1.779,6.025c-1.193,1.889-2.879,3.544-5.072,4.983c-2.188,1.423-4.838,2.552-7.947,3.374
|
||||
c-3.098,0.827-6.571,1.234-10.407,1.234c-6.333,0-11.318-1.02-14.969-3.066C94.887,27.934,93.06,24.928,93.06,20.975z
|
||||
M100.719,19.882c0,2.127,1.174,3.84,3.522,5.155c2.345,1.31,5.737,1.964,10.179,1.964c2.373,0,4.518-0.229,6.438-0.683
|
||||
c1.919-0.453,3.562-1.059,4.932-1.824c1.373-0.762,2.412-1.633,3.15-2.601c0.727-0.971,1.091-2.005,1.091-3.106
|
||||
c0-1.943-0.809-3.235-2.415-3.875c-1.615-0.644-4.036-0.962-7.26-0.962h-7.853c-1.398,0-2.644-0.042-3.737-0.137
|
||||
c-1.1-0.091-2.136-0.285-3.106-0.592c-1.832,1.035-3.105,2.104-3.843,3.196C101.095,17.505,100.719,18.657,100.719,19.882z
|
||||
M113.416-7.059c2.559,0,4.743-0.848,6.581-2.552c1.822-1.708,2.737-4.077,2.737-7.118c0-2.929-0.918-5.271-2.737-7.033
|
||||
c-1.837-1.767-4.021-2.651-6.581-2.651c-2.561,0-4.748,0.885-6.575,2.651c-1.821,1.762-2.739,4.104-2.739,7.033
|
||||
c0,3.041,0.92,5.413,2.739,7.118C108.668-7.906,110.855-7.059,113.416-7.059z"/>
|
||||
</g>
|
||||
<path fill="#050505" d="M24.585,14.149h-7.651l-0.751-7.646h-0.379c-2.271,2.645-4.743,4.768-7.414,6.378
|
||||
c-2.679,1.597-5.777,2.401-9.304,2.401c-5.476,0-9.478-1.585-11.995-4.767c-2.521-3.181-3.776-7.825-3.776-13.932v-23.191
|
||||
l-12.225-0.238l21.669-8.342l-0.094,6.301v24.242c0,4.096,0.725,7.102,2.175,9.021C-3.712,6.299-1.229,7.262,2.3,7.262
|
||||
c2.394,0,4.579-0.584,6.564-1.752c1.981-1.164,4.112-3.135,6.378-5.898v-31.645h9.352L24.585,14.149L24.585,14.149z"/>
|
||||
<path fill="#050505" d="M40.078-32.037h7.649l0.755,7.465h0.372c2.333-2.398,4.851-4.427,7.562-6.093
|
||||
c2.7-1.67,5.857-2.503,9.445-2.503c5.412,0,9.386,1.608,11.902,4.814c2.517,3.208,3.778,7.845,3.778,13.888v28.613h-9.353v-27.386
|
||||
c0-4.027-0.722-7.008-2.167-8.922c-1.447-1.924-3.936-2.889-7.464-2.889c-2.46,0-4.659,0.624-6.616,1.845
|
||||
c-1.948,1.229-4.129,3.065-6.518,5.529v31.824h-9.346v-46.184H40.078z"/>
|
||||
<path fill="#050505" d="M185.909-8.892c0-3.78,0.661-7.167,1.982-10.157c1.32-2.989,3.079-5.543,5.291-7.649
|
||||
c2.201-2.109,4.717-3.719,7.562-4.819c2.83-1.101,5.762-1.651,8.772-1.651c3.405,0,6.406,0.535,9.034,1.608
|
||||
c2.602,1.07,4.827,2.56,6.65,4.475c1.83,1.931,3.218,4.225,4.156,6.907c0.945,2.673,1.423,5.616,1.423,8.825
|
||||
c0,0.955-0.05,1.841-0.147,2.692c-0.094,0.856-0.199,1.56-0.33,2.123h-34.762c0.316,4.537,2,8.081,5.06,10.631
|
||||
c3.055,2.549,6.903,3.822,11.566,3.822c2.522,0,4.862-0.346,7.038-1.042c2.176-0.686,4.302-1.661,6.372-2.916L228.88,9.9
|
||||
c-2.383,1.514-5.083,2.786-8.069,3.829c-2.991,1.038-6.288,1.554-9.877,1.554c-3.465,0-6.715-0.545-9.768-1.65
|
||||
c-3.063-1.102-5.713-2.684-7.983-4.767c-2.271-2.077-4.051-4.615-5.338-7.606C186.555-1.734,185.909-5.119,185.909-8.892z
|
||||
M222.084-12.952c0-4.161-1.078-7.341-3.215-9.548c-2.142-2.202-5.196-3.3-9.162-3.3c-3.462,0-6.551,1.098-9.259,3.3
|
||||
c-2.71,2.209-4.381,5.388-5.002,9.548H222.084z"/>
|
||||
<path fill="#050505" d="M261.514-33.498l0.027,48.596h-9.352v-35.481h-17.538L261.514-33.498z M256.061-43.024
|
||||
c-2.021,0-3.685-0.602-5.008-1.792c-1.315-1.198-1.978-2.806-1.978-4.819c0-2.014,0.657-3.633,1.978-4.862
|
||||
c1.324-1.23,2.987-1.84,5.008-1.84c2.011,0,3.685,0.61,5.008,1.84c1.32,1.229,1.985,2.848,1.985,4.862
|
||||
c0,2.014-0.665,3.624-1.985,4.819C259.745-43.626,258.071-43.024,256.061-43.024z"/>
|
||||
<path fill="#050505" d="M274.5-7.952c0-3.839,0.694-7.275,2.081-10.291c1.386-3.027,3.278-5.571,5.672-7.658
|
||||
c2.388-2.072,5.143-3.642,8.265-4.717c3.121-1.069,6.438-1.603,9.965-1.603c3.777,0,7.085,0.644,9.918,1.931
|
||||
c2.834,1.291,5.199,2.857,7.088,4.678l-4.535,5.95c-1.829-1.513-3.72-2.69-5.676-3.541c-1.943-0.853-4.059-1.276-6.326-1.276
|
||||
c-2.446,0-4.715,0.393-6.796,1.185c-2.07,0.786-3.857,1.9-5.331,3.35c-1.478,1.448-2.628,3.197-3.452,5.244
|
||||
c-0.814,2.044-1.225,4.305-1.225,6.75c0,2.456,0.394,4.711,1.185,6.758c0.785,2.047,1.913,3.791,3.396,5.238
|
||||
c1.48,1.44,3.226,2.572,5.242,3.356c2.015,0.781,4.245,1.174,6.708,1.174c2.832,0,5.386-0.531,7.646-1.597
|
||||
c2.267-1.074,4.306-2.361,6.142-3.875l3.969,6.047c-2.645,2.267-5.545,4.013-8.691,5.238c-3.145,1.224-6.426,1.838-9.821,1.838
|
||||
c-3.59,0-6.942-0.533-10.058-1.602c-3.118-1.065-5.807-2.644-8.081-4.726c-2.263-2.082-4.041-4.613-5.333-7.606
|
||||
C275.146-0.69,274.5-4.107,274.5-7.952z"/>
|
||||
<path fill="#050505" d="M318.894-51.604l19.584-9.712v27.204l-0.569,10.388c2.332-2.388,4.849-4.407,7.562-6.045
|
||||
c2.706-1.632,5.855-2.45,9.443-2.45c5.411,0,9.38,1.603,11.899,4.814c2.517,3.212,3.774,7.841,3.774,13.89v28.615h-9.351v-27.398
|
||||
c0-4.029-0.728-7.004-2.178-8.921c-1.441-1.919-3.923-2.885-7.454-2.885c-2.455,0-4.665,0.615-6.612,1.844
|
||||
c-1.955,1.228-4.131,3.067-6.521,5.529v31.827h-9.354l-0.193-67.096L318.894-51.604z"/>
|
||||
<g>
|
||||
<polygon fill="#050505" points="372.346,-72.483 369.194,-65.904 408.349,-65.739 411.5,-72.447 "/>
|
||||
<polygon fill="#050505" points="369.249,-58.129 365.997,-51.223 405.206,-51.144 408.349,-57.973 "/>
|
||||
<polygon fill="#050505" points="376.891,-43.389 394.854,-81.627 401.77,-81.529 384.02,-43.38 "/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#050505" d="M162.481-0.869c0,3.097,0.775,5.34,2.332,6.713c1.552,1.364,3.569,2.056,6.069,2.056
|
||||
c1.214,0,2.468-0.155,3.748-0.461c1.277-0.306,2.711-0.792,4.293-1.463l2.19,6.765c-1.039,0.358-2.028,0.691-2.968,1.003
|
||||
c-0.954,0.302-1.902,0.556-2.877,0.768c-0.973,0.219-1.991,0.4-3.058,0.55c-1.068,0.149-2.239,0.232-3.518,0.232
|
||||
c-4.993,0-8.783-1.43-11.37-4.297c-2.588-2.859-3.877-6.994-3.877-12.416v-60.796H138.84l23.641-16.66"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 50 KiB |
BIN
ungleich_page/static/ungleich_page/img/portfolio/glasfaser.png
Normal file
After Width: | Height: | Size: 114 KiB |
323
ungleich_page/templates/ungleich_page/glasfaser.html
Normal file
|
@ -0,0 +1,323 @@
|
|||
{% load static bootstrap3 i18n %}
|
||||
{% get_current_language as LANGUAGE_CODE %}
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
|
||||
<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>ungleich GmbH</title>
|
||||
|
||||
<!-- Bootstrap Core CSS -->
|
||||
<link href="{% static 'ungleich_page/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'ungleich_page/css/lib/animate.min.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]-->
|
||||
|
||||
<link href="//fonts.googleapis.com/css?family=Open+Sans+Condensed:700|Lato:300,400,700|Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'ungleich_page/css/agency.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'ungleich_page/css/ungleich.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'datacenterlight/css/landing-page.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'ungleich_page/css/glasfaser.css' %}" rel="stylesheet">
|
||||
|
||||
<!-- Google analytics -->
|
||||
{% include "google_analytics.html" %}
|
||||
<!-- End Google Analytics -->
|
||||
|
||||
<link rel="shortcut icon" href="{% static 'ungleich_page/img/favicon.ico' %}" type="image/x-icon">
|
||||
</head>
|
||||
|
||||
<body id="page-top" class="index">
|
||||
<nav class="navbar navbar-default navbar-fixed-top topnav navbar-transparent">
|
||||
<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">{% trans "Toggle navigation" %}</span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
<a href="{% url 'ungleich_page:landing' %}" id="logoBlack" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_black.svg' %}"></a>
|
||||
<a href="{% url 'ungleich_page:landing' %}" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_white.svg' %}"></a>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
|
||||
<!-- Start Navbar collapse-->
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li>
|
||||
<a class="page-scroll" href="#services">Technische Details</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#about">Wie funktioniert es?</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#contact">{% trans "CONTACT" %}</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Header -->
|
||||
<div class="intro-header" id="home">
|
||||
<div class="price-tag-container">
|
||||
<div class="price-tag"></div>
|
||||
</div>
|
||||
<div class="high-speed">
|
||||
<div class="high-speed-border"></div>
|
||||
<h1>{% trans "HIGH SPEED INTERNET" %}</h1>
|
||||
<div class="high-speed-border"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="split-section left" id="your">
|
||||
<div class="container">
|
||||
<div class="split-text">
|
||||
<div class="split-title">
|
||||
<h2>Unser Glasfaser-Angebot für Glarus Nord, Glarus und Glarus Süd</h2>
|
||||
</div>
|
||||
<div class="split-description wow fadeInUp">
|
||||
<p class="lead"><strong>Surfen Sie mit 100 Mbit/s im Internet!</strong></p>
|
||||
<p class="lead">Mit dem neuen Glasfaser-Angebot der ungleich macht das Arbeiten im Internet richtig Spass. Das beste daran: die Geschwindigkeit symmetrisch in beide Richtungen verfügbar. Damit kann ihr Firmennetzwerk auch Dienste bereitstellen.</p>
|
||||
<p class="lead">Dieses Angebot ist im Moment ausschliesslich für Firmenkunden verfügbar. Die Aufschaltkosten der Glasfaserleitung sind von der Entfernung zum nächsten Anschlusspunkt abhängig. Fragen Sie noch heute nach einem individuellem Angebot.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="split-section right" id="our">
|
||||
<div class="container">
|
||||
<div class="split-text text-center">
|
||||
<div class="wow fadeInDown">
|
||||
<h2 class="section-heading text-center">Was ist es?</h2>
|
||||
<h3 class="section-subheading text-muted"></h3>
|
||||
</div>
|
||||
<div class="split-description text-center wow fadeInUp">
|
||||
<p class="lead">Bei diesem Angebot handelt es sich um einen Internetzugang für Firmenkunden.</p>
|
||||
<p class="lead">Sie erhalten in Zusammenarbeit mit unseren Partnern einen Glasfaseranschluss und eine Internetverbindung.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section id="services">
|
||||
<div class="container">
|
||||
<div class="text-center wow fadeInDown">
|
||||
<h2 class="section-heading">Technische Details</h2>
|
||||
<h3 class="section-subheading text-muted">Im Angebot enthalten sind</h3>
|
||||
</div>
|
||||
<div class="row text-center">
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member wow fadeInUp" data-wow-delay="0.25s">
|
||||
<img src="{% static 'ungleich_page/img/glasfaser/business.svg' %}" class="img-responsive img-circle" alt="">
|
||||
<div class="team-member-caption inline-block">
|
||||
<h4 class="portfolio-caption">Business-Internet</h4>
|
||||
<p class="text-muted">Symmetrische Internetleitung 100 Mbit/s upload und 100 Mbit/s download</p>
|
||||
<p class="text-muted">Glasfaser-Installation bis ins Haus (keine Hausverkabelung)</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member wow fadeInUp" data-wow-delay="0.5s">
|
||||
<img src="{% static 'ungleich_page/img/glasfaser/ip.svg' %}" class="img-responsive img-circle" alt="">
|
||||
<div class="team-member-caption inline-block">
|
||||
<h4 class="portfolio-caption">Erreichbarkeit im Internet</h4>
|
||||
<p class="text-muted">1 öffentliches IPv6-Netzwerk (/64)</p>
|
||||
<p class="text-muted">1 öffentliche IPv4-Adresse</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<div class="team-member wow fadeInUp" data-wow-delay="0.75s">
|
||||
<img src="{% static 'ungleich_page/img/glasfaser/switch.svg' %}" class="img-responsive img-circle" alt="">
|
||||
<div class="team-member-caption inline-block">
|
||||
<h4 class="portfolio-caption">Einfach zu nutzen</h4>
|
||||
<p class="text-muted">2 vorkonfigurierte Endgeräte (benötigt zwei Steckdosen auf Ihrer Seite)</p>
|
||||
<p class="text-muted">Einfach einstecken und los!</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- About Section -->
|
||||
<section id="about">
|
||||
<div class="container">
|
||||
<div class="text-center wow fadeInDown">
|
||||
<h2 class="section-heading">Wie funktioniert es?</h2>
|
||||
<h3 class="section-subheading text-muted">So kommen Sie in wenigen einfachen Schritten zu Ihrem High-Speed-Internet</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="timeline">
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/glasfaser/a.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-body">
|
||||
<p>Senden Sie uns via E-Mail Ihren Firmennamen und Ihre Anschrift zu.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/glasfaser/b.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-body">
|
||||
<p>Wir prüfen dann die Entfernung zum nächsten Anschlusspunkt und schicken Ihnen eine Offerte zu.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/glasfaser/c.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-body">
|
||||
<p>Sollten Sie dem Angebot zustimmen, wird die Glasfaser zu Ihrem Standort verlegt und die Endgeräte installiert.</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted" style="background: #fff;">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/glasfaser/d.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInDown">
|
||||
<div class="timeline-body">
|
||||
<p>Sie müssen dann nur noch Ihre Geräte anschliessen und schon surfen Sie bllitzschnell im Internet!</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- / contact section -->
|
||||
<div id="contact" class="full-contact-section">
|
||||
<div class="intro-header-2 contact-section" id="contact">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="title">
|
||||
<h2>Kontakt</h2>
|
||||
</div>
|
||||
<div class="contact-details">
|
||||
<div class="subtitle">
|
||||
<h3>ungleich GmbH</h3>
|
||||
</div>
|
||||
<div class="description">
|
||||
<p>glasfaser@ungleich.ch</p>
|
||||
<p>In der Au 7, Schwanden 8762</p>
|
||||
<p>Switzerland</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="social">
|
||||
<a target="_blank" class="" href="https://twitter.com/datacenterlight"><i class="fa fa-twitter fa-fw"></i></a>
|
||||
<a target="_blank" class="" href="https://github.com/ungleich"><i class="fa fa-github fa-fw"></i></a>
|
||||
<a target="_blank" class="" href="https://www.facebook.com/ungleich.ch/"><i class="fa fa-facebook"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div id="contact-form" class="contact-form">
|
||||
{% if success %}
|
||||
<div class="contact-form-success">
|
||||
<div class="subtitle text-center">
|
||||
<h3>{% trans "Thank you for contacting us." %}</h3>
|
||||
</div>
|
||||
<p>
|
||||
{% trans "Your message was successfully sent to our team." %}
|
||||
</p>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="row">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<div class="subtitle">
|
||||
<h3>Senden Sie uns eine Nachricht.</h3>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form class="form-horizontal ajax-form" method="POST" action="{% url 'datacenterlight:contact_us' %}" data-toggle="validator" data-response="#contact-form">
|
||||
{% csrf_token %}
|
||||
<input type="hidden" value="glasfaser" name="from_page">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="name">{% trans "Name" %}</label>
|
||||
<div class="col-sm-10">
|
||||
<input type="text" name="name" class="form-control" data-minlength="3" data-error="{% trans 'Please enter your name.' %}" required>
|
||||
{{contact_form.name.errors}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="email">{% trans "Email" %}</label>
|
||||
<div class="col-sm-10">
|
||||
<input name="email" type="email" pattern="^[^@\s]+@([^@\s]+\.)+[^@\s]+$" class="form-control" data-error="{% trans 'Please enter a valid email address.' %}" required>
|
||||
{{contact_form.email.errors}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="message">{% trans "Message" %}</label>
|
||||
<div class="col-sm-10">
|
||||
<textarea class="form-control" name="message" id="message" rows="6" required></textarea>
|
||||
{{contact_form.message.errors}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10 text-right">
|
||||
<div class="form-error hide">{% trans "Sorry, there was an unexpected error. Kindly retry." %}</div>
|
||||
<button type="submit" class="btn btn-default">{% trans "SUBMIT" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.banner -->
|
||||
|
||||
<!-- Footer -->
|
||||
{% include "ungleich_page/includes/_footer.html" %}
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
if ($(".has-error").length != 0) {
|
||||
window.location = window.location.pathname + "#contact"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" type="text/javascript"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/classie/1.0.1/classie.min.js" type="text/javascript"></script>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/wow/1.1.2/wow.min.js" type="text/javascript"></script>
|
||||
|
||||
<!-- Custom Theme JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/ungleich.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'datacenterlight/js/main.js' %}"></script>
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href="//fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
|
||||
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
|
||||
</body>
|
||||
</html>
|
|
@ -2,81 +2,103 @@
|
|||
{% load i18n %}
|
||||
|
||||
<section id="about">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center wow fadeInDown">
|
||||
<h2 class="section-heading">{% trans "ABOUT" %}</h2>
|
||||
<h3 class="section-subheading text-muted">{% trans "The timeline of ungleich" %}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<ul class="timeline">
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/1.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-heading">
|
||||
<h4>2000</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "The first incarnation of ungleich" %}</p>
|
||||
<p>{% trans "in Germany" %}</p>
|
||||
</div>
|
||||
</div></li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/2.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-heading">
|
||||
<h4>2013</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich founded" %} </p>
|
||||
<p>{% trans "in Switzerland" %} </p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/6.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-heading">
|
||||
<h4>2014</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich present at various conferences" %}: <br><a href="http://www.linuxtag.org/2014/en/program/talk-details/?eventid=1238">Linuxtag</a>, <a href="https://www.usenix.org/conference/ucms14/summit-program/presentation/schottelius">UCMS</a>, Linux Erfa, <a href="https://www.ethz.ch/en.html">ETH Zurich</a><br>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/4.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-heading">
|
||||
<h4> 2015</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich introduces HA-Hosting" %} </p>
|
||||
<p>{% trans "and introduces affordable 24X7 support." %}</p>
|
||||
<p>{% trans "ungleich launches" %}<a href="https://digitalglarus.ch">
|
||||
{% trans "Digital Glarus project" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image wow slideInDown">
|
||||
<h4>{% trans "and" %}<br>{% trans "the story continues!" %}</h4>
|
||||
<p> </p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="text-center wow fadeInDown">
|
||||
<h2 class="section-heading">{% trans "ABOUT" %}</h2>
|
||||
<h3 class="section-subheading text-muted">{% trans "The timeline of ungleich" %}</h3>
|
||||
</div>
|
||||
<ul class="timeline">
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/1.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-heading">
|
||||
<h4>2000</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "The first incarnation of ungleich" %}</p>
|
||||
<p>{% trans "in Germany" %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/2.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-heading">
|
||||
<h4>2013</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich founded" %} </p>
|
||||
<p>{% trans "in Switzerland" %} </p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/6.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-heading">
|
||||
<h4>2014</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich present at various conferences" %}: <br><a href="http://www.linuxtag.org/2014/en/program/talk-details/?eventid=1238">Linuxtag</a>, <a href="https://www.usenix.org/conference/ucms14/summit-program/presentation/schottelius">UCMS</a>, Linux Erfa, <a href="https://www.ethz.ch/en.html">ETH Zurich</a><br>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/4.jpg' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-heading">
|
||||
<h4> 2015</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% trans "ungleich introduces HA-Hosting" %} </p>
|
||||
<p>{% trans "and introduces affordable 24X7 support." %}</p>
|
||||
<p>{% trans "ungleich launches" %}<a href="https://digitalglarus.ch">
|
||||
{% trans "Digital Glarus project" %}</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/7.png' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInLeft">
|
||||
<div class="timeline-heading">
|
||||
<h4> 2016</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% blocktrans %}ungleich launches <a href="https://www.alplora.ch/de/">Alplora</a>, an animal tracking service with LoraWAN technology.{% endblocktrans %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="timeline-inverted">
|
||||
<div class="timeline-image">
|
||||
<img class="img-circle img-responsive" src="{% static 'ungleich_page/img/about/8.png' %}" alt="">
|
||||
</div>
|
||||
<div class="timeline-panel wow slideInRight">
|
||||
<div class="timeline-heading">
|
||||
<h4> 2017</h4>
|
||||
</div>
|
||||
<div class="timeline-body">
|
||||
<p>{% blocktrans %}ungleich sells <a href="https://www.alplora.ch/de/">Alplora</a> to an IoT startup in canton Zürich.{% endblocktrans %}</p>
|
||||
<p>{% trans "ungleich showcases the most affordable Swiss VM hosting, Data Center Light." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="timeline-image wow slideInDown">
|
||||
<h4>{% trans "and" %}<br>{% trans "the story continues!" %}</h4>
|
||||
<p> </p>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
@ -5,33 +5,33 @@
|
|||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 text-center wow fadeInDown">
|
||||
<h2 class="section-heading">{% trans "Hosting Products " %}</h2>
|
||||
<h3 class="section-subheading text-muted">{% trans "Hosting Products " %} </h3>
|
||||
<h2 class="section-heading">{% trans "Our Products" %}</h2>
|
||||
<h3 class="section-subheading text-muted" style="line-height: 1.8;">{% blocktrans %}Our products include an innovative datacenter,<br>affordable VM hosting, and high speed fiber internet for canton Glarus.{% endblocktrans %}</h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4 col-sm-6 portfolio-item wow fadeInDown" data-wow-delay="0.5s">
|
||||
<img src="{% static 'ungleich_page/img/portfolio/roundicons.png' %}" class="img-responsive inline-block" alt="">
|
||||
<a href="{% url 'datacenterlight:index' %}"><img src="{% static 'ungleich_page/img/portfolio/datacenterlight.png' %}" class="img-responsive inline-block" alt=""></a>
|
||||
<div class="portfolio-caption inline-block">
|
||||
<h4> {% trans "HA Hosting" %} </h4>
|
||||
<p class="text-muted"> </p>
|
||||
<p class="text-muted">{% trans "We offer high availablity hosting (HA) in Germany and in Switzerland. Our infrastructure is powered by Free and Open Source Software like OpenNebula, Qemu and GlusterFS." %} </p>
|
||||
<h4>{% trans "Data Center Light" %}</h4>
|
||||
<p> </p>
|
||||
<p class="text-muted">{% trans "We offer the most affordable hosting in Switzerland. Data Center Light has full FOSS stack, 100% IPv6 and 100% SSD. Choose any configuration among CentOS, Debian, Ubuntu, Devuan, and FreeBSD." %} </p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item wow fadeInDown" data-wow-delay="1s">
|
||||
<img src="{% static 'ungleich_page/img/portfolio/startup-framework.png' %}" class="img-responsive inline-block" alt="">
|
||||
<a href="{% url 'rails.hosting' %}"><img src="{% static 'ungleich_page/img/portfolio/startup-framework.png' %}" class="img-responsive inline-block" alt=""></a>
|
||||
<div class="portfolio-caption inline-block">
|
||||
<h4>{% trans "Rails Hosting" %} </h4>
|
||||
<p class="text-muted"> </p>
|
||||
<p> </p>
|
||||
<p class="text-muted">{% trans "Ready to go live with your Ruby on Rails application? We offer you ready-to-deploy virtual machines or configure your existing infrastructure for Ruby on Rails." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-4 col-sm-6 portfolio-item wow fadeInDown" data-wow-delay="1.5s">
|
||||
<img src="{% static 'ungleich_page/img/portfolio/treehouse.png' %}" class="img-responsive inline-block" alt="">
|
||||
<a href="{% url 'datacenterlight:glasfaser' %}"><img src="{% static 'ungleich_page/img/portfolio/glasfaser.png' %}" class="img-responsive inline-block" alt=""></a>
|
||||
<div class="portfolio-caption inline-block">
|
||||
<h4>{% trans " Configuration as a Service" %}</h4>
|
||||
<p class="text-muted"> </p>
|
||||
<p class="text-muted">{% trans "You are in need for a configuration?<br>With ungleich you have found an experienced team that configure your systems to provide service like DNS, E-Mail, Databases or Webservers." %}</p>
|
||||
<h4>{% trans "High Speed Internet" %}</h4>
|
||||
<p> </p>
|
||||
<p class="text-muted">{% trans "We offer high speed fiber internet in Glarus Süd, Glarus and Glarus Nord. Experience 100 Mbit/s and see how speed can change everything." %}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -18,10 +18,6 @@
|
|||
<link href="{% static 'ungleich_page/css/bootstrap.min.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'ungleich_page/css/lib/animate.min.css' %}" rel="stylesheet">
|
||||
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'ungleich_page/css/agency.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]>
|
||||
|
@ -29,146 +25,145 @@
|
|||
<script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
|
||||
<![endif]-->
|
||||
|
||||
<!-- Custom CSS -->
|
||||
<link href="{% static 'ungleich_page/css/agency.css' %}" rel="stylesheet">
|
||||
<link href="{% static 'ungleich_page/css/ungleich.css' %}" rel="stylesheet">
|
||||
|
||||
<!-- Google analytics -->
|
||||
{% include "google_analytics.html" %}
|
||||
<!-- End Google Analytics -->
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon">
|
||||
|
||||
<link rel="shortcut icon" href="{% static 'ungleich_page/img/favicon.ico' %}" type="image/x-icon">
|
||||
<style id="igtranslator-color" type="text/css"></style>
|
||||
</head>
|
||||
|
||||
<body id="page-top" class="index">
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header page-scroll">
|
||||
<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>
|
||||
<p><a class="navbar-brand page-scroll" href="#page-top"><img
|
||||
src="{% static 'ungleich_page/img/logo_white.svg' %}"></a></p>
|
||||
<!-- Navigation -->
|
||||
<nav class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container">
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="navbar-header page-scroll">
|
||||
<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>
|
||||
<p><a class="navbar-brand page-scroll" href="#page-top"><img
|
||||
src="{% static 'ungleich_page/img/logo_white.svg' %}"></a></p>
|
||||
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
</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 class="hidden active">
|
||||
<a href="#page-top"></a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#services">{% trans "Services"%}</a></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#portfolio">{% trans "products"%}</a></li>
|
||||
<li></li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#about">{% trans "About"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#team">{% trans "WHY UNGLEICH?"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="http://blog.ungleich.ch">{% trans "BLOG"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#contact">{% trans "CONTACT"%} </a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
</nav>
|
||||
|
||||
<!-- 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 class="hidden active">
|
||||
<a href="#page-top"></a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#services">{% trans "Services"%}</a></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li></li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#portfolio">{% trans "products"%}</a></li>
|
||||
<li></li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#about">{% trans "About"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#team">{% trans "WHY UNGLEICH?"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="http://blog.ungleich.ch">{% trans "BLOG"%}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="page-scroll" href="#contact">{% trans "CONTACT"%} </a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- /.navbar-collapse -->
|
||||
</div>
|
||||
<!-- /.container-fluid -->
|
||||
</nav>
|
||||
<!-- Header -->
|
||||
{% include "ungleich_page/includes/_header.html" %}
|
||||
|
||||
<!-- Header -->
|
||||
{% include "ungleich_page/includes/_header.html" %}
|
||||
<!-- Services Section -->
|
||||
{% include "ungleich_page/includes/_services.html" %}
|
||||
|
||||
<!-- Portfolio Grid Section -->
|
||||
{% include "ungleich_page/includes/_portfolio.html" %}
|
||||
|
||||
<!-- About Section -->
|
||||
{% include "ungleich_page/includes/_about.html" %}
|
||||
|
||||
<!-- Team Section -->
|
||||
{% include "ungleich_page/includes/_team.html" %}
|
||||
|
||||
<!-- Software We Use Section -->
|
||||
{% include "ungleich_page/includes/_softwares.html" %}
|
||||
|
||||
<!-- Contact Us Section -->
|
||||
{% include "ungleich_page/includes/_contact_us.html" %}
|
||||
|
||||
<!-- Footer -->
|
||||
{% include "ungleich_page/includes/_footer.html" %}
|
||||
|
||||
<!-- Portfolio Modals -->
|
||||
<!-- Use the modals below to showcase details about your portfolio projects! -->
|
||||
|
||||
<!-- Portfolio Modal 1 -->
|
||||
|
||||
<!-- Portfolio Modal 2 -->
|
||||
|
||||
<!-- Portfolio Modal 3 -->
|
||||
|
||||
<!-- Portfolio Modal 4 -->
|
||||
|
||||
<!-- Portfolio Modal 6 -->
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'ungleich_page/js/jquery.js' %}" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
if ($(".has-error").length != 0) {
|
||||
window.location = window.location.pathname + "#contact"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/bootstrap.min.js' %}" type="text/javascript"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"
|
||||
type="text/javascript"></script>
|
||||
<script src="{% static 'ungleich_page/js/classie.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'ungleich_page/js/cbpAnimatedHeader.js' %}" type="text/javascript"></script>
|
||||
|
||||
|
||||
<!-- Services Section -->
|
||||
{% include "ungleich_page/includes/_services.html" %}
|
||||
<!-- Contact Form JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/jqBootstrapValidation.js' %}" type="text/javascript"></script>
|
||||
<!-- <script src="{% static 'ungleich_page/js/contact_me.js' %}" type="text/javascript"></script> -->
|
||||
<script src="{% static 'ungleich_page/js/lib/wow.min.js' %}" type="text/javascript"></script>
|
||||
|
||||
<!-- Portfolio Grid Section -->
|
||||
{% include "ungleich_page/includes/_portfolio.html" %}
|
||||
<!-- Custom Theme JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/ungleich.js' %}" type="text/javascript"></script>
|
||||
|
||||
|
||||
<!-- About Section -->
|
||||
{% include "ungleich_page/includes/_about.html" %}$
|
||||
|
||||
<!-- Team Section -->
|
||||
{% include "ungleich_page/includes/_team.html" %}
|
||||
|
||||
<!-- Software We Use Section -->
|
||||
{% include "ungleich_page/includes/_softwares.html" %}
|
||||
|
||||
<!-- Contact Us Section -->
|
||||
{% include "ungleich_page/includes/_contact_us.html" %}
|
||||
|
||||
<!-- Footer -->
|
||||
{% include "ungleich_page/includes/_footer.html" %}
|
||||
|
||||
<!-- Portfolio Modals -->
|
||||
<!-- Use the modals below to showcase details about your portfolio projects! -->
|
||||
|
||||
<!-- Portfolio Modal 1 -->
|
||||
|
||||
<!-- Portfolio Modal 2 -->
|
||||
|
||||
<!-- Portfolio Modal 3 -->
|
||||
|
||||
<!-- Portfolio Modal 4 -->
|
||||
|
||||
<!-- Portfolio Modal 6 -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'ungleich_page/js/jquery.js' %}" type="text/javascript"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function () {
|
||||
if ($(".has-error").length != 0) {
|
||||
window.location = window.location.pathname + "#contact"
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
||||
<!-- Bootstrap Core JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/bootstrap.min.js' %}" type="text/javascript"></script>
|
||||
|
||||
<!-- Plugin JavaScript -->
|
||||
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery-easing/1.3/jquery.easing.min.js"
|
||||
type="text/javascript"></script>
|
||||
<script src="{% static 'ungleich_page/js/classie.js' %}" type="text/javascript"></script>
|
||||
<script src="{% static 'ungleich_page/js/cbpAnimatedHeader.js' %}" type="text/javascript"></script>
|
||||
|
||||
|
||||
<!-- Contact Form JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/jqBootstrapValidation.js' %}" type="text/javascript"></script>
|
||||
<!-- <script src="{% static 'ungleich_page/js/contact_me.js' %}" type="text/javascript"></script> -->
|
||||
<script src="{% static 'ungleich_page/js/lib/wow.min.js' %}" type="text/javascript"></script>
|
||||
|
||||
<!-- Custom Theme JavaScript -->
|
||||
<script src="{% static 'ungleich_page/js/ungleich.js' %}" type="text/javascript"></script>
|
||||
|
||||
|
||||
<!-- Custom Fonts -->
|
||||
<link href="//fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
|
||||
<link href="{% static 'ungleich_page/font-awesome-4.1.0/css/font-awesome.min.css' %}" rel="stylesheet"
|
||||
type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Kaushan+Script" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic" rel="stylesheet"
|
||||
type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700" rel="stylesheet" type="text/css">
|
||||
<!-- Custom Fonts -->
|
||||
<link href="//fonts.googleapis.com/css?family=Raleway" rel="stylesheet" type="text/css">
|
||||
<link href="{% static 'ungleich_page/font-awesome-4.1.0/css/font-awesome.min.css' %}" rel="stylesheet"
|
||||
type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Kaushan+Script" rel="stylesheet" type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic" rel="stylesheet"
|
||||
type="text/css">
|
||||
<link href="//fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700" rel="stylesheet" type="text/css">
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-09-29 20:33+0000\n"
|
||||
"POT-Creation-Date: 2017-10-10 21:35+0530\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -790,13 +790,12 @@ msgid "Message"
|
|||
msgstr "Nachricht"
|
||||
|
||||
msgid "An email with the activation link has been sent to you"
|
||||
msgstr ""
|
||||
"Es wurde eine E-Mail mit dem Aktivierungslink an Dich gesendet."
|
||||
msgstr "Es wurde eine E-Mail mit dem Aktivierungslink an Dich gesendet."
|
||||
|
||||
msgid "Account Activation"
|
||||
msgstr "Accountaktivierung"
|
||||
|
||||
msgid "The link to reset your email has been sent to your email"
|
||||
msgid "The link to reset your password has been sent to your email"
|
||||
msgstr ""
|
||||
"Der Link zum Zurücksetzen deines Passwortes wurde an deine E-Mail gesendet"
|
||||
|
||||
|
|
|
@ -104,7 +104,7 @@ class ResendActivationLinkViewMixin(FormView):
|
|||
|
||||
class PasswordResetViewMixin(FormView):
|
||||
success_message = _(
|
||||
"The link to reset your email has been sent to your email")
|
||||
"The link to reset your password has been sent to your email")
|
||||
site = ''
|
||||
|
||||
def test_generate_email_context(self, user):
|
||||
|
|