Merge pull request #510 from ungleich/tiwariav-task/3808/dcl_order_confirm
Task/3808 dcl order confirmation redesign
This commit is contained in:
		
				commit
				
					
						97ed965b8b
					
				
			
		
					 9 changed files with 112 additions and 211 deletions
				
			
		|  | @ -8,7 +8,7 @@ msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
| "Report-Msgid-Bugs-To: \n" | "Report-Msgid-Bugs-To: \n" | ||||||
| "POT-Creation-Date: 2017-09-29 19:59+0000\n" | "POT-Creation-Date: 2017-10-01 22:13+0000\n" | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | @ -388,24 +388,6 @@ msgstr "Weiter" | ||||||
| msgid "Enter your credit card number" | msgid "Enter your credit card number" | ||||||
| msgstr "Deine Kreditkartennummer" | msgstr "Deine Kreditkartennummer" | ||||||
| 
 | 
 | ||||||
| msgid "Confirm Order" |  | ||||||
| msgstr "Bestellung Bestätigen" |  | ||||||
| 
 |  | ||||||
| msgid "Date" |  | ||||||
| msgstr "Datum" |  | ||||||
| 
 |  | ||||||
| msgid "Billed To:" |  | ||||||
| msgstr "Rechnungsadresse" |  | ||||||
| 
 |  | ||||||
| msgid "Payment Method:" |  | ||||||
| msgstr "Bezahlmethode" |  | ||||||
| 
 |  | ||||||
| msgid "ending in" |  | ||||||
| msgstr "endend in" |  | ||||||
| 
 |  | ||||||
| msgid "Order summary" |  | ||||||
| msgstr "Bestellungsübersicht" |  | ||||||
| 
 |  | ||||||
| #, python-format | #, python-format | ||||||
| msgid "" | msgid "" | ||||||
| "By clicking \"Place order\" this plan will charge your credit card account " | "By clicking \"Place order\" this plan will charge your credit card account " | ||||||
|  | @ -417,21 +399,6 @@ msgstr "" | ||||||
| msgid "Place order" | msgid "Place order" | ||||||
| msgstr "Bestellen" | msgstr "Bestellen" | ||||||
| 
 | 
 | ||||||
| msgid "Processing..." |  | ||||||
| msgstr "Abarbeitung..." |  | ||||||
| 
 |  | ||||||
| msgid "Hold tight, we are processing your request" |  | ||||||
| msgstr "Bitte warten - wir verbeiten Deine Anfrage gerade" |  | ||||||
| 
 |  | ||||||
| msgid "OK" |  | ||||||
| msgstr "" |  | ||||||
| 
 |  | ||||||
| msgid "Close" |  | ||||||
| msgstr "" |  | ||||||
| 
 |  | ||||||
| msgid "Some problem encountered. Please try again later." |  | ||||||
| msgstr "Ein Problem ist aufgetreten. Bitte versuche es später noch einmal." |  | ||||||
| 
 |  | ||||||
| msgid "Thank you for order! Our team will contact you via email" | msgid "Thank you for order! Our team will contact you via email" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Vielen Dank für die Bestellung. Unser Team setzt sich sobald wie möglich mit " | "Vielen Dank für die Bestellung. Unser Team setzt sich sobald wie möglich mit " | ||||||
|  | @ -525,6 +492,9 @@ msgstr "Ungültige RAM-Grösse" | ||||||
| msgid "Invalid storage size" | msgid "Invalid storage size" | ||||||
| msgstr "Ungültige Speicher-Grösse" | msgstr "Ungültige Speicher-Grösse" | ||||||
| 
 | 
 | ||||||
|  | msgid "Confirm Order" | ||||||
|  | msgstr "Bestellung Bestätigen" | ||||||
|  | 
 | ||||||
| msgid "Error." | msgid "Error." | ||||||
| msgstr "" | msgstr "" | ||||||
| 
 | 
 | ||||||
|  | @ -532,8 +502,8 @@ msgid "" | ||||||
| "There was a payment related error. On close of this popup, you will be " | "There was a payment related error. On close of this popup, you will be " | ||||||
| "redirected back to the payment page." | "redirected back to the payment page." | ||||||
| msgstr "" | msgstr "" | ||||||
| "Es ist ein Fehler bei der Zahlung betreten. Du wirst nach dem " | "Es ist ein Fehler bei der Zahlung betreten. Du wirst nach dem Schliessen vom " | ||||||
| "Schliessen vom Popup zur Bezahlseite weitergeleitet." | "Popup zur Bezahlseite weitergeleitet." | ||||||
| 
 | 
 | ||||||
| msgid "Thank you for the order." | msgid "Thank you for the order." | ||||||
| msgstr "Danke für Deine Bestellung." | msgstr "Danke für Deine Bestellung." | ||||||
|  | @ -545,6 +515,30 @@ msgstr "" | ||||||
| "Deine VM ist gleich bereit. Wir senden Dir eine Bestätigungsemail, sobald Du " | "Deine VM ist gleich bereit. Wir senden Dir eine Bestätigungsemail, sobald Du " | ||||||
| "auf sie zugreifen kannst." | "auf sie zugreifen kannst." | ||||||
| 
 | 
 | ||||||
|  | #~ msgid "Date" | ||||||
|  | #~ msgstr "Datum" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Billed To:" | ||||||
|  | #~ msgstr "Rechnungsadresse" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Payment Method:" | ||||||
|  | #~ msgstr "Bezahlmethode" | ||||||
|  | 
 | ||||||
|  | #~ msgid "ending in" | ||||||
|  | #~ msgstr "endend in" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Order summary" | ||||||
|  | #~ msgstr "Bestellungsübersicht" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Processing..." | ||||||
|  | #~ msgstr "Abarbeitung..." | ||||||
|  | 
 | ||||||
|  | #~ msgid "Hold tight, we are processing your request" | ||||||
|  | #~ msgstr "Bitte warten - wir verbeiten Deine Anfrage gerade" | ||||||
|  | 
 | ||||||
|  | #~ msgid "Some problem encountered. Please try again later." | ||||||
|  | #~ msgstr "Ein Problem ist aufgetreten. Bitte versuche es später noch einmal." | ||||||
|  | 
 | ||||||
| #~ msgid "We are cutting down the costs significantly!" | #~ msgid "We are cutting down the costs significantly!" | ||||||
| #~ msgstr "Wir sorgen dafür, dass die Kosten für Dich signifikant abnehmen" | #~ msgstr "Wir sorgen dafür, dass die Kosten für Dich signifikant abnehmen" | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1501,6 +1501,8 @@ tech-sub-sec h2 { | ||||||
|     font-size: 14px; |     font-size: 14px; | ||||||
|     font-weight: 300; |     font-weight: 300; | ||||||
|     letter-spacing: 2px; |     letter-spacing: 2px; | ||||||
|  |     line-height: 24px; | ||||||
|  |     display: block; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .content-section-a { | .content-section-a { | ||||||
|  |  | ||||||
|  | @ -16,7 +16,7 @@ | ||||||
|                         <hr class="intro-divider"> |                         <hr class="intro-divider"> | ||||||
|                         <ul class="list-inline intro-social-buttons"> |                         <ul class="list-inline intro-social-buttons"> | ||||||
|                             <li> |                             <li> | ||||||
|                                 <a class="btn btn-default btn-lg btn-transparent url" href="#how"><i class="#Services"></i> <span class="network-name">{% trans "Highlights" %}</span></a> |                                 <a class="btn btn-default btn-lg btn-transparent url" href="#how"><span class="network-name">{% trans "Highlights" %}</span></a> | ||||||
|                             </li> |                             </li> | ||||||
|                             <li> |                             <li> | ||||||
|                                 <a class="btn btn-primary btn-lg page-scroll url" href="#price"><span class="network-name">{% trans "I want it!" %}</span></a> |                                 <a class="btn btn-primary btn-lg page-scroll url" href="#price"><span class="network-name">{% trans "I want it!" %}</span></a> | ||||||
|  |  | ||||||
|  | @ -1,143 +1,24 @@ | ||||||
| {% extends "hosting/base_short.html" %} | {% extends "hosting/order_detail.html" %} | ||||||
| {% load staticfiles bootstrap3 %} |  | ||||||
| {% load i18n %} | {% load i18n %} | ||||||
| {% load custom_tags %} |  | ||||||
| 
 | 
 | ||||||
| {% block navbar %} | {% block navbar %} | ||||||
|     {% include "datacenterlight/includes/_navbar.html" %} |     {% include "datacenterlight/includes/_navbar.html" %} | ||||||
| {% endblock navbar %} | {% endblock navbar %} | ||||||
| 
 | 
 | ||||||
| {% block content %} | {% block submit_btn %} | ||||||
| 
 |   <form id="virtual_machine_create_form" action="" method="POST"> | ||||||
| <div class="order-detail-container"> |  | ||||||
|    {% if messages %} |  | ||||||
|         <div class="row"> |  | ||||||
|             <div class="col-xs-12 col-md-8 col-md-offset-2"> |  | ||||||
|                 <br/> |  | ||||||
|                 <div class="alert alert-warning"> |  | ||||||
|                     {% for message in messages %} |  | ||||||
|                     <span>{{ message }}</span> |  | ||||||
|                     {% endfor %} |  | ||||||
|                 </div> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|     {% endif %} |  | ||||||
|     {% if not error %} |  | ||||||
|         <div class="row"> |  | ||||||
|             <div class="col-xs-12 col-md-8 col-md-offset-2"> |  | ||||||
|                 <div class="invoice-title"> |  | ||||||
|                     <h2>{% trans "Confirm Order"%}</h2> |  | ||||||
|                 </div> |  | ||||||
|                 <hr> |  | ||||||
|                 <div class="row"> |  | ||||||
|                     <div class="col-xs-12 col-sm-6 pull-right order-confirm-date"> |  | ||||||
|                         <address> |  | ||||||
|                             <strong>{% trans "Date"%}:</strong><br> |  | ||||||
|                             <span id="order-created_at">{% now "Y-m-d H:i" %}</span><br><br> |  | ||||||
|                         </address> |  | ||||||
|                     </div> |  | ||||||
|                     <div class="col-xs-12 col-sm-6"> |  | ||||||
|                         <address> |  | ||||||
|                         <h3><b>{% trans "Billed To:"%}</b></h3> |  | ||||||
|                         {% with billing_address_data as billing_address %} |  | ||||||
|                             {{billing_address.cardholder_name}}<br> {{billing_address.street_address}}, {{billing_address.postal_code}}<br> |  | ||||||
|                             {{billing_address.city}}, {{billing_address.country}}. |  | ||||||
|                         {% endwith %} |  | ||||||
|                         </address> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|                 <div class="row"> |  | ||||||
|                     <div class="col-xs-6"> |  | ||||||
|                         <address> |  | ||||||
|                             <strong>{% trans "Payment Method:"%}</strong><br> |  | ||||||
|                                 {{cc_brand}} {% trans "ending in" %} **** {{cc_last4}}<br> |  | ||||||
|                                 {{request.session.user.email}} |  | ||||||
|                         </address> |  | ||||||
|                     </div> |  | ||||||
|                 </div> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
| 
 |  | ||||||
|         <div class="row"> |  | ||||||
|             <div class="col-md-8 col-md-offset-2"> |  | ||||||
|                 <h3><b>{% trans "Order summary"%}</b></h3> |  | ||||||
|                 <hr> |  | ||||||
|                 <div class="content"> |  | ||||||
|                     {% with request.session.specs as vm %} |  | ||||||
|                         <p><b>{% trans "Cores"%}</b> <span class="pull-right">{{vm.cpu}}</span></p> |  | ||||||
|                         <hr> |  | ||||||
|                         <p><b>{% trans "Memory"%}</b> <span class="pull-right">{{vm.memory}} GB</span></p> |  | ||||||
|                         <hr> |  | ||||||
|                         <p><b>{% trans "Disk space"%}</b> <span class="pull-right">{{vm.disk_size}} GB</span></p> |  | ||||||
|                         <hr> |  | ||||||
|                         <p><b>{% trans "Configuration"%}</b> <span class="pull-right">{{request.session.template.name}}</span></p> |  | ||||||
|                         <hr> |  | ||||||
|                         <h4>{% trans "Total"%}<p class="pull-right"><b>{{vm.price}} CHF</b><span class="dcl-price-month"> /{% trans "Month" %}</span></p></h4> |  | ||||||
|                     {% endwith %} |  | ||||||
|                 </div> |  | ||||||
|                 <br/> |  | ||||||
|                 <form method="post" id="virtual_machine_create_form"> |  | ||||||
|       {% csrf_token %} |       {% csrf_token %} | ||||||
|       <div class="row"> |       <div class="row"> | ||||||
|           <div class="col-sm-8"> |           <div class="col-sm-8"> | ||||||
|                             <p class="dcl-place-order-text">{% blocktrans with vm_price=request.session.specs.price %}By clicking "Place order" this plan will charge your credit card account with the fee of {{ vm_price }}CHF/month{% endblocktrans %}.</p> |               <div class="dcl-place-order-text">{% blocktrans with vm_price=request.session.specs.price %}By clicking "Place order" this plan will charge your credit card account with the fee of {{ vm_price }}CHF/month{% endblocktrans %}.</div> | ||||||
|           </div> |           </div> | ||||||
|                         <div class="col-sm-4 content"> |           <div class="col-sm-4 order-confirm-btn text-right"> | ||||||
|                             <button class="btn btn-info pull-right" |               <button class="btn choice-btn" id="btn-create-vm" | ||||||
|                                     id="btn-create-vm" |                       data-toggle="modal" data-target="#createvm-modal"> | ||||||
|                                     data-href="{% url 'hosting:order-confirmation' %}" |  | ||||||
|                                     data-toggle="modal" |  | ||||||
|                                     data-target="#createvm-modal"> |  | ||||||
| 				{% trans "Place order" %} | 				{% trans "Place order" %} | ||||||
|               </button> |               </button> | ||||||
|           </div> |           </div> | ||||||
|       </div> |       </div> | ||||||
|   </form> |   </form> | ||||||
|             </div> | {% endblock submit_btn %} | ||||||
|         </div> |  | ||||||
|     {% endif %} |  | ||||||
| </div> |  | ||||||
| <!-- Create VM Modal --> |  | ||||||
| <div class="modal fade" id="createvm-modal" tabindex="-1" role="dialog" |  | ||||||
|      aria-hidden="true" data-backdrop="static" data-keyboard="false"> |  | ||||||
|     <div class="modal-dialog"> |  | ||||||
|         <div class="modal-content"> |  | ||||||
|             <div class="modal-header"> |  | ||||||
|                 <button type="button" class="close hidden" data-dismiss="modal" |  | ||||||
|                         aria-label="create-vm-close"> |  | ||||||
|                     <span aria-hidden="true">×</span> |  | ||||||
|                 </button> |  | ||||||
|             </div> |  | ||||||
|             <div class="modal-body"> |  | ||||||
|                 <div class="modal-icon"> |  | ||||||
|                     <i class="fa fa-cog fa-spin fa-3x fa-fw"></i> |  | ||||||
|                     <span class="sr-only">{% trans "Processing..." %}</span> |  | ||||||
|                 </div> |  | ||||||
|                 <h4 class="modal-title" id="createvm-modal-title"> |  | ||||||
|                 </h4> |  | ||||||
|                 <div class="modal-text" id="createvm-modal-body"> |  | ||||||
|                     {% trans "Hold tight, we are processing your request" %} |  | ||||||
|                 </div> |  | ||||||
|                 <div class="modal-footer"> |  | ||||||
|                     <a id="createvm-modal-done-btn" class="btn btn-success btn-ok btn-wide hide" href="">{% trans "OK" %}</a> |  | ||||||
|                     <button id="createvm-modal-close-btn" type="button" class="btn btn-danger btn-ok btn-wide hide" data-dismiss="modal" aria-label="create-vm-close">{% trans "Close" %}</button> |  | ||||||
|                 </div> |  | ||||||
|             </div> |  | ||||||
|         </div> |  | ||||||
|     </div> |  | ||||||
| </div> |  | ||||||
| <!-- / Create VM Modal --> |  | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| <script type="text/javascript"> |  | ||||||
|     {% trans "Some problem encountered. Please try again later." as err_msg %} |  | ||||||
|     var create_vm_error_message = '{{err_msg|safe}}.'; |  | ||||||
| 
 |  | ||||||
|     window.onload = function () { |  | ||||||
|         var locale_date = moment.utc(document.getElementById("order-created_at").textContent,'YYYY-MM-DD HH:mm').toDate(); |  | ||||||
|         locale_date =  moment(locale_date).format("YYYY-MM-DD h:mm:ss a"); |  | ||||||
|         document.getElementById('order-created_at').innerHTML = locale_date; |  | ||||||
|     }; |  | ||||||
| 
 |  | ||||||
| </script> |  | ||||||
| {%endblock%} |  | ||||||
|  |  | ||||||
|  | @ -463,6 +463,8 @@ class OrderConfirmationView(DetailView): | ||||||
|             'site_url': reverse('datacenterlight:index'), |             'site_url': reverse('datacenterlight:index'), | ||||||
|             'cc_last4': card_details.get('response_object').get('last4'), |             'cc_last4': card_details.get('response_object').get('last4'), | ||||||
|             'cc_brand': card_details.get('response_object').get('brand'), |             'cc_brand': card_details.get('response_object').get('brand'), | ||||||
|  |             'vm': request.session.get('specs'), | ||||||
|  |             'page_header_text': _('Confirm Order'), | ||||||
|             'billing_address_data': request.session.get('billing_address_data') |             'billing_address_data': request.session.get('billing_address_data') | ||||||
|         } |         } | ||||||
|         return render(request, self.template_name, context) |         return render(request, self.template_name, context) | ||||||
|  |  | ||||||
|  | @ -8,7 +8,7 @@ msgid "" | ||||||
| msgstr "" | msgstr "" | ||||||
| "Project-Id-Version: PACKAGE VERSION\n" | "Project-Id-Version: PACKAGE VERSION\n" | ||||||
| "Report-Msgid-Bugs-To: \n" | "Report-Msgid-Bugs-To: \n" | ||||||
| "POT-Creation-Date: 2017-10-01 20:57+0000\n" | "POT-Creation-Date: 2017-10-01 22:12+0000\n" | ||||||
| "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||||||
| "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||||||
| "Language-Team: LANGUAGE <LL@li.org>\n" | "Language-Team: LANGUAGE <LL@li.org>\n" | ||||||
|  | @ -331,8 +331,8 @@ msgstr "Alle Benachrichtigungen" | ||||||
| msgid "%(page_header_text)s" | msgid "%(page_header_text)s" | ||||||
| msgstr "" | msgstr "" | ||||||
| 
 | 
 | ||||||
| msgid "Invoice Date" | msgid "Date" | ||||||
| msgstr "Rechnung Datum" | msgstr "Datum" | ||||||
| 
 | 
 | ||||||
| msgid "Status" | msgid "Status" | ||||||
| msgstr "" | msgstr "" | ||||||
|  | @ -355,6 +355,9 @@ msgstr "Bezahlmethode" | ||||||
| msgid "ending in" | msgid "ending in" | ||||||
| msgstr "endend in" | msgstr "endend in" | ||||||
| 
 | 
 | ||||||
|  | msgid "Credit Card" | ||||||
|  | msgstr "Kreditkarte" | ||||||
|  | 
 | ||||||
| msgid "Order summary" | msgid "Order summary" | ||||||
| msgstr "Bestellungsübersicht" | msgstr "Bestellungsübersicht" | ||||||
| 
 | 
 | ||||||
|  | @ -362,7 +365,7 @@ msgid "Product" | ||||||
| msgstr "Produkt" | msgstr "Produkt" | ||||||
| 
 | 
 | ||||||
| msgid "Period" | msgid "Period" | ||||||
| msgstr "" | msgstr "Periode" | ||||||
| 
 | 
 | ||||||
| msgid "Cores" | msgid "Cores" | ||||||
| msgstr "Prozessorkerne" | msgstr "Prozessorkerne" | ||||||
|  | @ -408,9 +411,6 @@ msgstr "Ein Problem ist aufgetreten. Bitte versuche es später noch einmal." | ||||||
| msgid "Order Nr." | msgid "Order Nr." | ||||||
| msgstr "Bestellung Nr." | msgstr "Bestellung Nr." | ||||||
| 
 | 
 | ||||||
| msgid "Date" |  | ||||||
| msgstr "Datum" |  | ||||||
| 
 |  | ||||||
| msgid "Amount" | msgid "Amount" | ||||||
| msgstr "Betrag" | msgstr "Betrag" | ||||||
| 
 | 
 | ||||||
|  | @ -435,9 +435,6 @@ msgstr "inkl. Mehrwertsteuer" | ||||||
| msgid "Billing Address" | msgid "Billing Address" | ||||||
| msgstr "Rechnungsadresse" | msgstr "Rechnungsadresse" | ||||||
| 
 | 
 | ||||||
| msgid "Credit Card" |  | ||||||
| msgstr "Kreditkarte" |  | ||||||
| 
 |  | ||||||
| msgid "" | msgid "" | ||||||
| "\n" | "\n" | ||||||
| "                                Please fill in your credit card information " | "                                Please fill in your credit card information " | ||||||
|  | @ -696,8 +693,8 @@ msgid "" | ||||||
| "There was a payment related error. On close of this popup, you will be " | "There was a payment related error. On close of this popup, you will be " | ||||||
| "redirected back to the payment page." | "redirected back to the payment page." | ||||||
| msgstr "" | msgstr "" | ||||||
| "Es ist ein Fehler bei der Zahlung betreten. Du wirst nach dem " | "Es ist ein Fehler bei der Zahlung betreten. Du wirst nach dem Schliessen vom " | ||||||
| "Schliessen vom Popup zur Bezahlseite weitergeleitet" | "Popup zur Bezahlseite weitergeleitet" | ||||||
| 
 | 
 | ||||||
| msgid "Thank you for the order." | msgid "Thank you for the order." | ||||||
| msgstr "Danke für Deine Bestellung." | msgstr "Danke für Deine Bestellung." | ||||||
|  | @ -736,8 +733,12 @@ msgid "Virtual Machine Cancellation" | ||||||
| msgstr "VM Kündigung" | msgstr "VM Kündigung" | ||||||
| 
 | 
 | ||||||
| msgid "There was an error processing your request. Please try again." | msgid "There was an error processing your request. Please try again." | ||||||
| msgstr "Es gab einen Fehler bei der Bearbeitung Deine Anfrage. Bitte" | msgstr "" | ||||||
| " versuche es noch einmal." | "Es gab einen Fehler bei der Bearbeitung Deine Anfrage. Bitte versuche es " | ||||||
|  | "noch einmal." | ||||||
|  | 
 | ||||||
|  | #~ msgid "Invoice Date" | ||||||
|  | #~ msgstr "Rechnung Datum" | ||||||
| 
 | 
 | ||||||
| #~ msgid "VM %(VM_ID)s terminated successfully" | #~ msgid "VM %(VM_ID)s terminated successfully" | ||||||
| #~ msgstr "VM %(VM_ID)s erfolgreich beendet" | #~ msgstr "VM %(VM_ID)s erfolgreich beendet" | ||||||
|  |  | ||||||
|  | @ -17,10 +17,12 @@ | ||||||
|             <h1 class="dashboard-title-thin"> |             <h1 class="dashboard-title-thin"> | ||||||
|                 <img src="{% static 'hosting/img/billing.svg' %}" class="un-icon">{% blocktrans with page_header_text=page_header_text|default:"Invoice" %}{{page_header_text}}{% endblocktrans %} |                 <img src="{% static 'hosting/img/billing.svg' %}" class="un-icon">{% blocktrans with page_header_text=page_header_text|default:"Invoice" %}{{page_header_text}}{% endblocktrans %} | ||||||
|             </h1> |             </h1> | ||||||
|  |             {% if order %} | ||||||
|                 <div class="dashboard-container-options"> |                 <div class="dashboard-container-options"> | ||||||
|                     <button type="button" class="btn-plain btn-pdf" data-target="#order-detail{{order.pk}}"><img src="{% static 'hosting/img/icon-pdf.svg' %}" class="svg-img"></button> |                     <button type="button" class="btn-plain btn-pdf" data-target="#order-detail{{order.pk}}"><img src="{% static 'hosting/img/icon-pdf.svg' %}" class="svg-img"></button> | ||||||
|                     <button type="button" class="btn-plain btn-print"><img src="{% static 'hosting/img/icon-print.svg' %}" class="svg-img"></button> |                     <button type="button" class="btn-plain btn-print"><img src="{% static 'hosting/img/icon-print.svg' %}" class="svg-img"></button> | ||||||
|                 </div> |                 </div> | ||||||
|  |             {% endif %} | ||||||
|         </div> |         </div> | ||||||
|         <div class="order-details"> |         <div class="order-details"> | ||||||
|             {% if order %} |             {% if order %} | ||||||
|  | @ -29,7 +31,7 @@ | ||||||
|                 </p> |                 </p> | ||||||
|             {% endif %} |             {% endif %} | ||||||
|             <p> |             <p> | ||||||
|                 <strong>{% trans "Invoice Date" %}:</strong> |                 <strong>{% trans "Date" %}:</strong> | ||||||
|                 <span id="order-created_at"> |                 <span id="order-created_at"> | ||||||
|                     {% if order %} |                     {% if order %} | ||||||
|                         {{order.created_at|date:'Y-m-d H:i'}} |                         {{order.created_at|date:'Y-m-d H:i'}} | ||||||
|  | @ -80,8 +82,7 @@ | ||||||
|                         {{order.last4}}<br> |                         {{order.last4}}<br> | ||||||
|                         {{user.email}} |                         {{user.email}} | ||||||
|                     {% else %} |                     {% else %} | ||||||
|                         {{cc_brand|default:'Card'}} {% trans "ending in" %} **** |                         {{cc_brand|default:_('Credit Card')}} {% trans "ending in" %} ****{{cc_last4}}<br> | ||||||
|                         {{cc_last4}}<br> |  | ||||||
|                         {% if request.user.is_authenticated %} |                         {% if request.user.is_authenticated %} | ||||||
|                             {{request.user.email}} |                             {{request.user.email}} | ||||||
|                         {% else %} |                         {% else %} | ||||||
|  | @ -94,7 +95,12 @@ | ||||||
|             <div> |             <div> | ||||||
|                 <h4>{% trans "Order summary" %}</h4> |                 <h4>{% trans "Order summary" %}</h4> | ||||||
|                 <p> |                 <p> | ||||||
|                     <strong>{% trans "Product" %}:</strong> {{vm.name}} |                     <strong>{% trans "Product" %}:</strong>  | ||||||
|  |                     {% if vm.name %} | ||||||
|  |                         {{ vm.name }} | ||||||
|  |                     {% else %} | ||||||
|  |                         {{ request.session.template.name }} | ||||||
|  |                     {% endif %} | ||||||
|                 </p> |                 </p> | ||||||
|                 <div class="row"> |                 <div class="row"> | ||||||
|                     <div class="col-sm-6"> |                     <div class="col-sm-6"> | ||||||
|  | @ -132,6 +138,7 @@ | ||||||
|             {% endif %} |             {% endif %} | ||||||
|         </div> |         </div> | ||||||
|         {% if not order %} |         {% if not order %} | ||||||
|  |             {% block submit_btn %} | ||||||
|                 <form method="post" id="virtual_machine_create_form"> |                 <form method="post" id="virtual_machine_create_form"> | ||||||
|                     {% csrf_token %} |                     {% csrf_token %} | ||||||
|                     <div class="row"> |                     <div class="row"> | ||||||
|  | @ -145,6 +152,7 @@ | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|                 </form> |                 </form> | ||||||
|  |             {% endblock submit_btn %} | ||||||
|         {% endif %} |         {% endif %} | ||||||
|     {% endif %} |     {% endif %} | ||||||
| </div> | </div> | ||||||
|  | @ -197,8 +205,10 @@ | ||||||
| {%endblock%} | {%endblock%} | ||||||
| 
 | 
 | ||||||
| {% block js_extra %} | {% block js_extra %} | ||||||
|  |     {% if order %} | ||||||
|         <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script> |         <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.min.js"></script> | ||||||
|         <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> |         <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> | ||||||
|         <script src="{% static 'hosting/js/html2pdf.js' %}"></script> |         <script src="{% static 'hosting/js/html2pdf.js' %}"></script> | ||||||
|         <script src="{% static 'hosting/js/order.js' %}"></script> |         <script src="{% static 'hosting/js/order.js' %}"></script> | ||||||
|  |     {% endif %} | ||||||
| {% endblock js_extra %} | {% endblock js_extra %} | ||||||
|  |  | ||||||
|  | @ -686,6 +686,11 @@ class OrdersHostingDetailView(LoginRequiredMixin, | ||||||
|                 context['vm'] = vm_detail.__dict__ |                 context['vm'] = vm_detail.__dict__ | ||||||
|                 context['vm']['name'] = '{}-{}'.format( |                 context['vm']['name'] = '{}-{}'.format( | ||||||
|                     context['vm']['configuration'], context['vm']['vm_id']) |                     context['vm']['configuration'], context['vm']['vm_id']) | ||||||
|  |                 context['vm']['price'] = get_vm_price( | ||||||
|  |                     cpu=context['vm']['cores'], | ||||||
|  |                     disk_size=context['vm']['disk_size'], | ||||||
|  |                     memory=context['vm']['memory'] | ||||||
|  |                 ) | ||||||
|             except VMDetail.DoesNotExist: |             except VMDetail.DoesNotExist: | ||||||
|                 try: |                 try: | ||||||
|                     manager = OpenNebulaManager( |                     manager = OpenNebulaManager( | ||||||
|  |  | ||||||
|  | @ -28,28 +28,34 @@ def handleStripeError(f): | ||||||
|             body = e.json_body |             body = e.json_body | ||||||
|             err = body['error'] |             err = body['error'] | ||||||
|             response.update({'error': err['message']}) |             response.update({'error': err['message']}) | ||||||
|  |             logger.error(str(e)) | ||||||
|             return response |             return response | ||||||
|         except stripe.error.RateLimitError as e: |         except stripe.error.RateLimitError as e: | ||||||
|             response.update( |             response.update( | ||||||
|                 {'error': "Too many requests made to the API too quickly"}) |                 {'error': "Too many requests made to the API too quickly"}) | ||||||
|             return response |             return response | ||||||
|         except stripe.error.InvalidRequestError as e: |         except stripe.error.InvalidRequestError as e: | ||||||
|  |             logger.error(str(e)) | ||||||
|             response.update({'error': "Invalid parameters"}) |             response.update({'error': "Invalid parameters"}) | ||||||
|             return response |             return response | ||||||
|         except stripe.error.AuthenticationError as e: |         except stripe.error.AuthenticationError as e: | ||||||
|             # Authentication with Stripe's API failed |             # Authentication with Stripe's API failed | ||||||
|             # (maybe you changed API keys recently) |             # (maybe you changed API keys recently) | ||||||
|  |             logger.error(str(e)) | ||||||
|             response.update({'error': common_message}) |             response.update({'error': common_message}) | ||||||
|             return response |             return response | ||||||
|         except stripe.error.APIConnectionError as e: |         except stripe.error.APIConnectionError as e: | ||||||
|  |             logger.error(str(e)) | ||||||
|             response.update({'error': common_message}) |             response.update({'error': common_message}) | ||||||
|             return response |             return response | ||||||
|         except stripe.error.StripeError as e: |         except stripe.error.StripeError as e: | ||||||
|             # maybe send email |             # maybe send email | ||||||
|  |             logger.error(str(e)) | ||||||
|             response.update({'error': common_message}) |             response.update({'error': common_message}) | ||||||
|             return response |             return response | ||||||
|         except Exception as e: |         except Exception as e: | ||||||
|             # maybe send email |             # maybe send email | ||||||
|  |             logger.error(str(e)) | ||||||
|             response.update({'error': common_message}) |             response.update({'error': common_message}) | ||||||
|             return response |             return response | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue