commit
				
					
						bb13644b06
					
				
			
		
					 3 changed files with 101 additions and 54 deletions
				
			
		| 
						 | 
				
			
			@ -1,64 +1,102 @@
 | 
			
		|||
{% extends "hosting/base_short.html" %}
 | 
			
		||||
{% load staticfiles bootstrap3 %}
 | 
			
		||||
{% block content %} 
 | 
			
		||||
{% block content %}
 | 
			
		||||
 | 
			
		||||
<div>
 | 
			
		||||
	<div class="container orders-container">
 | 
			
		||||
		<div class="row">
 | 
			
		||||
			<div class="col-md-8 col-md-offset-2">
 | 
			
		||||
				<table class="table borderless table-hover"> 
 | 
			
		||||
				<h3><i class="fa fa-credit-card"></i> My Orders</h3> 
 | 
			
		||||
				<br/>
 | 
			
		||||
				<thead> 
 | 
			
		||||
				<tr> 
 | 
			
		||||
					<th>#</th>
 | 
			
		||||
					<th>Date</th>
 | 
			
		||||
					<th>Amount</th>
 | 
			
		||||
					<th>Status</th>
 | 
			
		||||
					<th></th>
 | 
			
		||||
				</tr> 
 | 
			
		||||
				</thead> 
 | 
			
		||||
				<tbody> 
 | 
			
		||||
					{% for order in orders %}
 | 
			
		||||
					<tr> 
 | 
			
		||||
						<td scope="row">{{order.id}}</td> 
 | 
			
		||||
						<td>{{order.created_at}}</td> 
 | 
			
		||||
						<td>{{order.vm_plan.price}} CHF</td> 
 | 
			
		||||
						<td>{% if order.approved %}
 | 
			
		||||
								<span class="text-success strong">Approved</span>
 | 
			
		||||
							{% else%} 
 | 
			
		||||
								<span class="text-danger strong">Declined</span>
 | 
			
		||||
							{% endif%}
 | 
			
		||||
						</td> 
 | 
			
		||||
						<td>
 | 
			
		||||
							<button type="button" class="btn btn-default"><a href="{% url 'hosting:orders' order.id %}">View Detail</a></button>
 | 
			
		||||
						</td>
 | 
			
		||||
					</tr>
 | 
			
		||||
					{% endfor %}
 | 
			
		||||
				</tbody> 
 | 
			
		||||
				</table>
 | 
			
		||||
    <div>
 | 
			
		||||
        <div class="container orders-container">
 | 
			
		||||
            <div class="row">
 | 
			
		||||
                <div class="col-md-8 col-md-offset-2">
 | 
			
		||||
                    <table class="table borderless table-hover">
 | 
			
		||||
                        <h3><i class="fa fa-credit-card"></i> My Orders</h3>
 | 
			
		||||
                        <br/>
 | 
			
		||||
                        <thead>
 | 
			
		||||
                        <tr>
 | 
			
		||||
                            <th>#</th>
 | 
			
		||||
                            <th>Date</th>
 | 
			
		||||
                            <th>Amount</th>
 | 
			
		||||
                            <th>Status</th>
 | 
			
		||||
                            <th></th>
 | 
			
		||||
                        </tr>
 | 
			
		||||
                        </thead>
 | 
			
		||||
                        <tbody>
 | 
			
		||||
                        {% for order in orders %}
 | 
			
		||||
                            <tr>
 | 
			
		||||
                                <td scope="row">{{ order.id }}</td>
 | 
			
		||||
                                <td>{{ order.created_at }}</td>
 | 
			
		||||
                                <td>{{ order.vm_plan.price }} CHF</td>
 | 
			
		||||
                                <td>{% if order.approved %}
 | 
			
		||||
                                    <span class="text-success strong">Approved</span>
 | 
			
		||||
                                {% else %}
 | 
			
		||||
                                    <span class="text-danger strong">Declined</span>
 | 
			
		||||
                                {% endif %}
 | 
			
		||||
                                </td>
 | 
			
		||||
                                <td>
 | 
			
		||||
                                    <button type="button" class="btn btn-default"><a
 | 
			
		||||
                                            href="{% url 'hosting:orders' order.id %}">View Detail</a>
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                    <button type="button" class="btn btn-default" data-toggle="modal"
 | 
			
		||||
                                            data-target="#Modal{{ order.id }}"><a
 | 
			
		||||
                                            href="#">Cancel order</a>
 | 
			
		||||
                                    </button>
 | 
			
		||||
                                </td>
 | 
			
		||||
                            </tr>
 | 
			
		||||
                            <div class="modal fade" id="Modal{{ order.id }}" tabindex="-1" role="dialog"
 | 
			
		||||
                                 aria-labelledby="exampleModalLabel">
 | 
			
		||||
                                <div class="modal-dialog" role="document">
 | 
			
		||||
                                    <div class="modal-content">
 | 
			
		||||
                                        <div class="modal-header">
 | 
			
		||||
                                            <button type="button" class="close" data-dismiss="modal"
 | 
			
		||||
                                                    aria-label="Confirm"><span
 | 
			
		||||
                                                    aria-hidden="true">×</span>
 | 
			
		||||
                                            </button>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                        <div class="modal-body">
 | 
			
		||||
                                            <h4 class="modal-title" id="ModalLabel">Do You want do delete
 | 
			
		||||
                                                Your
 | 
			
		||||
                                                order?</h4>
 | 
			
		||||
 | 
			
		||||
			    {% if is_paginated %}
 | 
			
		||||
			        <div class="pagination">
 | 
			
		||||
                                            <form method="post"
 | 
			
		||||
                                                  action="{% url 'hosting:delete_order' order.id %}">
 | 
			
		||||
                                                {% csrf_token %}
 | 
			
		||||
                                                <div class="modal-footer">
 | 
			
		||||
                                                    <button type="button" class="btn btn-default"
 | 
			
		||||
                                                            data-dismiss="modal">
 | 
			
		||||
                                                        Close
 | 
			
		||||
                                                    </button>
 | 
			
		||||
                                                    <button type="submit" class="btn btn-primary">Delete
 | 
			
		||||
                                                    </button>
 | 
			
		||||
                                                </div>
 | 
			
		||||
                                            </form>
 | 
			
		||||
                                        </div>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        {% endfor %}
 | 
			
		||||
 | 
			
		||||
                        </tbody>
 | 
			
		||||
                    </table>
 | 
			
		||||
 | 
			
		||||
                    {% if is_paginated %}
 | 
			
		||||
                        <div class="pagination">
 | 
			
		||||
			            <span class="page-links">
 | 
			
		||||
			                {% if page_obj.has_previous %}
 | 
			
		||||
			                    <a href="{{request.path}}?page={{ page_obj.previous_page_number }}">previous</a>
 | 
			
		||||
			                {% endif %}
 | 
			
		||||
			                <span class="page-current">
 | 
			
		||||
                                <a href="{{ request.path }}?page={{ page_obj.previous_page_number }}">previous</a>
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
                            <span class="page-current">
 | 
			
		||||
			                    Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
 | 
			
		||||
			                </span>
 | 
			
		||||
			                {% if page_obj.has_next %}
 | 
			
		||||
			                    <a href="{{request.path}}?page={{ page_obj.next_page_number }}">next</a>
 | 
			
		||||
			                {% endif %}
 | 
			
		||||
                            {% if page_obj.has_next %}
 | 
			
		||||
                                <a href="{{ request.path }}?page={{ page_obj.next_page_number }}">next</a>
 | 
			
		||||
                            {% endif %}
 | 
			
		||||
			            </span>
 | 
			
		||||
			        </div>
 | 
			
		||||
			    {% endif %}
 | 
			
		||||
                        </div>
 | 
			
		||||
                    {% endif %}
 | 
			
		||||
 | 
			
		||||
			</div>
 | 
			
		||||
                </div>
 | 
			
		||||
 | 
			
		||||
	    </div>
 | 
			
		||||
	</div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
</div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
{%endblock%}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ from django.conf.urls import url
 | 
			
		|||
from .views import DjangoHostingView, RailsHostingView, PaymentVMView, \
 | 
			
		||||
    NodeJSHostingView, LoginView, SignupView, IndexView, \
 | 
			
		||||
    OrdersHostingListView, OrdersHostingDetailView, VirtualMachinesPlanListView,\
 | 
			
		||||
    VirtualMachineDetailView
 | 
			
		||||
    OrdersHostingDeleteView,VirtualMachineDetailView
 | 
			
		||||
 | 
			
		||||
urlpatterns = [
 | 
			
		||||
    # url(r'pricing/?$', VMPricingView.as_view(), name='pricing'),
 | 
			
		||||
| 
						 | 
				
			
			@ -14,6 +14,7 @@ urlpatterns = [
 | 
			
		|||
    url(r'payment/?$', PaymentVMView.as_view(), name='payment'),
 | 
			
		||||
    url(r'orders/?$', OrdersHostingListView.as_view(), name='orders'),
 | 
			
		||||
    url(r'orders/(?P<pk>\d+)/?$', OrdersHostingDetailView.as_view(), name='orders'),
 | 
			
		||||
    url(r'cancel_order/(?P<pk>\d+)/?$',OrdersHostingDeleteView.as_view(),name='delete_order'),
 | 
			
		||||
    url(r'my-virtual-machines/?$', VirtualMachinesPlanListView.as_view(), name='virtual_machines'),
 | 
			
		||||
    url(r'my-virtual-machines/(?P<pk>\d+)/?$', VirtualMachineDetailView.as_view(),
 | 
			
		||||
        name='virtual_machines'),
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3,7 +3,7 @@ from django.shortcuts import get_object_or_404, render
 | 
			
		|||
from django.core.urlresolvers import reverse_lazy, reverse
 | 
			
		||||
from django.contrib.auth.mixins import LoginRequiredMixin
 | 
			
		||||
 | 
			
		||||
from django.views.generic import View, CreateView, FormView, ListView, DetailView
 | 
			
		||||
from django.views.generic import View, CreateView, FormView, ListView, DetailView,DeleteView
 | 
			
		||||
from django.http import HttpResponseRedirect
 | 
			
		||||
from django.contrib.auth import authenticate, login
 | 
			
		||||
from django.conf import settings
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +126,7 @@ class LoginView(FormView):
 | 
			
		|||
class SignupView(CreateView):
 | 
			
		||||
    template_name = 'hosting/signup.html'
 | 
			
		||||
    form_class = HostingUserSignupForm
 | 
			
		||||
    moodel = CustomUser
 | 
			
		||||
    model = CustomUser
 | 
			
		||||
 | 
			
		||||
    def get_success_url(self):
 | 
			
		||||
        next_url = self.request.session.get('next', reverse_lazy('hosting:signup'))
 | 
			
		||||
| 
						 | 
				
			
			@ -240,6 +240,14 @@ class OrdersHostingListView(LoginRequiredMixin, ListView):
 | 
			
		|||
        self.queryset = HostingOrder.objects.filter(customer__user=user)
 | 
			
		||||
        return super(OrdersHostingListView, self).get_queryset()
 | 
			
		||||
 | 
			
		||||
class OrdersHostingDeleteView(LoginRequiredMixin,DeleteView):
 | 
			
		||||
    login_url=reverse_lazy('hosting:login')
 | 
			
		||||
    success_url = reverse_lazy('hosting:orders')
 | 
			
		||||
    model = HostingOrder
 | 
			
		||||
    def get_queryset(self):
 | 
			
		||||
        user = self.request.user
 | 
			
		||||
        self.queryset = VirtualMachinePlan.objects.active(user)
 | 
			
		||||
        return super(VirtualMachinesPlanListView, self).get_queryset()
 | 
			
		||||
 | 
			
		||||
class VirtualMachinesPlanListView(LoginRequiredMixin, ListView):
 | 
			
		||||
    template_name = "hosting/virtual_machines.html"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue