Merge pull request #459 from tiwariav/task/3703/hosting_dashboard

Task/3703 new hosting dashboard
This commit is contained in:
Arvind Tiwari 2017-08-30 16:42:28 +05:30 committed by GitHub
commit 9fff4ca544
15 changed files with 308 additions and 193 deletions

View file

@ -172,6 +172,27 @@ msgstr "CHF/Monat"
msgid "Start VM" msgid "Start VM"
msgstr "VM jetzt starten" msgstr "VM jetzt starten"
msgid "My Dashboard"
msgstr "Mein Dashboard"
msgid "Create VM"
msgstr "VM erstellen"
msgid "My VMs"
msgstr "Meine VMs"
msgid "My SSH Keys"
msgstr "Meine SSH Keys"
msgid "My Bills"
msgstr "Meine Rechnungen"
msgid "My Settings"
msgstr "Meine Einstellungen"
msgid "Support / Contact"
msgstr "Support / Kontakt"
#, python-format #, python-format
msgid "" msgid ""
"You're receiving this email because you requested a password reset for your " "You're receiving this email because you requested a password reset for your "
@ -345,8 +366,6 @@ msgstr "Erstelle dein neues Keypaar"
msgid "Warning!" msgid "Warning!"
msgstr "Achtung!" msgstr "Achtung!"
#, fuzzy
#| msgid "You can download your SSH private key once. Don't lost your key"
msgid "You can download your SSH private key once. Don't loose your key" msgid "You can download your SSH private key once. Don't loose your key"
msgstr "" msgstr ""
"Du kannst deinen privaten SSH Schlüssel nur einmal herunterladen. Beware ihn " "Du kannst deinen privaten SSH Schlüssel nur einmal herunterladen. Beware ihn "
@ -382,8 +401,6 @@ msgstr "Möchtest Du den Schlüssel löschen?"
msgid "Show" msgid "Show"
msgstr "Anzeigen" msgstr "Anzeigen"
#, fuzzy
#| msgid "Public SSH Key"
msgid "Public SSH Key" msgid "Public SSH Key"
msgstr "Public SSH Key" msgstr "Public SSH Key"
@ -423,9 +440,6 @@ msgstr "Fehlgeschlagen"
msgid "Terminate VM" msgid "Terminate VM"
msgstr "VM Beenden" msgstr "VM Beenden"
msgid "Support / Contact"
msgstr "Support / Kontakt"
msgid "Something doesn't work?" msgid "Something doesn't work?"
msgstr "Etwas funktioniert nicht?" msgstr "Etwas funktioniert nicht?"
@ -492,20 +506,7 @@ msgstr "Bestellung Bestätigen"
msgid "" msgid ""
"We could not find the requested VM. Please " "We could not find the requested VM. Please "
"contact Data Center Light Support." "contact Data Center Light Support."
msgstr "" msgstr "Kontaktiere den Data Center Light Support."
#~ msgid ""
#~ "\n"
#~ " You are not making any "
#~ "payment yet. After submitting your card\n"
#~ " information, you will be "
#~ "taken to the Confirm Order Page.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Es wird noch keine Bezahlung vorgenommen. Nach der Eingabe Deiner "
#~ "Kreditkateninformationen wirst du auf die Bestellbestätigungsseite "
#~ "weitergeleitet."
#~ msgid "Approved" #~ msgid "Approved"
#~ msgstr "Akzeptiert" #~ msgstr "Akzeptiert"
@ -516,24 +517,9 @@ msgstr ""
#~ msgid "Cancel Order" #~ msgid "Cancel Order"
#~ msgstr "Bestellung stornieren" #~ msgstr "Bestellung stornieren"
#, fuzzy
#~| msgid "Do You want to delete your order?"
#~ msgid "Do you want to delete your order?" #~ msgid "Do you want to delete your order?"
#~ msgstr "Willst du deine Bestellung löschen?" #~ msgstr "Willst du deine Bestellung löschen?"
#~ msgid ""
#~ "\n"
#~ " You are not making any payment "
#~ "yet. After submitting your card\n"
#~ " information, you will be taken to "
#~ "the Confirm Order Page.\n"
#~ " "
#~ msgstr ""
#~ "\n"
#~ "Es wird noch keine Bezahlung vorgenommen. Nach der Eingabe Deiner "
#~ "Kreditkateninformationen wirst du auf die Bestellbestätigungsseite "
#~ "weitergeleitet."
#~ msgid "Ip not assigned yet" #~ msgid "Ip not assigned yet"
#~ msgstr "Ip nicht zugewiesen" #~ msgstr "Ip nicht zugewiesen"
@ -561,82 +547,12 @@ msgstr ""
#~ msgid "Keys" #~ msgid "Keys"
#~ msgstr "Schlüssel" #~ msgstr "Schlüssel"
#, fuzzy
#~| msgid "Contact"
#~ msgid "Content"
#~ msgstr "Kontakt"
#, fuzzy
#~| msgid "Contact"
#~ msgid "DG.Contact"
#~ msgstr "Kontakt"
#, fuzzy
#~| msgid "Home"
#~ msgid "DG.Home"
#~ msgstr "Home"
#, fuzzy
#~| msgid "Amount"
#~ msgid "Country"
#~ msgstr "Betrag"
#~ msgid "Log in" #~ msgid "Log in"
#~ msgstr "Anmelden" #~ msgstr "Anmelden"
#, fuzzy
#~| msgid "Configuration"
#~ msgid "Donation #"
#~ msgstr "Konfiguration"
#, fuzzy
#~| msgid "Billing Address"
#~ msgid "Billing Address:"
#~ msgstr "Rechnungsadresse"
#, fuzzy
#~| msgid "Date"
#~ msgid "Date:"
#~ msgstr "Datum"
#, fuzzy
#~| msgid "Configuration"
#~ msgid "Donation"
#~ msgstr "Konfiguration"
#, fuzzy
#~| msgid "View Detail"
#~ msgid "View Donations"
#~ msgstr "Details anzeigen"
#~ msgid "You haven been logged out" #~ msgid "You haven been logged out"
#~ msgstr "Sie wurden abgmeldet" #~ msgstr "Sie wurden abgmeldet"
#, fuzzy
#~| msgid "Log in"
#~ msgid "Log in "
#~ msgstr "Anmelden"
#, fuzzy
#~| msgid "View Detail"
#~ msgid "DG.Detail"
#~ msgstr "Details anzeigen"
#, fuzzy
#~| msgid "Cancel"
#~ msgid "France"
#~ msgstr "Beenden"
#, fuzzy
#~| msgid "Enter your credit card number"
#~ msgid "Enter your name or company name"
#~ msgstr "Deine Kreditkartennummer"
#, fuzzy
#~| msgid "Card Number"
#~ msgid "Cardholder Name"
#~ msgstr "Kreditkartennummer"
#~ msgid "How it works" #~ msgid "How it works"
#~ msgstr "So funktioniert es" #~ msgstr "So funktioniert es"
@ -658,9 +574,6 @@ msgstr ""
#~ msgid "Generate Key Pair" #~ msgid "Generate Key Pair"
#~ msgstr "Schlüsselpaar generieren" #~ msgstr "Schlüsselpaar generieren"
#~ msgid "Created at"
#~ msgstr "Erstellt am"
#~ msgid "Billing Amount" #~ msgid "Billing Amount"
#~ msgstr "Rechnungsbetrag" #~ msgstr "Rechnungsbetrag"

View file

@ -0,0 +1,85 @@
.hosting-dashboard:after {
content: '';
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(91, 116, 173, 0.7);
z-index: -1;
}
.hosting-dashboard:before {
content: '';
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(../../datacenterlight/img/pattern.jpg) no-repeat center center;
background-size: cover;
z-index: -2;
height: 100%;
}
.hosting-dashboard .dashboard-container-head {
color: #fff;
margin-bottom: 60px;
}
.hosting-dashboard-item {
background: #e9ebee;
box-shadow: 1px 3px 3px rgba(0,0,0,0.4);
padding: 25px;
color: rgba(124, 139, 175, 1);
font-size: 19px;
display: block;
margin-bottom: 20px;
}
.hosting-dashboard-item:hover,
.hosting-dashboard-item:focus,
.hosting-dashboard-item:active {
text-decoration: none;
color: #7c8baf;
background: #fff;
}
.hosting-dashboard-item h2 {
margin: 0;
font-size: 18px;
padding-bottom: 15px;
border-bottom: 2px solid #acb5cf;
margin-bottom: 10px;
}
.hosting-dashboard-image {
height: 120px;
fill: #8b9bb7;
display: flex;
align-items: center;
}
.hosting-dashboard-item:hover .hosting-dashboard-image,
.hosting-dashboard-item:focus .hosting-dashboard-image,
.hosting-dashboard-item:active .hosting-dashboard-image {
fill: #6D84AC;
color: #6D84AC;
}
.hosting-dashboard-image img,
.hosting-dashboard-image svg {
width: 100%;
height: 100%;
max-height: 79px;
}
.hosting-dashboard-image img {
opacity: 0.2;
}
@media (min-width: 768px) {
.hosting-dashboard-content {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.hosting-dashboard-item {
width: 31.5%;
}
}

View file

@ -440,10 +440,11 @@
} }
.dashboard-title-thin .un-icon { .dashboard-title-thin .un-icon {
height: 30px; height: 34px;
margin-right: 5px; margin-right: 5px;
margin-top: -1px; margin-top: -2px;
width: 30px; width: 34px;
vertical-align: middle;
} }
.dashboard-subtitle { .dashboard-subtitle {
@ -528,8 +529,8 @@
font-size: 22px; font-size: 22px;
} }
.dashboard-title-thin .un-icon { .dashboard-title-thin .un-icon {
height: 20px; height: 22px;
width: 18px; width: 22px;
margin-top: -3px; margin-top: -3px;
} }
.dashboard-subtitle p { .dashboard-subtitle p {

View file

@ -1,61 +1,15 @@
<?xml version="1.0" encoding="iso-8859-1"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Generator: Adobe Illustrator 18.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> <svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" <title>Slice 23</title>
viewBox="0 0 279.525 279.525" style="enable-background:new 0 0 279.525 279.525;" xml:space="preserve"> <desc>Created with Sketch.</desc>
<g> <defs></defs>
<path d="M165.066,1.544c-29.272,0-56.007,11.05-76.268,29.191c4.494,7.146,7.047,15.46,7.287,24.042l0.001,0.025l0.001,0.025 <g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
c0.102,3.867,0.333,7.735,0.664,11.597c15.368-21.117,40.258-34.88,68.315-34.88c46.571,0,84.459,37.888,84.459,84.459 <g id="24-hours-support" transform="translate(5.000000, 7.000000)" fill-rule="nonzero">
c0,46.08-37.098,83.634-82.994,84.422c4.191,3.502,8.518,6.84,12.976,9.974l0.02,0.015l0.021,0.014 <path d="M46.5951681,0.152636732 C38.3819652,0.152636732 30.8805993,3.25307034 25.1957228,8.34311252 C26.4566594,10.3481531 27.1729858,12.6809138 27.2403255,15.0888704 C27.2695061,16.187911 27.3343206,17.2732031 27.4271933,18.3568116 C31.7391809,12.4317567 38.7228726,8.57010354 46.5951681,8.57010354 C59.662163,8.57010354 70.2928624,19.200803 70.2928624,32.2677979 C70.2928624,45.1970269 59.883823,55.7340118 47.0062211,55.9551106 C48.1821412,56.9377096 49.3962205,57.8742931 50.6470561,58.7536378 C52.3616941,59.9632278 53.7488926,61.5384164 54.7222323,63.3400349 C68.5080789,59.7314668 78.7100487,47.1692394 78.7100487,32.2677979 C78.7103293,14.5594118 64.3038348,0.152636732 46.5951681,0.152636732 Z" id="Shape"></path>
c6.07,4.282,11.014,9.896,14.483,16.317c49.133-12.861,85.493-57.633,85.493-110.742C279.525,52.89,228.18,1.544,165.066,1.544z"/> <path d="M45.8067321,65.6399674 C42.1378389,62.7112501 39.8488491,60.760923 36.5730516,57.7264262 C35.6092516,56.8336136 34.4313674,56.2774996 33.2217774,56.2774996 C32.2961367,56.2774996 31.3819998,56.5723915 30.6294782,57.189953 C29.8528266,57.8437096 29.076175,58.4974662 28.2992428,59.1509422 C21.9864233,51.6487346 17.298736,42.9066342 14.543138,33.4970286 C15.5173195,33.2119571 16.4917816,32.9266049 17.4659631,32.6415334 C19.6129783,31.9841292 20.6230743,29.692053 20.3079804,27.3943652 C19.6225181,22.3932675 19.2501854,19.9087119 18.8259451,15.3242789 C18.6084939,12.9744028 17.0445285,10.9331671 14.8029571,10.8111138 C14.4533517,10.7771633 14.1040268,10.7603284 13.7575078,10.7603284 C5.42140979,10.7603284 -1.83669126,20.422458 0.848200072,32.242826 C4.18909265,46.881362 11.4216607,60.3692302 21.7658857,71.2524537 C26.0032385,75.7013655 31.1942903,77.7159458 35.8825387,77.7159458 C40.8283616,77.7159458 45.2149841,75.4757773 47.3395528,71.4884233 C48.478436,69.5538089 47.6512796,67.1124629 45.8067321,65.6399674 Z" id="Shape"></path>
<path d="M162.256,234.942c-13.076-10.438-21.234-17.389-32.909-28.204c-3.435-3.182-7.633-5.164-11.944-5.164 <path d="M36.9372473,32.862071 C34.7172807,34.9218251 33.2647065,36.5413458 32.4975947,37.8123833 C31.956071,38.7088435 31.5610112,39.6566502 31.3227969,40.6294288 C31.2108446,41.087339 31.3138183,41.5626453 31.6053432,41.9338556 C31.8965876,42.3045047 32.3337347,42.517186 32.8051128,42.517186 L43.3993366,42.517186 C44.6973099,42.517186 45.7534214,41.4610745 45.7534214,40.1631011 C45.7534214,38.8651278 44.6973099,37.8090163 43.3993366,37.8090163 L38.615129,37.8090163 C38.6541299,37.7630008 38.6942532,37.7169853 38.7352182,37.6706892 C39.0477868,37.3188391 39.8132151,36.5837137 41.0098983,35.4863566 C42.2649426,34.3345665 43.1123009,33.4720568 43.6002334,32.8494448 C44.3356394,31.9134225 44.8827748,30.9995662 45.2259269,30.1336894 C45.5758129,29.2512583 45.7534214,28.3104661 45.7534214,27.3371264 C45.7534214,25.5907826 45.1209891,24.1084667 43.8738011,22.9305825 C42.63475,21.7622381 40.9290906,21.1702096 38.8033997,21.1702096 C36.8718716,21.1702096 35.2313073,21.6758188 33.9277223,22.673008 C33.1412503,23.2751375 32.5357539,24.1093084 32.1277873,25.1530743 C31.8522556,25.8581775 31.9235235,26.6648514 32.3185832,27.3104711 C32.713643,27.9563714 33.399386,28.3870651 34.1527493,28.4622611 C34.2366433,28.4706786 34.3202569,28.4748873 34.402748,28.4748873 C35.4630683,28.4748873 36.4086304,27.8006482 36.7559912,26.7972862 C36.8648571,26.4827535 37.0087958,26.2327547 37.1844402,26.0537433 C37.5542476,25.6769213 38.0522811,25.4934206 38.7074406,25.4934206 C39.3732622,25.4934206 39.8707345,25.6668204 40.2276351,26.0234404 C40.5836939,26.3794992 40.7568131,26.8988569 40.7568131,27.6115358 C40.7568131,28.2734293 40.5202823,28.9636616 40.0539547,29.6637142 C39.8039559,30.0301546 39.0567654,30.8873333 36.9372473,32.862071 Z" id="Shape"></path>
c-3.299,0-6.557,1.051-9.239,3.252c-2.768,2.33-5.536,4.66-8.305,6.989c-22.499-26.738-39.206-57.895-49.027-91.431 <path d="M58.1464578,21.1702096 L56.3768257,21.1702096 C55.8726195,21.1702096 55.4018025,21.4188055 55.1172921,21.8351895 L46.9332697,33.8154894 C46.6944942,34.1650949 46.5682322,34.5739032 46.5682322,34.9973018 L46.5682322,36.9386502 C46.5682322,37.7795551 47.2525723,38.4638952 48.0934772,38.4638952 L54.8120186,38.4638952 L54.8120186,40.0876245 C54.8120186,41.4274047 55.9020806,42.5174666 57.2418607,42.5174666 C58.5816409,42.5174666 59.6717028,41.4274047 59.6717028,40.0876245 L59.6717028,38.4638952 L59.9144064,38.4638952 C61.1593498,38.4638952 62.1722516,37.4509933 62.1722516,36.20605 C62.1722516,34.9611067 61.1593498,33.9482048 59.9144064,33.9482048 L59.6717028,33.9482048 L59.6717028,22.6954546 C59.6717028,21.8545497 58.9873628,21.1702096 58.1464578,21.1702096 Z M54.8122992,33.9482048 L51.7966014,33.9482048 L54.8122992,29.465062 L54.8122992,33.9482048 Z" id="Shape"></path>
c3.472-1.016,6.945-2.033,10.417-3.049c7.652-2.343,11.252-10.512,10.129-18.701c-2.443-17.824-3.77-26.679-5.282-43.018 </g>
c-0.775-8.375-6.349-15.65-14.338-16.085c-1.246-0.121-2.491-0.181-3.726-0.181c-29.71,0-55.578,34.436-46.009,76.564 </g>
c11.907,52.172,37.684,100.243,74.551,139.031c15.102,15.856,33.603,23.036,50.312,23.036c17.627,0,33.261-7.984,40.833-22.195 </svg>
C171.778,248.891,168.83,240.19,162.256,234.942z"/>
<path d="M130.645,118.121c-7.912,7.341-13.089,13.113-15.823,17.643c-1.93,3.195-3.338,6.573-4.187,10.04
c-0.399,1.632-0.032,3.326,1.007,4.649c1.038,1.321,2.596,2.079,4.276,2.079h37.758c4.626,0,8.39-3.764,8.39-8.39
c0-4.626-3.764-8.39-8.39-8.39h-17.051c0.139-0.164,0.282-0.328,0.428-0.493c1.114-1.254,3.842-3.874,8.107-7.785
c4.473-4.105,7.493-7.179,9.232-9.398c2.621-3.336,4.571-6.593,5.794-9.679c1.247-3.145,1.88-6.498,1.88-9.967
c0-6.224-2.254-11.507-6.699-15.705c-4.416-4.164-10.495-6.274-18.071-6.274c-6.884,0-12.731,1.802-17.377,5.356
c-2.803,2.146-4.961,5.119-6.415,8.839c-0.982,2.513-0.728,5.388,0.68,7.689c1.408,2.302,3.852,3.837,6.537,4.105
c0.299,0.03,0.597,0.045,0.891,0.045c3.779,0,7.149-2.403,8.387-5.979c0.388-1.121,0.901-2.012,1.527-2.65
c1.318-1.343,3.093-1.997,5.428-1.997c2.373,0,4.146,0.618,5.418,1.889c1.269,1.269,1.886,3.12,1.886,5.66
c0,2.359-0.843,4.819-2.505,7.314C140.862,108.028,138.199,111.083,130.645,118.121z"/>
<path d="M206.235,76.451h-6.307c-1.797,0-3.475,0.886-4.489,2.37l-29.168,42.698c-0.851,1.246-1.301,2.703-1.301,4.212v6.919
c0,2.997,2.439,5.436,5.436,5.436h23.945v5.787c0,4.775,3.885,8.66,8.66,8.66c4.775,0,8.66-3.885,8.66-8.66v-5.787h0.865
c4.437,0,8.047-3.61,8.047-8.047c0-4.437-3.61-8.047-8.047-8.047h-0.865V81.887C211.671,78.89,209.232,76.451,206.235,76.451z
M194.352,121.992h-10.748l10.748-15.978V121.992z"/>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View file

@ -1 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="symbol symbol-billing" aria-labelledby="title" role="img"><title id="title">billing icon</title><g data-name="Layer 1"><path class="cls-1" d="M.37.023v15.954l2.775-1.387 2.775 1.387L8 14.59l2.775 1.387 2.081-1.387 2.775 1.387V.023zm13.873 13.709l-1.487-.744-2.081 1.387L7.9 12.989l-2.08 1.387-2.675-1.337-1.387.694V1.41h12.485z" role="presentation"/><path class="cls-1" d="M4.206 3.617h7.741v1.348H4.206zm0 2.697h7.741v1.349H4.206zm0 2.697h7.741v1.349H4.206z" role="presentation"/></g></svg> <?xml version="1.0" encoding="UTF-8"?>
<svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>Slice 23</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
<g id="billing.9cb6c82b" transform="translate(10.000000, 8.000000)" fill-rule="nonzero">
<path d="M0.432900478,0.106254164 L0.432900478,73.8096859 L13.2526963,67.4020978 L26.0724922,73.8096859 L35.6815644,67.4020978 L48.5013603,73.8096859 L58.1150522,67.4020978 L70.9348481,73.8096859 L70.9348481,0.106254164 L0.432900478,0.106254164 Z M64.5226403,63.4383556 L57.6530776,60.0012643 L48.0393856,66.4088524 L35.2195898,60.0058841 L25.6105176,66.4134722 L13.2526963,60.2368714 L6.84510828,63.4429753 L6.84510828,6.51384222 L64.5226403,6.51384222 L64.5226403,63.4383556 Z" id="Shape"></path>
<path d="M18.1542471,16.7096222 L53.9157029,16.7096222 L53.9157029,22.9370402 L18.1542471,22.9370402 L18.1542471,16.7096222 Z M18.1542471,29.1690778 L53.9157029,29.1690778 L53.9157029,35.4011155 L18.1542471,35.4011155 L18.1542471,29.1690778 Z M18.1542471,41.6285335 L53.9157029,41.6285335 L53.9157029,47.8605712 L18.1542471,47.8605712 L18.1542471,41.6285335 Z" id="Shape"></path>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 558 B

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>Slice 23</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
<g id="62780" transform="translate(1.000000, 16.000000)" fill-rule="nonzero">
<path d="M77.3788837,0.0166335071 L10.5054936,0.0166335071 C4.71263581,0.0166335071 0,4.72907813 0,10.5221271 L0,48.3010279 C0,54.0936945 4.71263581,58.8065215 10.5054936,58.8065215 L77.3786925,58.8065215 C83.1713591,58.8065215 87.883995,54.0936945 87.883995,48.3010279 L87.883995,10.5221271 C87.8841861,4.72907813 83.1715503,0.0166335071 77.3788837,0.0166335071 Z M82.0714446,48.3008367 C82.0714446,50.8883986 79.9662544,52.9933976 77.3788837,52.9933976 L10.5054936,52.9933976 C7.91793174,52.9933976 5.81274156,50.8883986 5.81274156,48.3008367 L5.81274156,22.983683 L82.0712534,22.983683 L82.0714446,48.3008367 L82.0714446,48.3008367 Z M82.0714446,14.6908282 L5.81293275,14.6963727 L5.81293275,10.521936 C5.81293275,7.93437406 7.91812293,5.82918387 10.5056848,5.82918387 L77.3788837,5.82918387 C79.9662544,5.82918387 82.0714446,7.93437406 82.0714446,10.521936 L82.0714446,14.6908282 Z" id="Shape"></path>
<path d="M13.0269039,47.6024206 L28.9396256,47.6024206 C29.5093711,47.6024206 29.9716678,47.1405062 29.9716678,46.5707608 L29.9716678,43.4312341 C29.9716678,42.8612975 29.5093711,42.3993831 28.9396256,42.3993831 L13.0269039,42.3993831 C12.4569673,42.3993831 11.9948617,42.8612975 11.9948617,43.4312341 L11.9948617,46.5707608 C11.9946705,47.1405062 12.4567761,47.6024206 13.0269039,47.6024206 Z" id="Shape"></path>
<path d="M64.6150569,47.6024206 L69.34815,47.6024206 C72.079869,47.6024206 74.2942285,45.388061 74.2942285,42.6565333 L74.2942285,37.9234402 C74.2942285,35.1919124 72.079869,32.9775529 69.34815,32.9775529 L64.6150569,32.9775529 C61.8835291,32.9775529 59.6691696,35.1919124 59.6691696,37.9234402 L59.6691696,42.6565333 C59.6691696,45.388061 61.8835291,47.6024206 64.6150569,47.6024206 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>Slice 23</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
<g id="img_16097" transform="translate(12.000000, 14.000000)" fill-rule="nonzero">
<path d="M63.5394739,34.6343332 C59.133452,30.2283113 51.9992431,30.2283113 47.5932212,34.6343332 C47.0271224,35.200432 46.5428692,35.8142741 46.1268207,36.455398 L10.6262881,0.954865429 C9.37132214,-0.300100564 7.32518194,-0.300100564 6.07021594,0.954865429 L3.28746526,3.73761611 C2.0256788,4.9925821 2.03249927,7.03872231 3.28746526,8.2936883 L6.56811006,11.5743331 L0.920763093,17.2216801 C-0.306921031,18.4493642 -0.306921031,20.4341202 0.920763093,21.6618043 C2.14844722,22.8894884 4.13320322,22.8894884 5.36088734,21.6618043 L11.0082343,16.0144573 L12.2563798,17.2626029 L6.60903287,22.9167703 C5.38134874,24.1444544 5.38134874,26.1292104 6.60903287,27.3568946 C7.83671699,28.5845787 9.82147299,28.5845787 11.0491571,27.3568946 L16.6965041,21.7095476 L38.7811774,43.8010413 C38.1400534,44.2170899 37.5262114,44.701343 36.9601126,45.2674418 C32.5540907,49.6734637 32.5540907,56.8076726 36.9601126,61.2136945 C40.5613194,64.8149013 45.9835909,65.4628457 50.246383,63.1848096 C54.5091751,65.4696661 59.9382671,64.8149013 63.5326534,61.2136945 C67.1338602,57.6124877 67.7818046,52.1902162 65.5037685,47.9274241 C67.7954455,43.6578115 67.1406806,38.2287195 63.5394739,34.6343332 Z M58.7037625,56.3711627 C56.6780837,58.3968415 53.3906184,58.3968415 51.3649396,56.3711627 C50.9216093,55.9278323 50.5942268,55.4231177 50.34869,54.8843008 C48.1729609,56.9031591 44.7763682,56.8690568 42.6620233,54.7547119 C40.4931147,52.5858033 40.4931147,49.0732626 42.6620233,46.9111745 C44.0465782,45.5266196 45.96995,45.0355459 47.7500919,45.4174921 C47.3681458,43.6373501 47.8592194,41.7139783 49.2437743,40.3294235 C51.4126829,38.1605148 54.9252236,38.1605148 57.0873117,40.3294235 C59.2016566,42.4437683 59.235759,45.8403611 57.2169006,48.0160902 C57.7557175,48.2684475 58.2604321,48.5958299 58.7037625,49.0323398 C60.7294413,51.0580186 60.7294413,54.3454839 58.7037625,56.3711627 Z" id="Shape"></path>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<title>Slice 23</title>
<desc>Created with Sketch.</desc>
<defs></defs>
<g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
<g id="img_194174" transform="translate(36.000000, 36.000000)" fill-rule="nonzero">
<path d="M37.8716732,11.3625619 C37.8716732,12.857078 39.0853051,14.0654101 40.5745214,14.0654101 C42.0637378,14.0654101 43.2773696,12.8517783 43.2773696,11.3625619 C43.2773696,9.86804583 42.0637378,8.65971369 40.5745214,8.65971369 C39.0853051,8.65971369 37.8716732,9.86804583 37.8716732,11.3625619 Z M37.8716732,28.6713899 C37.8716732,30.165906 39.0853051,31.3742381 40.5745214,31.3742381 C42.0637378,31.3742381 43.2773696,30.1606063 43.2773696,28.6713899 C43.2773696,27.1768738 42.0637378,25.9685417 40.5745214,25.9685417 C39.0853051,25.9685417 37.8716732,27.1821735 37.8716732,28.6713899 L37.8716732,28.6713899 Z M0,35.7040949 C0,38.0942607 1.93439137,40.0339518 4.32985685,40.0339518 L22.7251238,40.0339518 L22.7251238,43.0229839 C22.1951536,43.378064 21.7393792,43.8338384 21.3842991,44.3638086 L8.11914405,44.3638086 C6.62462798,44.3638086 5.41629583,45.5774405 5.41629583,47.0666568 C5.41629583,48.5558732 6.62992768,49.7695051 8.11914405,49.7695051 L21.3842991,49.7695051 C22.25875,51.0785315 23.7426667,51.9317836 25.4332717,51.9317836 C27.1185771,51.9317836 28.6024938,51.0785315 29.4822443,49.7695051 L43.8285387,49.7695051 C45.3230548,49.7695051 46.5313869,48.5558732 46.5313869,47.0666568 C46.5313869,45.5774405 45.3177551,44.3638086 43.8285387,44.3638086 L29.4769446,44.3638086 C29.1218646,43.8338384 28.6660902,43.378064 28.1361199,43.0229839 L28.1361199,40.0392515 L47.6125262,40.0392515 C50.002692,40.0392515 51.942383,38.1048601 51.942383,35.7093946 L51.942383,4.32985685 C51.942383,1.93969107 50.0079917,0 47.6125262,0 L4.32985685,0 C1.93439137,0 0,1.93439137 0,4.32985685 L0,35.7040949 L0,35.7040949 Z M7.7905625,5.41099613 L44.1465208,5.41099613 C45.4661467,5.41099613 46.5260872,6.47093661 46.5260872,7.7905625 L46.5260872,14.9292616 C46.5260872,16.2488875 45.4661467,17.308828 44.1465208,17.308828 L7.7905625,17.308828 C6.47093661,17.308828 5.41099613,16.2488875 5.41099613,14.9292616 L5.41099613,7.7905625 C5.41099613,6.47093661 6.47093661,5.41099613 7.7905625,5.41099613 L7.7905625,5.41099613 L7.7905625,5.41099613 Z M7.7905625,22.7198241 L44.1465208,22.7198241 C45.4661467,22.7198241 46.5260872,23.7797646 46.5260872,25.0993905 L46.5260872,32.2380896 C46.5260872,33.5577155 45.4661467,34.617656 44.1465208,34.617656 L7.7905625,34.617656 C6.47093661,34.617656 5.41099613,33.5577155 5.41099613,32.2380896 L5.41099613,25.1046902 C5.41099613,23.7850643 6.47093661,22.7198241 7.7905625,22.7198241 L7.7905625,22.7198241 L7.7905625,22.7198241 Z" id="Shape"></path>
</g>
<rect id="Rectangle-3" x="23" y="3" width="10" height="50"></rect>
<rect id="Rectangle-4" x="3" y="23" width="50" height="10"></rect>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View file

@ -1,7 +1,12 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon --> <svg width="90px" height="90px" viewBox="0 0 90 90" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Generator: Sketch 46.2 (44496) - http://www.bohemiancoding.com/sketch -->
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xml:space="preserve"> <title>Slice 23</title>
<metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata> <desc>Created with Sketch.</desc>
<g><path d="M724.6,224.4c0,28.2,22.9,51,51,51s51-22.9,51-51c0-28.2-22.9-51-51-51S724.6,196.2,724.6,224.4z M724.6,551c0,28.2,22.9,51,51,51s51-22.9,51-51c0-28.2-22.9-51-51-51S724.6,522.9,724.6,551L724.6,551z M10,683.7c0,45.1,36.5,81.7,81.7,81.7h347.1v56.4c-10,6.7-18.6,15.3-25.3,25.3l-250.3,0c-28.2,0-51,22.9-51,51s22.9,51,51,51h250.3c16.5,24.7,44.5,40.8,76.4,40.8c31.8,0,59.8-16.1,76.4-40.8h270.7c28.2,0,51-22.9,51-51s-22.9-51-51-51H566.2c-6.7-10-15.3-18.6-25.3-25.3v-56.3h367.5c45.1,0,81.7-36.5,81.7-81.7V91.7c0-45.1-36.5-81.7-81.7-81.7H91.7C46.5,10,10,46.5,10,91.7L10,683.7L10,683.7z M157,112.1h686c24.9,0,44.9,20,44.9,44.9v134.7c0,24.9-20,44.9-44.9,44.9H157c-24.9,0-44.9-20-44.9-44.9V157C112.1,132.1,132.1,112.1,157,112.1L157,112.1L157,112.1z M157,438.7h686c24.9,0,44.9,20,44.9,44.9v134.7c0,24.9-20,44.9-44.9,44.9H157c-24.9,0-44.9-20-44.9-44.9V483.7C112.1,458.8,132.1,438.7,157,438.7L157,438.7L157,438.7z"/></g> <defs></defs>
<g id="dashboard" stroke="none" stroke-width="1" fill-rule="evenodd">
<g id="img_194174" transform="translate(12.000000, 12.000000)" fill-rule="nonzero">
<path d="M49.0289809,14.7100665 C49.0289809,16.6448793 50.6001587,18.2091961 52.5281105,18.2091961 C54.4560623,18.2091961 56.0272401,16.6380183 56.0272401,14.7100665 C56.0272401,12.7752536 54.4560623,11.2109369 52.5281105,11.2109369 C50.6001587,11.2109369 49.0289809,12.7752536 49.0289809,14.7100665 Z M49.0289809,37.1182181 C49.0289809,39.053031 50.6001587,40.6173477 52.5281105,40.6173477 C54.4560623,40.6173477 56.0272401,39.0461699 56.0272401,37.1182181 C56.0272401,35.1834053 54.4560623,33.6190885 52.5281105,33.6190885 C50.6001587,33.6190885 49.0289809,35.1902663 49.0289809,37.1182181 L49.0289809,37.1182181 Z M0,46.2228162 C0,49.3171445 2.50427904,51.8282846 5.60546843,51.8282846 L29.420133,51.8282846 L29.420133,55.6979103 C28.7340291,56.1575999 28.1439798,56.7476492 27.6842902,57.433753 L10.5111109,57.433753 C8.57629809,57.433753 7.01198132,59.0049308 7.01198132,60.9328827 C7.01198132,62.8608345 8.58315913,64.4320123 10.5111109,64.4320123 L27.6842902,64.4320123 C28.8163616,66.1266888 30.7374523,67.231316 32.9261236,67.231316 C35.1079339,67.231316 37.0290246,66.1266888 38.167957,64.4320123 L56.7407882,64.4320123 C58.675601,64.4320123 60.2399178,62.8608345 60.2399178,60.9328827 C60.2399178,59.0049308 58.66874,57.433753 56.7407882,57.433753 L38.161096,57.433753 C37.7014064,56.7476492 37.1113571,56.1575999 36.4252532,55.6979103 L36.4252532,51.8351456 L61.6395696,51.8351456 C64.733898,51.8351456 67.245038,49.3308666 67.245038,46.2296772 L67.245038,5.60546843 C67.245038,2.51114008 64.740759,0 61.6395696,0 L5.60546843,0 C2.50427904,0 0,2.50427904 0,5.60546843 L0,46.2228162 L0,46.2228162 Z M10.0857266,7.00512028 L57.1524505,7.00512028 C58.860849,7.00512028 60.2330567,8.37732797 60.2330567,10.0857266 L60.2330567,19.3275454 C60.2330567,21.035944 58.860849,22.4081516 57.1524505,22.4081516 L10.0857266,22.4081516 C8.37732797,22.4081516 7.00512028,21.035944 7.00512028,19.3275454 L7.00512028,10.0857266 C7.00512028,8.37732797 8.37732797,7.00512028 10.0857266,7.00512028 L10.0857266,7.00512028 L10.0857266,7.00512028 Z M10.0857266,29.4132719 L57.1524505,29.4132719 C58.860849,29.4132719 60.2330567,30.7854796 60.2330567,32.4938782 L60.2330567,41.735697 C60.2330567,43.4440956 58.860849,44.8163033 57.1524505,44.8163033 L10.0857266,44.8163033 C8.37732797,44.8163033 7.00512028,43.4440956 7.00512028,41.735697 L7.00512028,32.5007392 C7.00512028,30.7923407 8.37732797,29.4132719 10.0857266,29.4132719 L10.0857266,29.4132719 L10.0857266,29.4132719 Z" id="Shape"></path>
</g>
</g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -13,6 +13,43 @@ $( document ).ready(function() {
}, 1000); }, 1000);
}); });
/*
* Replace all SVG images with inline SVG
*/
$('.svg-img').each(function() {
console.log('asa')
var $img = $(this);
var imgID = $img.attr('id');
var imgClass = $img.attr('class');
var imgURL = $img.attr('src');
jQuery.get(imgURL, function(data) {
// Get the SVG tag, ignore the rest
var $svg = jQuery(data).find('svg');
// Add replaced image's ID to the new SVG
if(typeof imgID !== 'undefined') {
$svg = $svg.attr('id', imgID);
}
// Add replaced image's classes to the new SVG
if(typeof imgClass !== 'undefined') {
$svg = $svg.attr('class', imgClass+' replaced-svg');
}
// Remove any invalid XML tags as per http://validator.w3.org
$svg = $svg.removeAttr('xmlns:a');
// Check if the viewport is set, if the viewport is not set the SVG wont't scale.
if(!$svg.attr('viewBox') && $svg.attr('height') && $svg.attr('width')) {
$svg.attr('viewBox', '0 0 ' + $svg.attr('height') + ' ' + $svg.attr('width'))
}
// Replace image with new SVG
$img.replaceWith($svg);
}, 'xml');
});
$('.alt-text').on('mouseenter mouseleave', function(e){ $('.alt-text').on('mouseenter mouseleave', function(e){
var $this = $(this); var $this = $(this);
var txt = $this.text(); var txt = $this.text();

View file

@ -24,6 +24,7 @@
<link href="{% static 'hosting/css/orders.css' %}" rel="stylesheet"> <link href="{% static 'hosting/css/orders.css' %}" rel="stylesheet">
<link href="{% static 'hosting/css/commons.css' %}" rel="stylesheet"> <link href="{% static 'hosting/css/commons.css' %}" rel="stylesheet">
<link href="{% static 'hosting/css/virtual-machine.css' %}" rel="stylesheet"> <link href="{% static 'hosting/css/virtual-machine.css' %}" rel="stylesheet">
<link href="{% static 'hosting/css/dashboard.css' %}" rel="stylesheet">
<!-- Custom Fonts --> <!-- Custom Fonts -->
<link href='//fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>

View file

@ -0,0 +1,50 @@
{% extends "hosting/base_short.html" %}
{% load staticfiles bootstrap3 i18n %}
{% block content %}
<div class="hosting-dashboard">
<div class="dashboard-container">
<div class="dashboard-container-head">
<h1 class="dashboard-title-thin">{% trans "My Dashboard" %}</h1>
</div>
<div class="hosting-dashboard-content">
<a href="{% url 'hosting:create_virtual_machine' %}" class="hosting-dashboard-item">
<h2>{% trans "Create VM" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/plusVM.svg' %}">
</div>
</a>
<a href="{% url 'hosting:virtual_machines' %}" class="hosting-dashboard-item">
<h2>{% trans "My VMs" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/vm.svg' %}">
</div>
</a>
<a href="{% url 'hosting:ssh_keys' %}" class="hosting-dashboard-item">
<h2>{% trans "My SSH Keys" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/key.svg' %}">
</div>
</a>
<a href="{% url 'hosting:orders' %}" class="hosting-dashboard-item">
<h2>{% trans "My Bills" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/billing.svg' %}">
</div>
</a>
<a href="" class="hosting-dashboard-item">
<h2>{% trans "My Settings" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/dashboard_settings.svg' %}">
</div>
</a>
<a href="mailto:support@datacenterlight.ch" class="hosting-dashboard-item">
<h2>{% trans "Support / Contact" %}</h2>
<div class="hosting-dashboard-image">
<img class="svg-img" src="{% static 'hosting/img/24-hours-support.svg' %}">
</div>
</a>
</div>
</div>
</div>
{%endblock%}

View file

@ -87,7 +87,7 @@
<div class="col-xs-12"> <div class="col-xs-12">
{% if not messages and not form.non_field_errors %} {% if not messages and not form.non_field_errors %}
<p class="card-warning-content card-warning-addtional-margin"> <p class="card-warning-content card-warning-addtional-margin">
{% blocktrans %}You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page.{% endblocktrans %} {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}
</p> </p>
{% endif %} {% endif %}
<div id='payment_error'> <div id='payment_error'>
@ -144,7 +144,7 @@
<div class="col-xs-12"> <div class="col-xs-12">
{% if not messages and not form.non_field_errors %} {% if not messages and not form.non_field_errors %}
<p class="card-warning-content"> <p class="card-warning-content">
{% blocktrans %}You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page.{% endblocktrans %} {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}
</p> </p>
{% endif %} {% endif %}
<div id='payment_error'> <div id='payment_error'>

View file

@ -1,17 +1,20 @@
from django.conf.urls import url from django.conf.urls import url
from django.contrib.auth import views as auth_views from django.contrib.auth import views as auth_views
from .views import DjangoHostingView, RailsHostingView, PaymentVMView,\ from .views import (
NodeJSHostingView, LoginView, SignupView, SignupValidateView, SignupValidatedView, IndexView, \ DjangoHostingView, RailsHostingView, PaymentVMView, NodeJSHostingView,
OrdersHostingListView, OrdersHostingDetailView, VirtualMachinesPlanListView,\ LoginView, SignupView, SignupValidateView, SignupValidatedView, IndexView,
VirtualMachineView, OrdersHostingDeleteView, NotificationsView, \ NotificationsView, OrdersHostingListView, OrdersHostingDetailView,
MarkAsReadNotificationView, PasswordResetView, PasswordResetConfirmView, HostingPricingView,\ VirtualMachinesPlanListView, VirtualMachineView, OrdersHostingDeleteView,
CreateVirtualMachinesView, HostingBillListView, HostingBillDetailView, \ MarkAsReadNotificationView, PasswordResetView, PasswordResetConfirmView,
SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView, SSHKeyChoiceView HostingPricingView, CreateVirtualMachinesView, HostingBillListView,
HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
SSHKeyChoiceView, DashboardView)
urlpatterns = [ urlpatterns = [
url(r'index/?$', IndexView.as_view(), name='index'), url(r'index/?$', IndexView.as_view(), name='index'),
url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'), url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
url(r'dashboard/?$', DashboardView.as_view(), name='dashboard'),
url(r'nodejs/?$', NodeJSHostingView.as_view(), name='nodejshosting'), url(r'nodejs/?$', NodeJSHostingView.as_view(), name='nodejshosting'),
url(r'rails/?$', RailsHostingView.as_view(), name='railshosting'), url(r'rails/?$', RailsHostingView.as_view(), name='railshosting'),
url(r'pricing/?$', HostingPricingView.as_view(), name='pricing'), url(r'pricing/?$', HostingPricingView.as_view(), name='pricing'),

View file

@ -40,6 +40,18 @@ CONNECTION_ERROR = "Your VMs cannot be displayed at the moment due to a backend
connection error. please try again in a few minutes." connection error. please try again in a few minutes."
class DashboardView(View):
template_name = "hosting/dashboard.html"
def get_context_data(self, **kwargs):
context = {}
return context
def get(self, request, *args, **kwargs):
context = self.get_context_data()
return render(request, self.template_name, context)
class DjangoHostingView(ProcessVMSelectionMixin, View): class DjangoHostingView(ProcessVMSelectionMixin, View):
template_name = "hosting/django.html" template_name = "hosting/django.html"
@ -558,7 +570,8 @@ class PaymentVMView(LoginRequiredMixin, FormView):
token=token) token=token)
if not customer: if not customer:
msg = _("Invalid credit card") msg = _("Invalid credit card")
messages.add_message(self.request, messages.ERROR, msg, extra_tags='make_charge_error') messages.add_message(
self.request, messages.ERROR, msg, extra_tags='make_charge_error')
return HttpResponseRedirect(reverse('hosting:payment') + '#payment_error') return HttpResponseRedirect(reverse('hosting:payment') + '#payment_error')
# Create Billing Address # Create Billing Address
@ -572,7 +585,8 @@ class PaymentVMView(LoginRequiredMixin, FormView):
# Check if the payment was approved # Check if the payment was approved
if not charge_response.get('response_object'): if not charge_response.get('response_object'):
msg = charge_response.get('error') msg = charge_response.get('error')
messages.add_message(self.request, messages.ERROR, msg, extra_tags='make_charge_error') messages.add_message(
self.request, messages.ERROR, msg, extra_tags='make_charge_error')
return HttpResponseRedirect(reverse('hosting:payment') + '#payment_error') return HttpResponseRedirect(reverse('hosting:payment') + '#payment_error')
charge = charge_response.get('response_object') charge = charge_response.get('response_object')