Merge remote-tracking branch 'mainRepo/master' into task/3377/navbar_rearrange
This commit is contained in:
commit
412236f6a1
100 changed files with 1510 additions and 1699 deletions
Binary file not shown.
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-06-01 21:03+0000\n"
|
||||
"POT-Creation-Date: 2017-05-30 13:47+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
|
@ -79,70 +79,68 @@ msgstr "Anmelden"
|
|||
msgid "Home"
|
||||
msgstr "Home"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:11
|
||||
#: hosting/templates/hosting/order_detail.html:10
|
||||
#: templates/hosting/bill_detail.html:11 templates/hosting/order_detail.html:10
|
||||
msgid "Invoice"
|
||||
msgstr "Rechnung"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:11
|
||||
#: hosting/templates/hosting/order_detail.html:10
|
||||
#: templates/hosting/bill_detail.html:11 templates/hosting/order_detail.html:10
|
||||
msgid "Order #"
|
||||
msgstr "Rechnung #"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:25
|
||||
#: templates/hosting/bill_detail.html:25
|
||||
msgid "ungleich GmbH"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:26
|
||||
#: templates/hosting/bill_detail.html:26
|
||||
msgid "buchhaltung@ungleich.ch"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:27
|
||||
#: templates/hosting/bill_detail.html:27
|
||||
msgid "Hauptstrasse 14"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:28
|
||||
#: templates/hosting/bill_detail.html:28
|
||||
msgid "CH-8775 Luchsingen"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:29
|
||||
#: templates/hosting/bill_detail.html:29
|
||||
msgid "Mwst-Nummer: CHE-109.549.333 MWST"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:60
|
||||
#: templates/hosting/bill_detail.html:60
|
||||
msgid "Total:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:68
|
||||
#: templates/hosting/bill_detail.html:68
|
||||
#, python-format
|
||||
msgid "Alles Preise in CHF mit 8%% Mehrwertsteuer."
|
||||
msgstr "All prices in CHF including 8%% VAT"
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:69
|
||||
#: templates/hosting/bill_detail.html:69
|
||||
msgid "Betrag zahlbar innerhalb von 30 Tagen ab Rechnungseingang."
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:70
|
||||
#: templates/hosting/bill_detail.html:70
|
||||
msgid "Kontoverbindung:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:73
|
||||
#: templates/hosting/bill_detail.html:73
|
||||
msgid "IBAN:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:76
|
||||
#: templates/hosting/bill_detail.html:76
|
||||
msgid "BIC:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:81
|
||||
#: templates/hosting/bill_detail.html:81
|
||||
msgid "CH02 0900 0000 6071 8848 8"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bill_detail.html:84
|
||||
#: templates/hosting/bill_detail.html:84
|
||||
msgid "POFICHBEXXX"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:12
|
||||
#: templates/hosting/bills.html:12
|
||||
msgid "Customers"
|
||||
msgstr "Kunden"
|
||||
|
||||
|
|
@ -151,27 +149,31 @@ msgstr "Kunden"
|
|||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:17
|
||||
#: templates/hosting/bills.html:17
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/bills.html:28
|
||||
#: templates/hosting/bills.html:28
|
||||
msgid "View Bill"
|
||||
msgstr "Rechnung anzeigen"
|
||||
|
||||
#: hosting/templates/hosting/bills.html:41
|
||||
#: hosting/templates/hosting/orders.html:83
|
||||
#: hosting/templates/hosting/virtual_machines.html:70
|
||||
#: templates/hosting/bills.html:41 templates/hosting/orders.html.py:83
|
||||
#: templates/hosting/virtual_machines.html:70
|
||||
msgid "previous"
|
||||
msgstr "vorherige"
|
||||
|
||||
#: hosting/templates/hosting/bills.html:47
|
||||
#: hosting/templates/hosting/orders.html:89
|
||||
#: hosting/templates/hosting/virtual_machines.html:76
|
||||
#: templates/hosting/bills.html:47 templates/hosting/orders.html.py:89
|
||||
#: templates/hosting/virtual_machines.html:76
|
||||
msgid "next"
|
||||
msgstr "nächste"
|
||||
|
||||
#: hosting/templates/hosting/confirm_reset_password.html:19
|
||||
#: templates/hosting/confirm_reset_password.html:10
|
||||
#: templates/hosting/login.html:9 templates/hosting/reset_password.html.py:9
|
||||
#: templates/hosting/signup.html:8
|
||||
msgid "Your VM hosted in Switzerland"
|
||||
msgstr "Ihre VM in der Schweiz"
|
||||
|
||||
#: templates/hosting/confirm_reset_password.html:14
|
||||
msgid "Set your new password"
|
||||
msgstr "Setzen Ihr neues Passwort"
|
||||
|
||||
|
|
@ -206,40 +208,34 @@ msgstr "Wählen Sie eine Konfiguration"
|
|||
msgid "CHF/Month"
|
||||
msgstr "CHF/Monat"
|
||||
|
||||
#: hosting/templates/hosting/create_virtual_machine.html:45
|
||||
#: templates/hosting/create_virtual_machine.html:45
|
||||
msgid "Start VM"
|
||||
msgstr "Start VM"
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:2
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:2
|
||||
#: templates/hosting/emails/password_reset_email.html:2
|
||||
#: templates/hosting/emails/password_reset_email.txt:2
|
||||
#, python-format
|
||||
msgid ""
|
||||
"You're receiving this email because you requested a password reset for your "
|
||||
"user account at %(site_name)s."
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:4
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:4
|
||||
#: templates/hosting/emails/password_reset_email.html:4
|
||||
#: templates/hosting/emails/password_reset_email.txt:4
|
||||
msgid "Please go to the following page and choose a new password:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:9
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:9
|
||||
#: templates/hosting/emails/password_reset_email.html:9
|
||||
#: templates/hosting/emails/password_reset_email.txt:9
|
||||
msgid "Thanks for using our site!"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/emails/password_reset_email.html:11
|
||||
#: hosting/templates/hosting/emails/password_reset_email.txt:11
|
||||
#: templates/hosting/emails/password_reset_email.html:11
|
||||
#: templates/hosting/emails/password_reset_email.txt:11
|
||||
#, python-format
|
||||
msgid "The %(site_name)s team"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/login.html:10
|
||||
#: hosting/templates/hosting/reset_password.html:10
|
||||
#: hosting/templates/hosting/signup.html:9
|
||||
msgid "Your VM hosted in Switzerland"
|
||||
msgstr "Ihre VM gehostet in der Schweiz"
|
||||
|
||||
#: hosting/templates/hosting/login.html:26
|
||||
msgid "You haven been logged out"
|
||||
msgstr "Sie wurden abgmeldet"
|
||||
|
|
@ -258,44 +254,44 @@ msgstr "Registrieren"
|
|||
msgid "Forgot your password ? "
|
||||
msgstr "Passwort vergessen?"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:9
|
||||
#: templates/hosting/notifications.html:9
|
||||
msgid "Notifications"
|
||||
msgstr "Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:16
|
||||
#: templates/hosting/notifications.html:16
|
||||
msgid "Unread"
|
||||
msgstr "Ungelesen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:26
|
||||
#: templates/hosting/notifications.html:26
|
||||
msgid "All"
|
||||
msgstr "Alle"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:38
|
||||
#: templates/hosting/notifications.html:38
|
||||
msgid "Unread notifications"
|
||||
msgstr "Ungelesene Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:48
|
||||
#: templates/hosting/notifications.html:48
|
||||
msgid "Mark as read"
|
||||
msgstr "Als gelesen markieren"
|
||||
|
||||
#: hosting/templates/hosting/notifications.html:59
|
||||
#: templates/hosting/notifications.html:59
|
||||
msgid "All notifications"
|
||||
msgstr "Alle Benachrichtigungen"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:16
|
||||
#: hosting/templates/hosting/order_detail.html:24
|
||||
#: templates/hosting/order_detail.html:16
|
||||
#: templates/hosting/order_detail.html:24
|
||||
msgid "Billed To:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:26
|
||||
#: templates/hosting/order_detail.html:26
|
||||
msgid "Status:"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:38
|
||||
#: templates/hosting/order_detail.html:38
|
||||
msgid "Payment Method:"
|
||||
msgstr "Bezahlmethode"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:49
|
||||
#: templates/hosting/order_detail.html:49
|
||||
msgid "Order summary"
|
||||
msgstr "Bestellungsübersicht"
|
||||
|
||||
|
|
@ -308,6 +304,8 @@ msgstr "Prozessorkerne"
|
|||
#: hosting/templates/hosting/order_detail.html:54
|
||||
#: hosting/templates/hosting/payment.html:20
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:81
|
||||
#: templates/hosting/order_detail.html:54
|
||||
#: templates/hosting/virtual_machine_detail.html:82
|
||||
msgid "Memory"
|
||||
msgstr "Arbeitsspeicher"
|
||||
|
||||
|
|
@ -316,19 +314,19 @@ msgstr "Arbeitsspeicher"
|
|||
msgid "Disk space"
|
||||
msgstr "Festplattenkapazität"
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:58
|
||||
#: templates/hosting/order_detail.html:58
|
||||
msgid "Total"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/order_detail.html:64
|
||||
#: templates/hosting/order_detail.html:64
|
||||
msgid "Finish Configuration"
|
||||
msgstr "Konfiguration beenden"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:17
|
||||
#: templates/hosting/orders.html:17
|
||||
msgid "Date"
|
||||
msgstr "Datum"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:18
|
||||
#: templates/hosting/orders.html:18
|
||||
msgid "Amount"
|
||||
msgstr "Betrag"
|
||||
|
||||
|
|
@ -339,32 +337,31 @@ msgstr "Betrag"
|
|||
msgid "Status"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/orders.html:30
|
||||
#: templates/hosting/orders.html:30
|
||||
msgid "Approved"
|
||||
msgstr "Akzeptiert"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:32
|
||||
#: templates/hosting/orders.html:32
|
||||
msgid "Declined"
|
||||
msgstr "Abgelehnt"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:37
|
||||
#: hosting/templates/hosting/virtual_machines.html:58
|
||||
#: templates/hosting/orders.html:37 templates/hosting/virtual_machines.html:58
|
||||
msgid "View Detail"
|
||||
msgstr "Details anzeigen"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:41
|
||||
#: templates/hosting/orders.html:41
|
||||
msgid "Cancel Order"
|
||||
msgstr "Bestellung stornieren"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:56
|
||||
#: templates/hosting/orders.html:56
|
||||
msgid "Do You want do delete your order?"
|
||||
msgstr "Wollen Sie ihre Bestellung löschen?"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:64
|
||||
#: templates/hosting/orders.html:64
|
||||
msgid "Close"
|
||||
msgstr "Schliessen"
|
||||
|
||||
#: hosting/templates/hosting/orders.html:66
|
||||
#: templates/hosting/orders.html:66
|
||||
msgid "Delete"
|
||||
msgstr "Löschen"
|
||||
|
||||
|
|
@ -405,51 +402,51 @@ msgstr "CV Code"
|
|||
msgid "Reset your password"
|
||||
msgstr "Passwort zurücksetzen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:19
|
||||
#: templates/hosting/virtual_machine_detail.html:19
|
||||
msgid "Settings"
|
||||
msgstr "Einstellungen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:25
|
||||
#: templates/hosting/virtual_machine_detail.html:25
|
||||
msgid "Billing"
|
||||
msgstr "Abrechnungen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:60
|
||||
#: templates/hosting/virtual_machine_detail.html:60
|
||||
msgid "Ip not assigned yet"
|
||||
msgstr "Ip nicht zugewiesen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:87
|
||||
#: templates/hosting/virtual_machine_detail.html:89
|
||||
msgid "Disk"
|
||||
msgstr "Festplatte"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:96
|
||||
#: templates/hosting/virtual_machine_detail.html:98
|
||||
msgid "Configuration"
|
||||
msgstr "Konfiguration"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:106
|
||||
#: templates/hosting/virtual_machine_detail.html:108
|
||||
msgid "Current pricing"
|
||||
msgstr "Aktueller Preis"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:115
|
||||
#: templates/hosting/virtual_machine_detail.html:117
|
||||
msgid "Current status"
|
||||
msgstr "Aktueller Status"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:140
|
||||
#: templates/hosting/virtual_machine_detail.html:142
|
||||
msgid "Terminate Virtual Machine"
|
||||
msgstr "Virtuelle Maschine beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:161
|
||||
#: templates/hosting/virtual_machine_detail.html:163
|
||||
msgid "Terminate your Virtual Machine"
|
||||
msgstr "Ihre virtuelle Maschine beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:164
|
||||
#: templates/hosting/virtual_machine_detail.html:166
|
||||
msgid "Are you sure do you want to cancel your Virtual Machine "
|
||||
msgstr "Sind Sie sicher, dass Sie ihre virtuelle Maschine beenden wollen "
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_detail.html:167
|
||||
#: templates/hosting/virtual_machine_detail.html:169
|
||||
msgid "Cancel"
|
||||
msgstr "Beenden"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machine_key.html:11
|
||||
#: templates/hosting/virtual_machine_key.html:11
|
||||
msgid "Access Key"
|
||||
msgstr "Zugriffsschlüssel"
|
||||
|
||||
|
|
@ -511,22 +508,22 @@ msgstr ""
|
|||
msgid "Generate my key"
|
||||
msgstr "Generiere meinen Schlüssel"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:9
|
||||
#: templates/hosting/virtual_machines.html:9
|
||||
msgid "Virtual Machines"
|
||||
msgstr "Virtuelle Maschinen"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:22
|
||||
#: templates/hosting/virtual_machines.html:22
|
||||
msgid "Create VM"
|
||||
msgstr "Neue VM"
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:28
|
||||
#: templates/hosting/virtual_machines.html:28
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:29
|
||||
#: templates/hosting/virtual_machines.html:29
|
||||
msgid "Ipv4"
|
||||
msgstr ""
|
||||
|
||||
#: hosting/templates/hosting/virtual_machines.html:30
|
||||
#: templates/hosting/virtual_machines.html:30
|
||||
msgid "Ipv6"
|
||||
msgstr ""
|
||||
|
|
|
|||
|
|
@ -1,7 +1,23 @@
|
|||
.dashboard-container {
|
||||
padding-top:70px; padding-bottom: 11%;
|
||||
padding-top:70px; padding-bottom: 70px;
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
max-width: 768px;
|
||||
}
|
||||
|
||||
.content-dashboard{
|
||||
min-height: 100vh;
|
||||
width: 80%;
|
||||
margin: 0 auto;
|
||||
max-width: 1120px;
|
||||
}
|
||||
.container-table{
|
||||
margin-top: 35px;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.container-table table{
|
||||
overflow-y: auto;
|
||||
}
|
||||
.borderless td {
|
||||
border: none !important;
|
||||
}
|
||||
|
|
@ -26,3 +42,19 @@
|
|||
.space-above-big {
|
||||
margin-top: 20%;
|
||||
}
|
||||
|
||||
.table>tbody>tr>td{
|
||||
vertical-align: middle;
|
||||
}
|
||||
.fa-separate{
|
||||
margin-right: 15px;
|
||||
}
|
||||
@media (max-width: 540px) {
|
||||
select {
|
||||
width: 280px;
|
||||
}
|
||||
.content-dashboard {
|
||||
width: 90%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,22 +4,19 @@
|
|||
* For details, see http://www.apache.org/licenses/LICENSE-2.0.
|
||||
*/
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Regular';
|
||||
src: url('../fonts/Montserrat/Montserrat-Regular.ttf');
|
||||
font-family: 'Lato-Regular';
|
||||
src: url('../fonts/Lato/Lato-Regular.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Bold';
|
||||
src: url('../fonts/Montserrat/Montserrat-Bold.ttf');
|
||||
src: url('../fonts/Lato/Lato-Black.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Medium';
|
||||
src: url('../fonts/Montserrat/Montserrat-Medium.ttf');
|
||||
}
|
||||
@font-face {
|
||||
font-family: 'Montserrat-Light';
|
||||
src: url('../fonts/Montserrat/Montserrat-Light.ttf');
|
||||
font-family: 'Lato-Light';
|
||||
src: url('../fonts/Lato/Lato-Light.ttf');
|
||||
}
|
||||
|
||||
body,
|
||||
html {
|
||||
width: 100%;
|
||||
|
|
@ -33,8 +30,8 @@ h3,
|
|||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-family: 'Montserrat-Regular', sans-serif;
|
||||
font-weight: 700;
|
||||
font-family: 'Lato-Regular', sans-serif;
|
||||
font-weight: 300;
|
||||
}
|
||||
.topnav {
|
||||
font-size: 14px;
|
||||
|
|
@ -226,18 +223,23 @@ h6 {
|
|||
z-index: 1000;
|
||||
}
|
||||
.auth-container .auth-content{
|
||||
width: 80%;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
max-width: 390px;
|
||||
margin-top: 60px;
|
||||
|
||||
}
|
||||
.auth-container .auth-center{
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
transform: translate(-50%,-50%);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.auth-container .auth-title{
|
||||
margin-top: 40px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-container .auth-title h2{
|
||||
color: #fff;
|
||||
font-family: 'Montserrat-Bold';
|
||||
font-size: 44px;
|
||||
text-align: center;
|
||||
width: 425px;
|
||||
|
|
@ -276,7 +278,6 @@ h6 {
|
|||
font-size: 20px;
|
||||
border-radius: 3px 3px 0px 0px;
|
||||
margin: 0 auto;
|
||||
font-family: 'Montserrat-Medium';
|
||||
}
|
||||
.auth-box .form{
|
||||
padding: 20px;
|
||||
|
|
@ -340,6 +341,19 @@ h6 {
|
|||
ul.banner-social-buttons > li:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.auth-box .form {
|
||||
padding: 15px 0px 0 0;
|
||||
}
|
||||
.auth-box.sign-up .form {
|
||||
padding: 15px 0px 0 0;
|
||||
}
|
||||
.auth-box .form .form-control {
|
||||
height: 44px;
|
||||
font-size: 13px;
|
||||
}
|
||||
.auth-container .auth-title {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
@media (max-width: 540px) {
|
||||
.auth-container .auth-title h2{
|
||||
|
|
@ -347,9 +361,16 @@ h6 {
|
|||
width: 90%;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-box .form {
|
||||
padding: 15px;
|
||||
.auth-container.auth-signup .auth-title h2{
|
||||
font-size: 20px;
|
||||
width: 90%;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.auth-box .form {
|
||||
width: 90%;
|
||||
}
|
||||
.auth-box .section-heading {
|
||||
font-size: 15px;
|
||||
}
|
||||
}
|
||||
footer {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
.order-detail-container {padding-top: 70px; padding-bottom: 11%;}
|
||||
.order-detail-container {padding-top: 70px; padding-bottom: 70px; margin-bottom: 70px;}
|
||||
|
||||
.order-detail-container .invoice-title h2, .invoice-title h3 {
|
||||
display: inline-block;
|
||||
|
|
|
|||
6
hosting/static/hosting/css/owl.carousel.min.css
vendored
Executable file
6
hosting/static/hosting/css/owl.carousel.min.css
vendored
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
/**
|
||||
* Owl Carousel v2.2.1
|
||||
* Copyright 2013-2017 David Deutsch
|
||||
* Licensed under ()
|
||||
*/
|
||||
.owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
|
||||
6
hosting/static/hosting/css/owl.theme.default.min.css
vendored
Executable file
6
hosting/static/hosting/css/owl.theme.default.min.css
vendored
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
/**
|
||||
* Owl Carousel v2.2.1
|
||||
* Copyright 2013-2017 David Deutsch
|
||||
* Licensed under ()
|
||||
*/
|
||||
.owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}
|
||||
|
|
@ -43,4 +43,188 @@
|
|||
|
||||
.virtual-machine-container .right-place{
|
||||
margin-top: 15px;
|
||||
}
|
||||
.virtual-machine-container .separate-md{
|
||||
margin-top: 35px;
|
||||
}
|
||||
.virtual-machine-container .box-setting{
|
||||
height: 100px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.virtual-machine-container .box-setting .label-success{
|
||||
padding-top: 4px;
|
||||
}
|
||||
.virtual-machine-container .form-ssh textarea{
|
||||
height: 150px !important
|
||||
}
|
||||
|
||||
/*Create VM Styles*/
|
||||
.parent-container{
|
||||
overflow-x: hidden;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
.parent-container ::-webkit-scrollbar {
|
||||
display: none;
|
||||
}
|
||||
.container-os{
|
||||
overflow: auto;
|
||||
padding: 0px 0px;
|
||||
min-width: 300px;
|
||||
width: auto;
|
||||
max-width: 800px;
|
||||
min-height: 150px;
|
||||
}
|
||||
.container-os .owl-next{
|
||||
position: absolute;
|
||||
right: -12px;
|
||||
top: 6px;
|
||||
color: gray !important;
|
||||
background: transparent !important;
|
||||
font-size: 54px !important;
|
||||
}
|
||||
.container-os .owl-prev{
|
||||
position: absolute;
|
||||
left: -12px;
|
||||
top: 6px;
|
||||
color: gray !important;
|
||||
background: transparent !important;
|
||||
font-size: 54px !important;
|
||||
}
|
||||
.container-os .owl-dots{
|
||||
display: none;
|
||||
}
|
||||
|
||||
.container-os .os-circle{
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #f7f7f7;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
min-width: 120px;
|
||||
border: 4px solid #b9b9b9;
|
||||
transition: all .1s ease-in;
|
||||
}
|
||||
.step-title{
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
.container-os.config .config-box{
|
||||
width: 115px;
|
||||
height: 115px;
|
||||
display: flex;
|
||||
margin: 0 auto;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
background: #f7f7f7;
|
||||
/* border-radius: 50%; */
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
min-width: 115px;
|
||||
border-radius: 7px;
|
||||
border: 4px solid #b9b9b9;
|
||||
transition: all .1s ease-in;
|
||||
}
|
||||
.container-os .os-circle.active{
|
||||
border: 6px solid #2dc32d;
|
||||
min-width: 135px;
|
||||
width: 135px;
|
||||
height: 135px;
|
||||
}
|
||||
.container-os .os-circle.active .text{
|
||||
font-size: 20px;
|
||||
line-height: 20px;
|
||||
}
|
||||
.container-os.config .config-box.active{
|
||||
border: 6px solid #5cb85c;
|
||||
min-width: 125px;
|
||||
width: 125px;
|
||||
height: 125px;
|
||||
}
|
||||
.container-os.config .config-box span{
|
||||
font-size: 14px;
|
||||
}
|
||||
.container-os.config .config-box.active span{
|
||||
font-size: 16px;
|
||||
}
|
||||
.container-os .os-circle .text{
|
||||
font-size: 16px;
|
||||
width: 50%;
|
||||
line-height: 16px;
|
||||
}
|
||||
|
||||
.container-button{
|
||||
text-align: right;
|
||||
display: none;
|
||||
}
|
||||
.container-button .btn{
|
||||
font-size: 17px;
|
||||
width: 150px;
|
||||
margin-top: 5px;
|
||||
|
||||
}
|
||||
|
||||
.container-button .price{
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
@media (max-width: 990px) {
|
||||
.virtual-machine-container .tabs-left {
|
||||
border-right: 0;
|
||||
}
|
||||
.virtual-machine-container .tabs-left>li.active>a,
|
||||
.virtual-machine-container .tabs-left>li.active>a:hover,
|
||||
.virtual-machine-container .tabs-left>li.active>a:focus {
|
||||
border: 1px solid #ddd;
|
||||
}
|
||||
.virtual-machine-container .tabs-left>li>a {
|
||||
border-radius: 4px;
|
||||
margin-right: 0;
|
||||
display:block;
|
||||
}
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.container-button{
|
||||
text-align: center;
|
||||
}
|
||||
.step-title{
|
||||
text-align: center;
|
||||
}
|
||||
.dashboard-title{
|
||||
text-align: center;
|
||||
}
|
||||
.container-os .os-circle{
|
||||
width: 105px;
|
||||
height: 105px;
|
||||
min-width: 105px;
|
||||
}
|
||||
.container-os .os-circle .text{
|
||||
font-size: 14px;
|
||||
line-height: 15px;
|
||||
}
|
||||
|
||||
.container-os .owl-next {
|
||||
right: 20px;
|
||||
top: 20px;
|
||||
font-size: 40px !important;
|
||||
}
|
||||
.container-os .owl-prev{
|
||||
position: absolute;
|
||||
left: 20px;
|
||||
top: 20px;
|
||||
font-size: 40px !important;
|
||||
}
|
||||
}
|
||||
@media (max-width: 420px) {
|
||||
.btn-create-vm {
|
||||
float: left !important;
|
||||
}
|
||||
}
|
||||
BIN
hosting/static/hosting/fonts/Lato/Lato-Black.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Black.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-BlackItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-BlackItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Bold.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Bold.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-BoldItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-BoldItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Hairline.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Hairline.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-HairlineItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Italic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Italic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Light.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Light.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-LightItalic.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-LightItalic.ttf
Executable file
Binary file not shown.
BIN
hosting/static/hosting/fonts/Lato/Lato-Regular.ttf
Executable file
BIN
hosting/static/hosting/fonts/Lato/Lato-Regular.ttf
Executable file
Binary file not shown.
|
|
@ -1,4 +1,4 @@
|
|||
Copyright 2011 The Montserrat Project Authors (julieta.ulanovsky@gmail.com)
|
||||
Copyright (c) 2010-2014 by tyPoland Lukasz Dziedzic (team@latofonts.com) with Reserved Font Name "Lato"
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
http://scripts.sil.org/OFL
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
89
hosting/static/hosting/js/createvm.js
Normal file
89
hosting/static/hosting/js/createvm.js
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
(function($){
|
||||
"use strict"; // Start of use strict
|
||||
|
||||
|
||||
$(window).load(function(){
|
||||
|
||||
|
||||
});
|
||||
|
||||
$(document).ready(function(){
|
||||
_initOs();
|
||||
_ifOverflow();
|
||||
|
||||
});
|
||||
|
||||
$(window).resize(function(){
|
||||
|
||||
_ifOverflow();
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
function _initOs(){
|
||||
|
||||
|
||||
$('.os-circle').click(function(event){
|
||||
$('.os-circle').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
|
||||
var idTemplate = $(this).data('id');
|
||||
$('input[name=vm_template_id]').val(idTemplate);
|
||||
});
|
||||
$('.config-box').click(function(event){
|
||||
$('.config-box').removeClass('active');
|
||||
$(this).addClass('active');
|
||||
var idConfig = $(this).data('id');
|
||||
var price = $(this).data('price');
|
||||
$('input[name=configuration]').val(idConfig);
|
||||
$('.container-button').fadeIn();
|
||||
$('#priceValue').text(price);
|
||||
});
|
||||
|
||||
$('.owl-carousel').owlCarousel({
|
||||
items:4,
|
||||
nav: true,
|
||||
margin:30,
|
||||
responsiveClass:true,
|
||||
navText: ['<i class="fa fa-angle-left"></i>', '<i class="fa fa-angle-right"></i>'],
|
||||
responsive:{
|
||||
0:{
|
||||
items:1,
|
||||
nav:true
|
||||
},
|
||||
600:{
|
||||
items:2,
|
||||
nav:true
|
||||
},
|
||||
768:{
|
||||
items:3,
|
||||
nav:true
|
||||
},
|
||||
990:{
|
||||
items:4,
|
||||
nav:true
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
function _ifOverflow(){
|
||||
|
||||
var dcContainer= document.getElementById('dcContainer');
|
||||
var containerOs= document.getElementById('containerOs');
|
||||
console.log('d-c', dcContainer.offsetWidth-20);
|
||||
console.log('d-os', containerOs.scrollWidth);
|
||||
|
||||
if(dcContainer.offsetWidth-20 < containerOs.scrollWidth){
|
||||
console.log('oooVerrflowwww');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
})(jQuery);
|
||||
|
||||
|
||||
7
hosting/static/hosting/js/vendor/owl.carousel.min.js
vendored
Executable file
7
hosting/static/hosting/js/vendor/owl.carousel.min.js
vendored
Executable file
File diff suppressed because one or more lines are too long
|
|
@ -29,6 +29,8 @@
|
|||
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
|
||||
<link href="//fonts.googleapis.com/css?family=Lato:300,400,700,300italic,400italic,700italic" rel="stylesheet" type="text/css">
|
||||
<link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" />
|
||||
<link rel="stylesheet" href="{% static 'hosting/css/owl.carousel.min.css' %}">
|
||||
<link rel="stylesheet" href="{% static 'hosting/css/owl.theme.default.min.css' %}">
|
||||
|
||||
|
||||
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||
|
|
@ -115,58 +117,23 @@
|
|||
|
||||
{% endif %}
|
||||
|
||||
<!-- Header -->
|
||||
<a name="about"></a>
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
<div class="content-dashboard">
|
||||
{% block content %}
|
||||
{% endblock %}
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
{% if request.user.is_authenticated %}
|
||||
<footer class="navbar-fixed-bottom">
|
||||
<footer class="footer-vm">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-lg-12 hidden-xs">
|
||||
<ul class="list-inline">
|
||||
<li>
|
||||
<a href="#">{% trans "Home"%}</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:virtual_machines' %}">
|
||||
{% trans "My Virtual Machines"%}
|
||||
</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:orders' %}">
|
||||
{% trans "My Orders"%}
|
||||
</a>
|
||||
</li>
|
||||
<li>⋅</li>
|
||||
<li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:ssh_keys' %}">
|
||||
{% trans "Keys"%}
|
||||
</a>
|
||||
</li>
|
||||
<li class="footer-menu-divider">⋅</li>
|
||||
<li>
|
||||
<a href="{% url 'hosting:notifications' %}">
|
||||
{% trans "Notifications "%}
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</div>
|
||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p>
|
||||
</div>
|
||||
</footer>
|
||||
{% endif %}
|
||||
<!-- jQuery -->
|
||||
<script src="{% static 'hosting/js/jquery.js' %}"></script>
|
||||
<script type="text/javascript" src="//cdn.jsdelivr.net/jquery.validation/1.13.1/jquery.validate.min.js"></script>
|
||||
|
||||
<script src="{% static 'hosting/js/vendor/owl.carousel.min.js'%}"></script>
|
||||
<!-- Copy Clipboard -->
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.5.10/clipboard.min.js"></script>
|
||||
|
||||
|
|
@ -177,6 +144,9 @@
|
|||
<!-- Virtual Machine Detail Javascript -->
|
||||
<script src="{% static 'hosting/js/virtual_machine_detail.js' %}"></script>
|
||||
|
||||
<!-- Create Virtual Machine Javascript -->
|
||||
<script src="{% static 'hosting/js/createvm.js' %}"></script>
|
||||
|
||||
<!-- Init JavaScript -->
|
||||
<script src="{% static 'hosting/js/initial.js' %}"></script>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<div class="">
|
||||
<div class="orders-container" style="padding-bottom: 15%">
|
||||
{# Adress bar #}
|
||||
<div class="row">
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container">
|
||||
<div class="container orders-container">
|
||||
<div class="">
|
||||
<div class="orders-container">
|
||||
<h1>Error</h1>
|
||||
<p> Could not get HostingBill object for client. </p>
|
||||
<p> Please create a HostingBill object via the admin page </p>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
{% block content %}
|
||||
|
||||
<div>
|
||||
<div class="container orders-container">
|
||||
<div class="orders-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<table class="table borderless table-hover">
|
||||
|
|
|
|||
|
|
@ -3,11 +3,15 @@
|
|||
{% load i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="intro-auth intro-reset-password">
|
||||
<div class="container">
|
||||
<div class="col-md-4"> </div>
|
||||
<div class="col-md-4">
|
||||
<div class="intro-message">
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="auth-center">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
<div class="intro-message auth-box sign-up">
|
||||
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
||||
{% if messages %}
|
||||
<ul class="list-unstyled">
|
||||
{% for message in messages %}
|
||||
|
|
@ -15,10 +19,7 @@
|
|||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
<h2 class="section-heading">{% trans "Set your new password"%}</h2>
|
||||
|
||||
<form action="" method="post" class="form" novalidate>
|
||||
<form action="" method="post" class="form" novalidate>
|
||||
{% csrf_token %}
|
||||
{% for field in form %}
|
||||
{% bootstrap_field field show_label=False %}
|
||||
|
|
@ -29,11 +30,17 @@
|
|||
</button>
|
||||
{% endbuttons %}
|
||||
</form>
|
||||
<span>{% trans "Already have an account ?"%}<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Log in"%}</a></span>
|
||||
<ul class="list-inline intro-social-buttons">
|
||||
</ul>
|
||||
</div>
|
||||
<div class="auth-footer">
|
||||
<div class="text">
|
||||
<span>{% trans "Already have an account ?"%}</span>
|
||||
</div>
|
||||
<div class="links">
|
||||
<a class="unlink" href="{% url 'hosting:login' %}">{% trans "Login"%}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container dashboard-container">
|
||||
<div class="dashboard-container" >
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
{% if messages %}
|
||||
|
|
@ -16,39 +16,52 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% if not error %}
|
||||
<h3><i class="fa fa-server" aria-hidden="true"></i> {% trans "New Virtual Machine"%} </h3>
|
||||
<hr/>
|
||||
<form method="POST" action="">
|
||||
<div class="dashboard-title">
|
||||
<h3>{% trans "New Virtual Machine"%} </h3>
|
||||
<hr/>
|
||||
</div>
|
||||
|
||||
<form method="POST" action="">
|
||||
{% csrf_token %}
|
||||
<div class="form-group">
|
||||
{% trans "Select VM Template:" %}
|
||||
<select name="vm_template_id">
|
||||
{% for template in templates %}
|
||||
<option value="{{template.id}}">{{template.name}} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{% trans "Select VM Configuration:" %}
|
||||
<select name="configuration">
|
||||
{% for config in configuration_options %}
|
||||
<option value="{{config.id}}">
|
||||
CORE: {{config.cpu|floatformat}},
|
||||
RAM: {{config.memory|floatformat}} GB,
|
||||
SSD: {{config.disk_size|floatformat}} GB,
|
||||
PRICE: {{config.price|floatformat}} {% trans "CHF/Month" %}
|
||||
</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
|
||||
<div class="step-title">
|
||||
<h4>{% trans "Step 1. Select VM Template:" %} </h4>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<button class="btn btn-success" >{% trans "Start VM"%} </button>
|
||||
<div class="parent-container">
|
||||
<div class="container-os owl-carousel owl-theme" id="containerOs">
|
||||
|
||||
{% for template in templates %}
|
||||
<div class="os-circle" data-id="{{template.id}}">
|
||||
<span class="text" >{{template.name}}</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<input type="hidden" name="vm_template_id">
|
||||
</div>
|
||||
<div class="step-title">
|
||||
<h4>{% trans "Step2. Select VM Configuration" %}</h4>
|
||||
</div>
|
||||
<div class="parent-container">
|
||||
<div class="container-os config owl-carousel owl-theme">
|
||||
|
||||
{% for config in configuration_options %}
|
||||
<div class="config-box" data-id="{{config.id}}" data-price="{{config.price|floatformat}}">
|
||||
<span>CORE: {{config.cpu|floatformat}}</span>
|
||||
<span>RAM: {{config.memory|floatformat}} GB</span>
|
||||
<span>SSD: {{config.disk_size|floatformat}} GB</span>
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<input type="hidden" name="configuration">
|
||||
</div>
|
||||
<div class="container-button">
|
||||
<div class="price">
|
||||
<span class="label-price">{% trans "Price " %}<span id="priceValue">0</span>{% trans "CHF/Month" %}</span>
|
||||
</div>
|
||||
<button class="btn btn-success" >{% trans "Start VM"%} </button>
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,29 +5,14 @@
|
|||
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
|
||||
<div class="auth-center">
|
||||
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
|
||||
{% if messages %}
|
||||
<ul class="list-unstyled" style="color: #fff">
|
||||
{% for message in messages %}
|
||||
<li>{{ message }}</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% block messages %}
|
||||
{% if request.GET.logged_out %}
|
||||
<div class="alert"> <!-- singular -->
|
||||
<a class="close" data-dismiss="alert">×</a>
|
||||
{% trans "You haven been logged out"%}
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endblock %}
|
||||
|
||||
<div class="intro-message auth-box">
|
||||
<h2 class="section-heading">{% trans "Login"%}</h2>
|
||||
<form action="{% url 'hosting:login' %}" method="post" class="form" novalidated>
|
||||
|
|
@ -55,9 +40,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /.container -->
|
||||
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-sm-12">
|
||||
<h3><i class="fa fa-bell" aria-hidden="true"></i>{% trans "Notifications"%} </h3>
|
||||
<h3><i class="fa fa-bell fa-separate" aria-hidden="true"></i>{% trans "Notifications"%} </h3>
|
||||
<hr/>
|
||||
<div class="col-md-3"> <!-- required for floating -->
|
||||
<!-- Nav tabs -->
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
{% load i18n %}
|
||||
{% block content %}
|
||||
|
||||
<div class="container order-detail-container">
|
||||
<div class="order-detail-container">
|
||||
<div class="row">
|
||||
<div class="col-xs-8 col-xs-offset-2">
|
||||
<div class="col-xs-12 col-md-8 col-md-offset-2">
|
||||
<div class="invoice-title">
|
||||
<h2>{% trans "Invoice"%}</h2><h3 class="pull-right">{% trans "Order #"%} {{order.id}}</h3>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,11 @@
|
|||
{% block content %}
|
||||
|
||||
<div>
|
||||
<div class="container orders-container">
|
||||
<div class="orders-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2">
|
||||
<div class="container-table col-md-8 col-md-offset-2">
|
||||
<table class="table borderless table-hover">
|
||||
<h3><i class="fa fa-credit-card"></i>{% trans "My Orders"%}</h3>
|
||||
<h3><i class="fa fa-credit-card fa-separate"></i>{% trans "My Orders"%}</h3>
|
||||
<br/>
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
{% block content %}
|
||||
<!-- Credit card form -->
|
||||
<div>
|
||||
<div class="container payment-container">
|
||||
<div class="payment-container">
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-offset-2 col-md-4 summary-box">
|
||||
<form role="form" novalidate>
|
||||
|
|
|
|||
|
|
@ -5,11 +5,12 @@
|
|||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
<div class="auth-center">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
<div class="auth-content">
|
||||
|
||||
<div class="intro-message auth-box sign-up">
|
||||
<h2 class="section-heading">{% trans "Reset your password"%}</h2>
|
||||
<form action="{% url 'hosting:reset_password' %}" method="post" class="form" novalidate>
|
||||
|
|
@ -32,7 +33,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
|
||||
{% block content %}
|
||||
<div class="auth-container">
|
||||
<div class="auth-container auth-signup">
|
||||
<div class="auth-bg"></div>
|
||||
<div class="container">
|
||||
<div class="auth-center ">
|
||||
<div class="auth-title">
|
||||
<h2>{% trans "Your VM hosted in Switzerland"%}</h2>
|
||||
</div>
|
||||
|
|
@ -31,7 +31,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="container-table col-md-9 col-md-offset-2">
|
||||
<div class="col-sm-12">
|
||||
<form method="POST" action="" novalidate>
|
||||
<form method="POST" action="" novalidate class="form-ssh">
|
||||
{% csrf_token %}
|
||||
<h3><i class="fa fa-key" aria-hidden="true"></i>{% trans "Access Key"%} </h3>
|
||||
<h3><i class="fa fa-key fa-separate" aria-hidden="true"></i>{% trans "Access Key"%} </h3>
|
||||
{% if messages %}
|
||||
<div class="alert alert-warning">
|
||||
{% for message in messages %}
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container virtual-machine-container dashboard-container ">
|
||||
<div class="virtual-machine-container dashboard-container ">
|
||||
<div class="row">
|
||||
<div class="col-md-9 col-md-offset-2">
|
||||
<div class="col-sm-12">
|
||||
<h3><i class="fa fa-cloud" aria-hidden="true"></i> {{virtual_machine.name}}</h3>
|
||||
<h3><i class="fa fa-cloud fa-separate" aria-hidden="true"></i> {{virtual_machine.name}}</h3>
|
||||
<hr/>
|
||||
<div class="col-md-3"> <!-- required for floating -->
|
||||
<!-- Nav tabs -->
|
||||
|
|
@ -71,20 +71,22 @@
|
|||
<div class="col-md-12">
|
||||
<div class="row">
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<i class="fa fa-cubes" aria-hidden="true"></i>{% trans "Cores"%} <br/>
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-cubes" aria-hidden="true"></i>
|
||||
<span>{% trans "Cores"%}</span>
|
||||
<span class="label label-success">{{virtual_machine.cores}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-tachometer" aria-hidden="true"></i> {% trans "Memory"%} <br/>
|
||||
<span class="label label-success">{{virtual_machine.memory}} GiB</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="well text-center">
|
||||
<i class="fa fa-hdd-o" aria-hidden="true"></i> {% trans "Disk"%} <br/>
|
||||
<div class="well text-center box-setting">
|
||||
<i class="fa fa-hdd-o" aria-hidden="true"></i>
|
||||
<span>{% trans "Disk"%}</span>
|
||||
<span class="label label-success">{{virtual_machine.disk_size|floatformat:2}} GiB</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -130,7 +132,7 @@
|
|||
</div>
|
||||
{% if not virtual_machine.status == 'canceled' %}
|
||||
<div class="row">
|
||||
<div class="col-md-12 space-above-big">
|
||||
<div class="col-md-12 separate-md">
|
||||
<div class="pull-right">
|
||||
<form method="POST"
|
||||
id="virtual_machine_cancel_form" class="cancel-form" action="{% url 'hosting:virtual_machines' virtual_machine.vm_id %}">
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
{% load staticfiles bootstrap3 i18n %}
|
||||
{% block content %}
|
||||
<div>
|
||||
<div class="container dashboard-container">
|
||||
<div class="dashboard-container">
|
||||
<div class="row">
|
||||
<div class="col-md-8 col-md-offset-2" style="margin-top: 35px;">
|
||||
<div class="col-xs-12 container-table">
|
||||
<table class="table borderless table-hover">
|
||||
<h3 class="pull-left"><i class="fa fa-server" aria-hidden="true"></i> {% trans "Virtual Machines"%} </h3>
|
||||
<h3 class="pull-left"><i class="fa fa-server fa-separate" aria-hidden="true"></i> {% trans "Virtual Machines"%} </h3>
|
||||
<div class="col-md-12">
|
||||
<br/>
|
||||
{% if messages %}
|
||||
|
|
@ -18,7 +18,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
{% if not error %}
|
||||
<p class="pull-right">
|
||||
<p class="pull-right btn-create-vm">
|
||||
<a class="btn btn-success" href="{% url 'hosting:create_virtual_machine' %}" >{% trans "Create VM"%} </a>
|
||||
</p>
|
||||
<br/>
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ class SSHKeyDeleteView(LoginRequiredMixin, DeleteView):
|
|||
manager = OpenNebulaManager()
|
||||
pk = self.kwargs.get('pk')
|
||||
# Get user ssh key
|
||||
public_key = UserHostingKey.objects.get(pk=pk)
|
||||
public_key = UserHostingKey.objects.get(pk=pk).public_key
|
||||
# Add ssh key to user
|
||||
try:
|
||||
manager.remove_public_key(user=owner, public_key=public_key)
|
||||
|
|
@ -369,7 +369,7 @@ class SSHKeyCreateView(LoginRequiredMixin, FormView):
|
|||
manager = OpenNebulaManager()
|
||||
|
||||
# Get user ssh key
|
||||
public_key = form.cleaned_data.get('public_key')
|
||||
public_key = form.cleaned_data.get('public_key', '').decode('utf-8')
|
||||
# Add ssh key to user
|
||||
try:
|
||||
manager.add_public_key(user=owner, public_key=public_key, merge=True)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue