diff --git a/hosting/templates/hosting/orders.html b/hosting/templates/hosting/orders.html index ce408783..188786c6 100644 --- a/hosting/templates/hosting/orders.html +++ b/hosting/templates/hosting/orders.html @@ -1,64 +1,102 @@ {% extends "hosting/base_short.html" %} {% load staticfiles bootstrap3 %} -{% block content %} +{% block content %} -
-
-
-
- -

My Orders

-
- - - - - - - - - - - {% for order in orders %} - - - - - - - - {% endfor %} - -
#DateAmountStatus
{{order.id}}{{order.created_at}}{{order.vm_plan.price}} CHF{% if order.approved %} - Approved - {% else%} - Declined - {% endif%} - - -
+
+
+
+
+ +

My Orders

+
+ + + + + + + + + + + {% for order in orders %} + + + + + + + + +
#DateAmountStatus
{{ order.id }}{{ order.created_at }}{{ order.vm_plan.price }} CHF{% if order.approved %} + Approved + {% else %} + Declined + {% endif %} + + + +
+ + {% if is_paginated %} + - {% endif %} +
+ {% endif %} -
+
-
-
+
+
-
+ -{%endblock%} \ No newline at end of file +{% endblock %} \ No newline at end of file diff --git a/hosting/urls.py b/hosting/urls.py index 67bf9e5e..efbca81c 100644 --- a/hosting/urls.py +++ b/hosting/urls.py @@ -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\d+)/?$', OrdersHostingDetailView.as_view(), name='orders'), + url(r'cancel_order/(?P\d+)/?$',OrdersHostingDeleteView.as_view(),name='delete_order'), url(r'my-virtual-machines/?$', VirtualMachinesPlanListView.as_view(), name='virtual_machines'), url(r'my-virtual-machines/(?P\d+)/?$', VirtualMachineDetailView.as_view(), name='virtual_machines'), diff --git a/hosting/views.py b/hosting/views.py index 83fa16a0..b4441a54 100644 --- a/hosting/views.py +++ b/hosting/views.py @@ -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"