Merge remote-tracking branch 'mainRepo/master' into task/3774/update_stripe_subscription_on_vm_delete
This commit is contained in:
		
				commit
				
					
						f0be6d6d7f
					
				
			
		
					 12 changed files with 110 additions and 139 deletions
				
			
		| 
						 | 
				
			
			@ -1,3 +1,7 @@
 | 
			
		|||
Next Release
 | 
			
		||||
    * #3785: [hosting] update 'my bills' page design
 | 
			
		||||
    * Bugfix: [hosting] card details input form alignment fix
 | 
			
		||||
    * #3823: [hosting] favicon link fixed
 | 
			
		||||
1.2.4: 2017-10-02
 | 
			
		||||
    * #3780: [hosting] Store VM details locally
 | 
			
		||||
    * #3764: [hosting] Show cancelled VMs' invoices 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@ msgid ""
 | 
			
		|||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-01 22:13+0000\n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-03 18:13+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"
 | 
			
		||||
| 
						 | 
				
			
			@ -360,9 +360,6 @@ msgstr ""
 | 
			
		|||
"Es wird noch keine Bezahlung vorgenommen. Die Bezahlung wird erst ausgelöst, "
 | 
			
		||||
"nachdem Du die Bestellung auf der nächsten Seite bestätigt hast."
 | 
			
		||||
 | 
			
		||||
msgid "Submit"
 | 
			
		||||
msgstr "Absenden"
 | 
			
		||||
 | 
			
		||||
msgid "Card Number"
 | 
			
		||||
msgstr "Kreditkartennummer"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -515,6 +512,9 @@ msgstr ""
 | 
			
		|||
"Deine VM ist gleich bereit. Wir senden Dir eine Bestätigungsemail, sobald Du "
 | 
			
		||||
"auf sie zugreifen kannst."
 | 
			
		||||
 | 
			
		||||
#~ msgid "Submit"
 | 
			
		||||
#~ msgstr "Absenden"
 | 
			
		||||
 | 
			
		||||
#~ msgid "Date"
 | 
			
		||||
#~ msgstr "Datum"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -104,9 +104,11 @@
 | 
			
		|||
                            <div id='payment_error'>
 | 
			
		||||
                                {% for message in messages %}
 | 
			
		||||
                                    {% if 'failed_payment' or 'make_charge_error' in message.tags %}
 | 
			
		||||
                                     <ul class="list-unstyled"><li>
 | 
			
		||||
                                         <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                    </li></ul>
 | 
			
		||||
                                     <ul class="list-unstyled">
 | 
			
		||||
                                        <li>
 | 
			
		||||
                                            <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                        </li>
 | 
			
		||||
                                    </ul>
 | 
			
		||||
                                    {% endif %}
 | 
			
		||||
                                {% endfor %}
 | 
			
		||||
                                {% for error in form.non_field_errors %}
 | 
			
		||||
| 
						 | 
				
			
			@ -116,7 +118,7 @@
 | 
			
		|||
                                {% endfor %}
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <div class="text-right">
 | 
			
		||||
                                <button id="payment_button_with_creditcard" class="btn btn-success btn-vm-contact" type="submit">{%trans "Submit" %}</button>
 | 
			
		||||
                                <button id="payment_button_with_creditcard" class="btn btn-vm-contact" type="submit">{%trans "SUBMIT" %}</button>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        {% else %}
 | 
			
		||||
                            <form action="" id="payment-form-new" method="POST">
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,7 +8,7 @@ msgid ""
 | 
			
		|||
msgstr ""
 | 
			
		||||
"Project-Id-Version: PACKAGE VERSION\n"
 | 
			
		||||
"Report-Msgid-Bugs-To: \n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-01 22:12+0000\n"
 | 
			
		||||
"POT-Creation-Date: 2017-10-03 18:13+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"
 | 
			
		||||
| 
						 | 
				
			
			@ -436,15 +436,10 @@ msgid "Billing Address"
 | 
			
		|||
msgstr "Rechnungsadresse"
 | 
			
		||||
 | 
			
		||||
msgid ""
 | 
			
		||||
"\n"
 | 
			
		||||
"                                Please fill in your credit card information "
 | 
			
		||||
"below. We are using <a\n"
 | 
			
		||||
"                                    href=\"https://stripe.com\" target="
 | 
			
		||||
"\"_blank\">Stripe</a> for payment and do not store\n"
 | 
			
		||||
"                                your information in our database.\n"
 | 
			
		||||
"                                "
 | 
			
		||||
"Please fill in your credit card information below. We are using <a href="
 | 
			
		||||
"\"https://stripe.com\" target=\"_blank\">Stripe</a> for payment and do not "
 | 
			
		||||
"store your information in our database."
 | 
			
		||||
msgstr ""
 | 
			
		||||
"\n"
 | 
			
		||||
"Bitte füll Deine Kreditkarteninformationen unten aus. Wir nutzen <a href="
 | 
			
		||||
"\"https://stripe.com\" target=\"_blank\">Stripe</a> für die Bezahlung und "
 | 
			
		||||
"speichern keine Informationen in unserer Datenbank."
 | 
			
		||||
| 
						 | 
				
			
			@ -456,8 +451,8 @@ msgstr ""
 | 
			
		|||
"Es wird noch keine Bezahlung vorgenommen. Die Bezahlung wird erst ausgelöst, "
 | 
			
		||||
"nachdem Du die Bestellung auf der nächsten Seite bestätigt hast."
 | 
			
		||||
 | 
			
		||||
msgid "Submit"
 | 
			
		||||
msgstr "Absenden"
 | 
			
		||||
msgid "SUBMIT"
 | 
			
		||||
msgstr "ABSENDEN"
 | 
			
		||||
 | 
			
		||||
msgid "Card Number"
 | 
			
		||||
msgstr "Kreditkartennummer"
 | 
			
		||||
| 
						 | 
				
			
			@ -477,6 +472,9 @@ msgstr "Weiter"
 | 
			
		|||
msgid "Enter your credit card number"
 | 
			
		||||
msgstr "Deine Kreditkartennummer"
 | 
			
		||||
 | 
			
		||||
msgid "Submit"
 | 
			
		||||
msgstr "Absenden"
 | 
			
		||||
 | 
			
		||||
msgid "Reset your password"
 | 
			
		||||
msgstr "Passwort zurücksetzen"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -47,7 +47,7 @@
 | 
			
		|||
	font-weight: 600;
 | 
			
		||||
}
 | 
			
		||||
.dcl-payment-section p {
 | 
			
		||||
	padding: 0 5px;
 | 
			
		||||
	/*padding: 0 5px;*/
 | 
			
		||||
	font-weight: 400;
 | 
			
		||||
}
 | 
			
		||||
.dcl-payment-section .card-warning-content {
 | 
			
		||||
| 
						 | 
				
			
			@ -77,7 +77,6 @@
 | 
			
		|||
 | 
			
		||||
.dcl-payment-user h4 {
 | 
			
		||||
	font-weight: 600;
 | 
			
		||||
	padding-left: 5px;
 | 
			
		||||
	font-size: 17px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -118,4 +117,4 @@
 | 
			
		|||
		top: 20px;
 | 
			
		||||
		bottom: 20px;
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -618,9 +618,8 @@
 | 
			
		|||
    left: 8px;
 | 
			
		||||
  }
 | 
			
		||||
  .table-switch .last-td {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    bottom: 13px;
 | 
			
		||||
    right: 0;
 | 
			
		||||
    padding-top: 12px;
 | 
			
		||||
    text-align: right;
 | 
			
		||||
  }
 | 
			
		||||
  .table-switch tbody tr .xs-td-inline {
 | 
			
		||||
    text-align: right;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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="img/favicon.ico" type="image/x-icon" />
 | 
			
		||||
    <link rel="shortcut icon" href="{% static 'hosting/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:// -->
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,6 +7,7 @@
 | 
			
		|||
        <div class="col-sm-5">
 | 
			
		||||
          <div class="dashboard-container-head">
 | 
			
		||||
                <h3 class="dashboard-title-thin"><img src="{% static 'hosting/img/plusVM.svg' %}" class="un-icon" style="margin-top: -18px;width: 42px;height: 42px;"> {% trans "Create VM" %}</h3>
 | 
			
		||||
                <p style="padding-left: 16px;">{% trans "Affordable VM hosting based in Switzerland" %}</p>
 | 
			
		||||
                {% if messages %}
 | 
			
		||||
                    <div class="alert alert-warning">
 | 
			
		||||
                        {% for message in messages %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,6 +1,6 @@
 | 
			
		|||
{% extends "hosting/base_short.html" %}
 | 
			
		||||
{% load staticfiles bootstrap3 %}
 | 
			
		||||
{% load i18n %}
 | 
			
		||||
{% load i18n l10n %}
 | 
			
		||||
 | 
			
		||||
{% block content %}
 | 
			
		||||
<div class="dashboard-container">
 | 
			
		||||
| 
						 | 
				
			
			@ -22,7 +22,6 @@
 | 
			
		|||
                <th>{% trans "Order Nr." %}</th>
 | 
			
		||||
                <th>{% trans "Date" %}</th>
 | 
			
		||||
                <th>{% trans "Amount" %}</th>
 | 
			
		||||
                <th>{% trans "Status" %}</th>
 | 
			
		||||
                <th></th>
 | 
			
		||||
            </tr>
 | 
			
		||||
        </thead>
 | 
			
		||||
| 
						 | 
				
			
			@ -30,15 +29,8 @@
 | 
			
		|||
            {% for order in orders %}
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td class="xs-td-inline" data-header="{% trans 'Order Nr.' %}">{{ order.id }}</td>
 | 
			
		||||
                    <td class="xs-td-bighalf" data-header="{% trans 'Date' %}">{{ order.created_at | date:"M d, Y" }}</td>
 | 
			
		||||
                    <td class="xs-td-smallhalf" data-header="{% trans 'Amount' %}">{{ order.price }}</td>
 | 
			
		||||
                    <td data-header="{% trans 'Status' %}">
 | 
			
		||||
                        {% if order.approved %}
 | 
			
		||||
                            <span class="vm-status-active"><strong>{% trans "Approved" %}</strong></span>
 | 
			
		||||
                        {% else %}
 | 
			
		||||
                            <span class="vm-status-failed"><strong>{% trans "Declined" %}</strong></span>
 | 
			
		||||
                        {% endif %}
 | 
			
		||||
                    </td>
 | 
			
		||||
                    <td class="xs-td-bighalf" data-header="{% trans 'Date' %}">{{ order.created_at | date:"M d, Y H:i" }}</td>
 | 
			
		||||
                    <td class="xs-td-smallhalf" data-header="{% trans 'Amount' %}">{{ order.price|unlocalize }}</td>
 | 
			
		||||
                    <td class="text-right last-td">
 | 
			
		||||
                        <a class="btn btn-order-detail" href="{% url 'hosting:orders' order.pk %}">{% trans 'See Invoice' %}</a>
 | 
			
		||||
                    </td>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -69,83 +69,67 @@
 | 
			
		|||
                    <h3><b>{%trans "Credit Card"%}</b></h3>
 | 
			
		||||
                    <hr>
 | 
			
		||||
                    <div>
 | 
			
		||||
                        <div>
 | 
			
		||||
                            <p>
 | 
			
		||||
                                {% blocktrans %}
 | 
			
		||||
                                Please fill in your credit card information below. We are using <a
 | 
			
		||||
                                    href="https://stripe.com" target="_blank">Stripe</a> for payment and do not store
 | 
			
		||||
                                your information in our database.
 | 
			
		||||
                                {% endblocktrans %}
 | 
			
		||||
                            </p>
 | 
			
		||||
                        </div>
 | 
			
		||||
                        <br>
 | 
			
		||||
                        <p>
 | 
			
		||||
                            {% blocktrans %}Please fill in your credit card information below. We are using <a href="https://stripe.com" target="_blank">Stripe</a> for payment and do not store your information in our database.{% endblocktrans %}
 | 
			
		||||
                        </p>
 | 
			
		||||
                        <div>
 | 
			
		||||
                            {% if credit_card_data.last4 %}
 | 
			
		||||
                            <form role="form" id="payment-form-with-creditcard" novalidate>
 | 
			
		||||
                                <h5 class="billing-head">Credit Card</h5>
 | 
			
		||||
                                <h5 class="membership-lead">Last 4: *****{{credit_card_data.last4}}</h5>
 | 
			
		||||
                                <h5 class="membership-lead">Type: {{credit_card_data.cc_brand}}</h5>
 | 
			
		||||
                                <input type="hidden" name="credit_card_needed" value="false"/>
 | 
			
		||||
                            </form>
 | 
			
		||||
                            <div class="row">
 | 
			
		||||
                                <div class="col-xs-12">
 | 
			
		||||
                                        {% if not messages and not form.non_field_errors %}
 | 
			
		||||
                                            <p class="card-warning-content card-warning-addtional-margin">
 | 
			
		||||
                                                {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}
 | 
			
		||||
                                            </p>
 | 
			
		||||
                                <form role="form" id="payment-form-with-creditcard" novalidate>
 | 
			
		||||
                                    <h5 class="billing-head">Credit Card</h5>
 | 
			
		||||
                                    <h5 class="membership-lead">Last 4: *****{{credit_card_data.last4}}</h5>
 | 
			
		||||
                                    <h5 class="membership-lead">Type: {{credit_card_data.cc_brand}}</h5>
 | 
			
		||||
                                    <input type="hidden" name="credit_card_needed" value="false"/>
 | 
			
		||||
                                </form>
 | 
			
		||||
                                {% if not messages and not form.non_field_errors %}
 | 
			
		||||
                                    <p class="card-warning-content card-warning-addtional-margin">
 | 
			
		||||
                                        {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}
 | 
			
		||||
                                    </p>
 | 
			
		||||
                                {% endif %}
 | 
			
		||||
                                <div id='payment_error'>
 | 
			
		||||
                                    {% for message in messages %}
 | 
			
		||||
                                        {% if 'failed_payment' or 'make_charge_error' in message.tags %}
 | 
			
		||||
                                         <ul class="list-unstyled">
 | 
			
		||||
                                            <li>
 | 
			
		||||
                                                <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                            </li>
 | 
			
		||||
                                        </ul>
 | 
			
		||||
                                        {% endif %}
 | 
			
		||||
                                        <div id='payment_error'>
 | 
			
		||||
                                            {% for message in messages %}
 | 
			
		||||
                                                {% if 'failed_payment' or 'make_charge_error' in message.tags %}
 | 
			
		||||
                                                 <ul class="list-unstyled"><li>
 | 
			
		||||
                                                     <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                                </li></ul>
 | 
			
		||||
                                                {% endif %}
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
                                            {% for error in form.non_field_errors %}
 | 
			
		||||
                                                <p class="card-warning-content card-warning-error">
 | 
			
		||||
                                                    {{ error|escape }}
 | 
			
		||||
                                                </p>
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
                                    {% 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 id="payment_button_with_creditcard" class="btn btn-vm-contact" type="submit">{%trans "SUBMIT" %}</button>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            {% else %}
 | 
			
		||||
                                <form action="" id="payment-form-new" method="POST">
 | 
			
		||||
                                    <input type="hidden" name="token"/>
 | 
			
		||||
                                    <div class="group">
 | 
			
		||||
                                        <div class="credit-card-goup">
 | 
			
		||||
                                            <div class="card-element card-number-element">
 | 
			
		||||
                                                <label>{%trans "Card Number" %}</label>
 | 
			
		||||
                                                <div id="card-number-element" class="field my-input"></div>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                            <div class="row">
 | 
			
		||||
                                                <div class="col-xs-5 card-element card-expiry-element">
 | 
			
		||||
                                                    <label>{%trans "Expiry Date" %}</label>
 | 
			
		||||
                                                    <div id="card-expiry-element" class="field my-input"></div>
 | 
			
		||||
                                                </div>
 | 
			
		||||
                                                <div class="col-xs-3 col-xs-offset-4 card-element card-cvc-element">
 | 
			
		||||
                                                    <label>{%trans "CVC" %}</label>
 | 
			
		||||
                                                    <div id="card-cvc-element" class="field my-input"></div>
 | 
			
		||||
                                                </div>
 | 
			
		||||
                                            </div>
 | 
			
		||||
                                            <div class="card-element brand">
 | 
			
		||||
                                               <label>{%trans "Card Type" %}</label>
 | 
			
		||||
                                               <i class="pf pf-credit-card" id="brand-icon"></i>
 | 
			
		||||
                                           </div>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                <div class="col-xs-12">
 | 
			
		||||
                                    <div class="col-xs-6 pull-right">
 | 
			
		||||
                                        <button id="payment_button_with_creditcard" class="btn btn-success stripe-payment-btn"
 | 
			
		||||
                                                type="submit">
 | 
			
		||||
                                            {%trans "Submit" %}
 | 
			
		||||
                                        </button>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
 | 
			
		||||
                            {% else %}
 | 
			
		||||
                            <form action="" id="payment-form-new" method="POST">
 | 
			
		||||
                                <input type="hidden" name="token"/>
 | 
			
		||||
                                <div class="group">
 | 
			
		||||
                                    <div class="col-xs-12 col-sm-12 col-md-10 col-lg-9 credit-card-goup">
 | 
			
		||||
                                       <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 card-element card-number-element">
 | 
			
		||||
                                           <label>{%trans "Card Number" %}</label>
 | 
			
		||||
                                           <div id="card-number-element" class="field my-input"></div>
 | 
			
		||||
                                       </div>
 | 
			
		||||
                                       <div class="col-xs-5 col-sm-3 col-md-3 col-lg-3 card-element card-expiry-element">
 | 
			
		||||
                                           <label>{%trans "Expiry Date" %}</label>
 | 
			
		||||
                                           <div id="card-expiry-element" class="field my-input"></div>
 | 
			
		||||
                                       </div>
 | 
			
		||||
                                       <div class="col-xs-12 col-sm-2 col-md-6 col-lg-7 hide-mobile"></div>
 | 
			
		||||
                                       <div class="col-xs-3 col-sm-3 col-md-3 col-lg-2 card-element card-cvc-element">
 | 
			
		||||
                                           <label>{%trans "CVC" %}</label>
 | 
			
		||||
                                           <div id="card-cvc-element" class="field my-input"></div>
 | 
			
		||||
                                       </div>
 | 
			
		||||
                                       <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 card-element brand">
 | 
			
		||||
                                           <label>{%trans "Card Type" %}</label>
 | 
			
		||||
                                           <i class="pf pf-credit-card" id="brand-icon"></i>
 | 
			
		||||
                                       </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div id="card-errors" role="alert"></div>
 | 
			
		||||
                                <div class="row">
 | 
			
		||||
                                    <div class="col-xs-12">
 | 
			
		||||
                                    <div id="card-errors"></div>
 | 
			
		||||
                                        {% if not messages and not form.non_field_errors %}
 | 
			
		||||
                                            <p class="card-warning-content">
 | 
			
		||||
                                                {% trans "You are not making any payment yet. After submitting your card information, you will be taken to the Confirm Order Page." %}
 | 
			
		||||
| 
						 | 
				
			
			@ -154,9 +138,11 @@
 | 
			
		|||
                                        <div id='payment_error'>
 | 
			
		||||
                                            {% for message in messages %}
 | 
			
		||||
                                                {% if 'failed_payment' or 'make_charge_error' in message.tags %}
 | 
			
		||||
                                                 <ul class="list-unstyled"><li>
 | 
			
		||||
                                                     <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                                </li></ul>
 | 
			
		||||
                                                 <ul class="list-unstyled">
 | 
			
		||||
                                                    <li>
 | 
			
		||||
                                                        <p class="card-warning-content card-warning-error">{{ message|safe }}</p>
 | 
			
		||||
                                                    </li>
 | 
			
		||||
                                                </ul>
 | 
			
		||||
                                                {% endif %}
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -166,22 +152,15 @@
 | 
			
		|||
                                                </p>
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                    <div class="col-xs-12">
 | 
			
		||||
                                        <div class="col-xs-6 pull-right">
 | 
			
		||||
                                            <button class="btn btn-success stripe-payment-btn" type="submit">{%trans "Submit" %}
 | 
			
		||||
                                            </button>
 | 
			
		||||
                                        <div class="text-right">
 | 
			
		||||
                                            <button class="btn btn-vm-contact btn-wide" type="submit">{%trans "SUBMIT" %}</button>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
 | 
			
		||||
                                <div class="row" style="display:none;">
 | 
			
		||||
                                    <div class="col-xs-12">
 | 
			
		||||
                                    <div style="display:none;">
 | 
			
		||||
                                        <p class="payment-errors"></p>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </form>
 | 
			
		||||
 | 
			
		||||
                                </form>
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,6 +10,7 @@ from .views import (
 | 
			
		|||
    HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
 | 
			
		||||
    SSHKeyChoiceView, DashboardView, SettingsView, ResendActivationEmailView)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    url(r'index/?$', IndexView.as_view(), name='index'),
 | 
			
		||||
    url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -616,7 +616,6 @@ class PaymentVMView(LoginRequiredMixin, FormView):
 | 
			
		|||
    def get(self, request, *args, **kwargs):
 | 
			
		||||
        if 'next' in request.session:
 | 
			
		||||
            del request.session['next']
 | 
			
		||||
 | 
			
		||||
        return self.render_to_response(self.get_context_data())
 | 
			
		||||
 | 
			
		||||
    def post(self, request, *args, **kwargs):
 | 
			
		||||
| 
						 | 
				
			
			@ -639,7 +638,7 @@ class PaymentVMView(LoginRequiredMixin, FormView):
 | 
			
		|||
 | 
			
		||||
            request.session['billing_address_data'] = billing_address_data
 | 
			
		||||
            request.session['token'] = token
 | 
			
		||||
            request.session['customer'] = customer.id
 | 
			
		||||
            request.session['customer'] = customer.stripe_id
 | 
			
		||||
            return HttpResponseRedirect("{url}?{query_params}".format(
 | 
			
		||||
                url=reverse('hosting:order-confirmation'),
 | 
			
		||||
                query_params='page=payment'))
 | 
			
		||||
| 
						 | 
				
			
			@ -664,16 +663,12 @@ class OrdersHostingDetailView(LoginRequiredMixin,
 | 
			
		|||
        context = super(DetailView, self).get_context_data(**kwargs)
 | 
			
		||||
        obj = self.get_object()
 | 
			
		||||
        owner = self.request.user
 | 
			
		||||
        stripe_customer_id = self.request.session.get('customer')
 | 
			
		||||
        customer = StripeCustomer.objects.filter(id=stripe_customer_id).first()
 | 
			
		||||
        stripe_api_cus_id = self.request.session.get('customer')
 | 
			
		||||
        stripe_utils = StripeUtils()
 | 
			
		||||
        if customer:
 | 
			
		||||
            card_details = stripe_utils.get_card_details(
 | 
			
		||||
                customer.stripe_id,
 | 
			
		||||
                self.request.session.get('token')
 | 
			
		||||
            )
 | 
			
		||||
        else:
 | 
			
		||||
            card_details = {}
 | 
			
		||||
        card_details = stripe_utils.get_card_details(
 | 
			
		||||
            stripe_api_cus_id,
 | 
			
		||||
            self.request.session.get('token')
 | 
			
		||||
        )
 | 
			
		||||
 | 
			
		||||
        if self.request.GET.get('page') == 'payment':
 | 
			
		||||
            context['page_header_text'] = _('Confirm Order')
 | 
			
		||||
| 
						 | 
				
			
			@ -751,14 +746,15 @@ class OrdersHostingDetailView(LoginRequiredMixin,
 | 
			
		|||
    def post(self, request):
 | 
			
		||||
        template = request.session.get('template')
 | 
			
		||||
        specs = request.session.get('specs')
 | 
			
		||||
        stripe_customer_id = request.session.get('customer')
 | 
			
		||||
        customer = StripeCustomer.objects.filter(id=stripe_customer_id).first()
 | 
			
		||||
        # We assume that if the user is here, his/her StripeCustomer
 | 
			
		||||
        # object already exists
 | 
			
		||||
        stripe_customer_id = request.user.stripecustomer.id
 | 
			
		||||
        billing_address_data = request.session.get('billing_address_data')
 | 
			
		||||
        vm_template_id = template.get('id', 1)
 | 
			
		||||
 | 
			
		||||
        stripe_api_cus_id = self.request.session.get('customer')
 | 
			
		||||
        # Make stripe charge to a customer
 | 
			
		||||
        stripe_utils = StripeUtils()
 | 
			
		||||
        card_details = stripe_utils.get_card_details(customer.stripe_id,
 | 
			
		||||
        card_details = stripe_utils.get_card_details(stripe_api_cus_id,
 | 
			
		||||
                                                     request.session.get(
 | 
			
		||||
                                                         'token'))
 | 
			
		||||
        if not card_details.get('response_object'):
 | 
			
		||||
| 
						 | 
				
			
			@ -785,7 +781,7 @@ class OrdersHostingDetailView(LoginRequiredMixin,
 | 
			
		|||
            name=plan_name,
 | 
			
		||||
            stripe_plan_id=stripe_plan_id)
 | 
			
		||||
        subscription_result = stripe_utils.subscribe_customer_to_plan(
 | 
			
		||||
            customer.stripe_id,
 | 
			
		||||
            stripe_api_cus_id,
 | 
			
		||||
            [{"plan": stripe_plan.get(
 | 
			
		||||
                'response_object').stripe_plan_id}])
 | 
			
		||||
        stripe_subscription_obj = subscription_result.get('response_object')
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue