Merge branch 'develop' of github.com:ungleich/dynamicweb into develop
This commit is contained in:
		
						commit
						88ee543083
					
				
					 4 changed files with 113 additions and 77 deletions
				
			
		|  | @ -84,18 +84,18 @@ INSTALLED_APPS = ( | ||||||
|     'djangocms_file', |     'djangocms_file', | ||||||
|     'djangocms_picture', |     'djangocms_picture', | ||||||
|     'djangocms_video', |     'djangocms_video', | ||||||
|     'djangocms_flash', |     # 'djangocms_flash', | ||||||
|     'djangocms_googlemap', |     # 'djangocms_googlemap', | ||||||
|     'djangocms_inherit', |     # 'djangocms_inherit', | ||||||
|     'djangocms_link', |     # 'djangocms_link', | ||||||
|     'djangocms_teaser', |     # 'djangocms_teaser', | ||||||
|     'djangocms_page_meta', |     'djangocms_page_meta', | ||||||
|     'djangocms_text_ckeditor', |     'djangocms_text_ckeditor', | ||||||
|     'djangocms_admin_style', |     'djangocms_admin_style', | ||||||
|     'cmsplugin_filer_file', |     'cmsplugin_filer_file', | ||||||
|     'cmsplugin_filer_folder', |     'cmsplugin_filer_folder', | ||||||
|     'cmsplugin_filer_link', |     'cmsplugin_filer_link', | ||||||
|      'cmsplugin_filer_teaser', |     # 'cmsplugin_filer_teaser', | ||||||
|     'cmsplugin_filer_video', |     'cmsplugin_filer_video', | ||||||
|     # |     # | ||||||
|     # blog |     # blog | ||||||
|  | @ -103,10 +103,9 @@ INSTALLED_APPS = ( | ||||||
|     'reversion', |     'reversion', | ||||||
|     # ungleich |     # ungleich | ||||||
|     'ungleich', |     'ungleich', | ||||||
| #    'ungleich_page', |     'ungleich_page', | ||||||
|     'hosting', |     'hosting', | ||||||
|     'digitalglarus', |     'digitalglarus', | ||||||
| 
 |  | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| MIDDLEWARE_CLASSES = ( | MIDDLEWARE_CLASSES = ( | ||||||
|  | @ -176,7 +175,7 @@ CMS_TEMPLATES = ( | ||||||
| DATABASES = { | DATABASES = { | ||||||
|     'default': { |     'default': { | ||||||
|         'ENGINE': 'django.db.backends.postgresql_psycopg2', |         'ENGINE': 'django.db.backends.postgresql_psycopg2', | ||||||
|         'NAME': 'app_new', |         'NAME': 'app', | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -280,12 +279,12 @@ CACHES = { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #if LOGIN_URL is None: | if LOGIN_URL is None: | ||||||
| #    LOGIN_URL = APP_ROOT_ENDPOINT + 'login/' |     LOGIN_URL = APP_ROOT_ENDPOINT + 'login/' | ||||||
| #if LOGOUT_URL is None: | if LOGOUT_URL is None: | ||||||
| #    LOGOUT_URL = APP_ROOT_ENDPOINT + 'logout/' |     LOGOUT_URL = APP_ROOT_ENDPOINT + 'logout/' | ||||||
| #if LOGIN_REDIRECT_URL is None: | if LOGIN_REDIRECT_URL is None: | ||||||
| #    LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT |     LOGIN_REDIRECT_URL = APP_ROOT_ENDPOINT | ||||||
| 
 | 
 | ||||||
| # Static files (CSS, JavaScript, Images) | # Static files (CSS, JavaScript, Images) | ||||||
| # https://docs.djangoproject.com/en/1.7/howto/static-files/ | # https://docs.djangoproject.com/en/1.7/howto/static-files/ | ||||||
|  | @ -302,7 +301,7 @@ META_SITE_PROTOCOL = 'http' | ||||||
| META_USE_SITES = True | META_USE_SITES = True | ||||||
| MIGRATION_MODULES = { | MIGRATION_MODULES = { | ||||||
|     'cms': 'cms.migrations', |     'cms': 'cms.migrations', | ||||||
|     #'filer': 'filer.migrations_django', |     # 'filer': 'filer.migrations_django', | ||||||
|     # 'menus': 'menus.migrations_django', |     # 'menus': 'menus.migrations_django', | ||||||
|     'djangocms_flash': 'djangocms_flash.migrations_django', |     'djangocms_flash': 'djangocms_flash.migrations_django', | ||||||
|     'djangocms_googlemap': 'djangocms_googlemap.migrations_django', |     'djangocms_googlemap': 'djangocms_googlemap.migrations_django', | ||||||
|  | @ -337,7 +336,6 @@ STATICFILES_FINDERS = ( | ||||||
| THUMBNAIL_PROCESSORS = ( | THUMBNAIL_PROCESSORS = ( | ||||||
|     'easy_thumbnails.processors.colorspace', |     'easy_thumbnails.processors.colorspace', | ||||||
|     'easy_thumbnails.processors.autocrop', |     'easy_thumbnails.processors.autocrop', | ||||||
|     #'easy_thumbnails.processors.scale_and_crop', |  | ||||||
|     'filer.thumbnail_processors.scale_and_crop_with_subject_location', |     'filer.thumbnail_processors.scale_and_crop_with_subject_location', | ||||||
|     'easy_thumbnails.processors.filters', |     'easy_thumbnails.processors.filters', | ||||||
| ) | ) | ||||||
|  | @ -443,12 +441,6 @@ PARLER_LANGUAGES = {1: ({'code': 'en-us'}, {'code': 'de'},)} | ||||||
| AUTH_USER_MODEL = 'membership.CustomUser' | AUTH_USER_MODEL = 'membership.CustomUser' | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| ALLOWED_HOSTS = [ |  | ||||||
|     "*" |  | ||||||
|     ] |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| # PAYMENT | # PAYMENT | ||||||
| 
 | 
 | ||||||
| STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services" | STRIPE_DESCRIPTION_ON_PAYMENT = "Payment for ungleich GmbH services" | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| {% load staticfiles bootstrap3 %} | {% load staticfiles bootstrap3 %} | ||||||
| {% block content %} | {% block content %} | ||||||
| 
 | 
 | ||||||
| <div> |     <div> | ||||||
|         <div class="container orders-container"> |         <div class="container orders-container"> | ||||||
|             <div class="row"> |             <div class="row"> | ||||||
|                 <div class="col-md-8 col-md-offset-2"> |                 <div class="col-md-8 col-md-offset-2"> | ||||||
|  | @ -21,20 +21,58 @@ | ||||||
|                         <tbody> |                         <tbody> | ||||||
|                         {% for order in orders %} |                         {% for order in orders %} | ||||||
|                             <tr> |                             <tr> | ||||||
| 						<td scope="row">{{order.id}}</td>  |                                 <td scope="row">{{ order.id }}</td> | ||||||
| 						<td>{{order.created_at}}</td>  |                                 <td>{{ order.created_at }}</td> | ||||||
| 						<td>{{order.vm_plan.price}} CHF</td>  |                                 <td>{{ order.vm_plan.price }} CHF</td> | ||||||
|                                 <td>{% if order.approved %} |                                 <td>{% if order.approved %} | ||||||
|                                     <span class="text-success strong">Approved</span> |                                     <span class="text-success strong">Approved</span> | ||||||
| 							{% else%}  |                                 {% else %} | ||||||
|                                     <span class="text-danger strong">Declined</span> |                                     <span class="text-danger strong">Declined</span> | ||||||
| 							{% endif%} |                                 {% endif %} | ||||||
|                                 </td> |                                 </td> | ||||||
|                                 <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"><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> |                                 </td> | ||||||
|                             </tr> |                             </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> | ||||||
|  | 
 | ||||||
|  |                                             <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 %} |                         {% endfor %} | ||||||
|  | 
 | ||||||
|                         </tbody> |                         </tbody> | ||||||
|                     </table> |                     </table> | ||||||
| 
 | 
 | ||||||
|  | @ -42,13 +80,13 @@ | ||||||
|                         <div class="pagination"> |                         <div class="pagination"> | ||||||
| 			            <span class="page-links"> | 			            <span class="page-links"> | ||||||
| 			                {% if page_obj.has_previous %} | 			                {% if page_obj.has_previous %} | ||||||
| 			                    <a href="{{request.path}}?page={{ page_obj.previous_page_number }}">previous</a> |                                 <a href="{{ request.path }}?page={{ page_obj.previous_page_number }}">previous</a> | ||||||
|                             {% endif %} |                             {% endif %} | ||||||
|                             <span class="page-current"> |                             <span class="page-current"> | ||||||
| 			                    Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}. | 			                    Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}. | ||||||
| 			                </span> | 			                </span> | ||||||
|                             {% if page_obj.has_next %} |                             {% if page_obj.has_next %} | ||||||
| 			                    <a href="{{request.path}}?page={{ page_obj.next_page_number }}">next</a> |                                 <a href="{{ request.path }}?page={{ page_obj.next_page_number }}">next</a> | ||||||
|                             {% endif %} |                             {% endif %} | ||||||
| 			            </span> | 			            </span> | ||||||
|                         </div> |                         </div> | ||||||
|  | @ -59,6 +97,6 @@ | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
| </div> |     </div> | ||||||
| 
 | 
 | ||||||
| {%endblock%} | {% endblock %} | ||||||
|  | @ -3,7 +3,7 @@ from django.conf.urls import url | ||||||
| from .views import DjangoHostingView, RailsHostingView, PaymentVMView, \ | from .views import DjangoHostingView, RailsHostingView, PaymentVMView, \ | ||||||
|     NodeJSHostingView, LoginView, SignupView, IndexView, \ |     NodeJSHostingView, LoginView, SignupView, IndexView, \ | ||||||
|     OrdersHostingListView, OrdersHostingDetailView, VirtualMachinesPlanListView,\ |     OrdersHostingListView, OrdersHostingDetailView, VirtualMachinesPlanListView,\ | ||||||
|     VirtualMachineDetailView, GenerateVMSSHKeysView |     VirtualMachineDetailView, GenerateVMSSHKeysView, OrdersHostingDeleteView | ||||||
| 
 | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     # url(r'pricing/?$', VMPricingView.as_view(), name='pricing'), |     # url(r'pricing/?$', VMPricingView.as_view(), name='pricing'), | ||||||
|  | @ -14,6 +14,7 @@ urlpatterns = [ | ||||||
|     url(r'payment/?$', PaymentVMView.as_view(), name='payment'), |     url(r'payment/?$', PaymentVMView.as_view(), name='payment'), | ||||||
|     url(r'orders/?$', OrdersHostingListView.as_view(), name='orders'), |     url(r'orders/?$', OrdersHostingListView.as_view(), name='orders'), | ||||||
|     url(r'orders/(?P<pk>\d+)/?$', OrdersHostingDetailView.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/?$', VirtualMachinesPlanListView.as_view(), name='virtual_machines'), | ||||||
|     url(r'my-virtual-machines/(?P<pk>\d+)/?$', VirtualMachineDetailView.as_view(), |     url(r'my-virtual-machines/(?P<pk>\d+)/?$', VirtualMachineDetailView.as_view(), | ||||||
|         name='virtual_machines'), |         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.core.urlresolvers import reverse_lazy, reverse | ||||||
| from django.contrib.auth.mixins import LoginRequiredMixin | from django.contrib.auth.mixins import LoginRequiredMixin | ||||||
| 
 | 
 | ||||||
| from django.views.generic import View, CreateView, FormView, ListView, DetailView, UpdateView | from django.views.generic import View, CreateView, FormView, ListView, DetailView, UpdateView, DeleteView | ||||||
| from django.http import HttpResponseRedirect, HttpResponse | from django.http import HttpResponseRedirect, HttpResponse | ||||||
| from django.contrib.auth import authenticate, login | from django.contrib.auth import authenticate, login | ||||||
| from django.conf import settings | from django.conf import settings | ||||||
|  | @ -126,7 +126,7 @@ class LoginView(FormView): | ||||||
| class SignupView(CreateView): | class SignupView(CreateView): | ||||||
|     template_name = 'hosting/signup.html' |     template_name = 'hosting/signup.html' | ||||||
|     form_class = HostingUserSignupForm |     form_class = HostingUserSignupForm | ||||||
|     moodel = CustomUser |     model = CustomUser | ||||||
| 
 | 
 | ||||||
|     def get_success_url(self): |     def get_success_url(self): | ||||||
|         next_url = self.request.session.get('next', reverse_lazy('hosting:signup')) |         next_url = self.request.session.get('next', reverse_lazy('hosting:signup')) | ||||||
|  | @ -169,6 +169,7 @@ class GenerateVMSSHKeysView(LoginRequiredMixin, UpdateView): | ||||||
|     #     return response |     #     return response | ||||||
|         # return HttpResponseRedirect(reverse('')) |         # return HttpResponseRedirect(reverse('')) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| class PaymentVMView(LoginRequiredMixin, FormView): | class PaymentVMView(LoginRequiredMixin, FormView): | ||||||
|     template_name = 'hosting/payment.html' |     template_name = 'hosting/payment.html' | ||||||
|     login_url = reverse_lazy('hosting:login') |     login_url = reverse_lazy('hosting:login') | ||||||
|  | @ -264,6 +265,10 @@ class OrdersHostingListView(LoginRequiredMixin, ListView): | ||||||
|         self.queryset = HostingOrder.objects.filter(customer__user=user) |         self.queryset = HostingOrder.objects.filter(customer__user=user) | ||||||
|         return super(OrdersHostingListView, self).get_queryset() |         return super(OrdersHostingListView, self).get_queryset() | ||||||
| 
 | 
 | ||||||
|  | class OrdersHostingDeleteView(LoginRequiredMixin,DeleteView): | ||||||
|  |     login_url=reverse_lazy('hosting:login') | ||||||
|  |     success_url = reverse_lazy('hosting:orders') | ||||||
|  |     model = HostingOrder | ||||||
| 
 | 
 | ||||||
| class VirtualMachinesPlanListView(LoginRequiredMixin, ListView): | class VirtualMachinesPlanListView(LoginRequiredMixin, ListView): | ||||||
|     template_name = "hosting/virtual_machines.html" |     template_name = "hosting/virtual_machines.html" | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue