Changed offers in VM pricing, Fixed pricing error changing disk size, VM footer dead links, Added logged out message
This commit is contained in:
		
					parent
					
						
							
								c3abf806c6
							
						
					
				
			
			
				commit
				
					
						e26eecf2eb
					
				
			
		
					 13 changed files with 124 additions and 44 deletions
				
			
		|  | @ -443,6 +443,12 @@ 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" | ||||||
|  | @ -455,7 +461,7 @@ REGISTRATION_MESSAGE = {'subject': "Validation mail", | ||||||
| STRIPE_API_PRIVATE_KEY = env('STRIPE_API_PRIVATE_KEY') | STRIPE_API_PRIVATE_KEY = env('STRIPE_API_PRIVATE_KEY') | ||||||
| STRIPE_API_PUBLIC_KEY = env('STRIPE_API_PUBLIC_KEY') | STRIPE_API_PUBLIC_KEY = env('STRIPE_API_PUBLIC_KEY') | ||||||
| 
 | 
 | ||||||
| DEBUG = False | DEBUG = True | ||||||
| 
 | 
 | ||||||
| if DEBUG: | if DEBUG: | ||||||
|     from .local import * |     from .local import * | ||||||
|  |  | ||||||
|  | @ -12,39 +12,41 @@ class Command(BaseCommand): | ||||||
|             'core_price': 10, |             'core_price': 10, | ||||||
|             'memory_price': 5, |             'memory_price': 5, | ||||||
|             'disk_size_price': 1, |             'disk_size_price': 1, | ||||||
|             'description': 'VM auf einzelner HW, Raid1, kein HA' |             'description': 'VM auf einzelner HW, Raid1, kein HA', | ||||||
|  |             'location':'DE' | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         return { |         return { | ||||||
|             'hetzner_nug': { |             # 'hetzner_nug': { | ||||||
|                 'base_price': 5, |             #     'base_price': 5, | ||||||
|                 'memory_price': 2, |             #     'memory_price': 2, | ||||||
|                 'core_price': 2, |             #     'core_price': 2, | ||||||
|                 'disk_size_price': 0.5, |             #     'disk_size_price': 0.5, | ||||||
|                 'description': 'VM ohne Uptime Garantie' |             #     'description': 'VM ohne Uptime Garantie' | ||||||
|             }, |             # }, | ||||||
|             'hetzner': hetzner, |             'hetzner': hetzner, | ||||||
|             'hetzner_raid6': { |             # 'hetzner_raid6': { | ||||||
|                 'base_price': hetzner['base_price']*1.2, |             #     'base_price': hetzner['base_price']*1.2, | ||||||
|                 'core_price': hetzner['core_price']*1.2, |             #     'core_price': hetzner['core_price']*1.2, | ||||||
|                 'memory_price': hetzner['memory_price']*1.2, |             #     'memory_price': hetzner['memory_price']*1.2, | ||||||
|                 'disk_size_price': hetzner['disk_size_price']*1.2, |             #     'disk_size_price': hetzner['disk_size_price']*1.2, | ||||||
|                 'description': 'VM auf einzelner HW, Raid1, kein HA' |             #     'description': 'VM auf einzelner HW, Raid1, kein HA' | ||||||
| 
 | 
 | ||||||
|             }, |             # }, | ||||||
|             'hetzner_glusterfs': { |             # 'hetzner_glusterfs': { | ||||||
|                 'base_price': hetzner['base_price']*1.4, |             #     'base_price': hetzner['base_price']*1.4, | ||||||
|                 'core_price': hetzner['core_price']*1.4, |             #     'core_price': hetzner['core_price']*1.4, | ||||||
|                 'memory_price': hetzner['memory_price']*1.4, |             #     'memory_price': hetzner['memory_price']*1.4, | ||||||
|                 'disk_size_price': hetzner['disk_size_price']*1.4, |             #     'disk_size_price': hetzner['disk_size_price']*1.4, | ||||||
|                 'description': 'VM auf einzelner HW, Raid1, kein HA' |             #     'description': 'VM auf einzelner HW, Raid1, kein HA' | ||||||
|             }, |             # }, | ||||||
|             'bern': { |             'bern': { | ||||||
|                 'base_price': 12, |                 'base_price': 12, | ||||||
|                 'core_price': 25, |                 'core_price': 25, | ||||||
|                 'memory_price': 7, |                 'memory_price': 7, | ||||||
|                 'disk_size_price': 0.70, |                 'disk_size_price': 0.70, | ||||||
|                 'description': "VM in Bern, HA Setup ohne HA Garantie", |                 'description': "VM in Bern, HA Setup ohne HA Garantie", | ||||||
|  |                 'location':'CH', | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								hosting/migrations/0017_virtualmachinetype_location.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								hosting/migrations/0017_virtualmachinetype_location.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,21 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Generated by Django 1.9.4 on 2016-05-19 04:14 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('hosting', '0016_delete_railsbetauser'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AddField( | ||||||
|  |             model_name='virtualmachinetype', | ||||||
|  |             name='location', | ||||||
|  |             field=models.CharField(choices=[('DE', 'Germany'), ('CH', 'Switzerland')], default='DE', max_length=3), | ||||||
|  |             preserve_default=False, | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -17,6 +17,8 @@ class VirtualMachineType(models.Model): | ||||||
|     HETZNER_R6 = 'hetzner_raid6' |     HETZNER_R6 = 'hetzner_raid6' | ||||||
|     HETZNER_G = 'hetzner_glusterfs' |     HETZNER_G = 'hetzner_glusterfs' | ||||||
|     BERN = 'bern' |     BERN = 'bern' | ||||||
|  |     DE_LOCATION = 'DE' | ||||||
|  |     CH_LOCATION = 'CH' | ||||||
| 
 | 
 | ||||||
|     HOSTING_TYPES = ( |     HOSTING_TYPES = ( | ||||||
|         (HETZNER_NUG, 'Hetzner No Uptime Guarantee'), |         (HETZNER_NUG, 'Hetzner No Uptime Guarantee'), | ||||||
|  | @ -26,12 +28,17 @@ class VirtualMachineType(models.Model): | ||||||
|         (BERN, 'Bern'), |         (BERN, 'Bern'), | ||||||
|     ) |     ) | ||||||
| 
 | 
 | ||||||
|  |     LOCATIONS_CHOICES = ( | ||||||
|  |         (DE_LOCATION, 'Germany'), | ||||||
|  |         (CH_LOCATION, 'Switzerland'), | ||||||
|  |     ) | ||||||
|     description = models.TextField() |     description = models.TextField() | ||||||
|     base_price = models.FloatField() |     base_price = models.FloatField() | ||||||
|     memory_price = models.FloatField() |     memory_price = models.FloatField() | ||||||
|     core_price = models.FloatField() |     core_price = models.FloatField() | ||||||
|     disk_size_price = models.FloatField() |     disk_size_price = models.FloatField() | ||||||
|     hosting_company = models.CharField(max_length=30, choices=HOSTING_TYPES) |     hosting_company = models.CharField(max_length=30, choices=HOSTING_TYPES) | ||||||
|  |     location = models.CharField(max_length=3, choices=LOCATIONS_CHOICES) | ||||||
| 
 | 
 | ||||||
|     def __str__(self): |     def __str__(self): | ||||||
|         return "%s" % (self.get_hosting_company_display()) |         return "%s" % (self.get_hosting_company_display()) | ||||||
|  | @ -65,6 +72,8 @@ class VirtualMachineType(models.Model): | ||||||
|             'hosting_company_name': self.get_hosting_company_display(), |             'hosting_company_name': self.get_hosting_company_display(), | ||||||
|             'hosting_company': self.hosting_company, |             'hosting_company': self.hosting_company, | ||||||
|             'default_price': self.defeault_price(), |             'default_price': self.defeault_price(), | ||||||
|  |             'location_code': self.location, | ||||||
|  |             'location': self.get_location_display(), | ||||||
|             'id': self.id, |             'id': self.id, | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -33,7 +33,7 @@ | ||||||
| .pricing li.type { | .pricing li.type { | ||||||
| 	list-style: none; | 	list-style: none; | ||||||
| 	padding: 13px; | 	padding: 13px; | ||||||
| 	height: 200px; | 	height: 150px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .pricing big { | .pricing big { | ||||||
|  | @ -72,6 +72,16 @@ | ||||||
| 	box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1); | 	box-shadow: inset 0px 2px 2px rgba(0, 0, 0, 0.1); | ||||||
| } | } | ||||||
| /* pricing color */ | /* pricing color */ | ||||||
|  | 
 | ||||||
|  | .p-black big, | ||||||
|  | .p-black h3 { | ||||||
|  | 	color: black; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | .p-black button { | ||||||
|  | 	background: black; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .p-green big, | .p-green big, | ||||||
| .p-green h3 { | .p-green h3 { | ||||||
| 	color: #4c7737; | 	color: #4c7737; | ||||||
|  |  | ||||||
							
								
								
									
										
											BIN
										
									
								
								hosting/static/hosting/img/CH_flag.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								hosting/static/hosting/img/CH_flag.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 841 B | 
							
								
								
									
										
											BIN
										
									
								
								hosting/static/hosting/img/DE_flag.png
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								hosting/static/hosting/img/DE_flag.png
									
										
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 376 B | 
|  | @ -49,5 +49,9 @@ $( document ).ready(function() { | ||||||
| 
 | 
 | ||||||
| 	$('.disk-space-selector').on('change',change_attribute); | 	$('.disk-space-selector').on('change',change_attribute); | ||||||
| 
 | 
 | ||||||
|  | 	//Disable input
 | ||||||
|  | 	$('.disk-space-selector').keypress(function(event){ | ||||||
|  |     	event.preventDefault(); | ||||||
|  | 	}); | ||||||
| 
 | 
 | ||||||
| }); | }); | ||||||
|  | @ -81,19 +81,19 @@ | ||||||
|                         </li> |                         </li> | ||||||
|                     {% else %} |                     {% else %} | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#how">How it works</a> |                             <a href="{{ request.session.hosting_url}}#how">How it works</a> | ||||||
|                         </li> |                         </li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#your">Your infrastructure</a> |                             <a href="{{ request.session.hosting_url }}#your">Your infrastructure</a> | ||||||
|                         </li> |                         </li> | ||||||
|                        <li> |                        <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#our">Our inftrastructure</a> |                             <a href="{{ request.session.hosting_url }}#our">Our inftrastructure</a> | ||||||
|                         </li> |                         </li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#price">Pricing</a> |                             <a href="{{ request.session.hosting_url }}#price">Pricing</a> | ||||||
|                         </li> |                         </li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#contact">Contact</a> |                             <a href="{{ request.session.hosting_url }}#contact">Contact</a> | ||||||
|                         </li>   |                         </li>   | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{% url 'hosting:login' %}?next={{request.current_path}}">Login</a> |                             <a href="{% url 'hosting:login' %}?next={{request.current_path}}">Login</a> | ||||||
|  | @ -123,21 +123,22 @@ | ||||||
|                         </li> |                         </li> | ||||||
|                         <li class="footer-menu-divider">⋅</li> |                         <li class="footer-menu-divider">⋅</li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#how">How it works</a> |                             <a href="{{ request.session.hosting_url}}#how">How it works</a> | ||||||
|                         <li class="footer-menu-divider">⋅</li> |                         <li class="footer-menu-divider">⋅</li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#your">Your infrastructure</a></li> |                             <a href="{{ request.session.hosting_url }}#your">Your infrastructure</a></li> | ||||||
|                         <li>⋅</li> |                         <li>⋅</li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#our">Our infrastructure</a></li> |                             <a href="{{ request.session.hosting_url }}#our">Our infrastructure</a></li> | ||||||
|                         <li class="footer-menu-divider">⋅</li> |                         <li class="footer-menu-divider">⋅</li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#services">Pricing</a> |                             <a href="{{ request.session.hosting_url }}#services">Pricing</a> | ||||||
|                         </li> |                         </li> | ||||||
|                         <li class="footer-menu-divider">⋅</li> |                         <li class="footer-menu-divider">⋅</li> | ||||||
|                         <li> |                         <li> | ||||||
|                             <a href="{{ request.META.HTTP_REFERER }}#contact">Contact</a> |                             <a href="{{ request.session.hosting_url }}#contact">Contact</a> | ||||||
|                         </li> |                         </li> | ||||||
|  | 
 | ||||||
|                     </ul> |                     </ul> | ||||||
|                     <p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p> |                     <p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. All Rights Reserved</p> | ||||||
|                 </div> |                 </div> | ||||||
|  |  | ||||||
|  | @ -1,3 +1,4 @@ | ||||||
|  | {% load staticfiles %} | ||||||
| <a name="price"></a> | <a name="price"></a> | ||||||
| <div class="content-section-b"> | <div class="content-section-b"> | ||||||
|   <div class="container-fluid pricing-container"> |   <div class="container-fluid pricing-container"> | ||||||
|  | @ -6,7 +7,6 @@ | ||||||
|           <hr class="section-heading-spacer"> |           <hr class="section-heading-spacer"> | ||||||
|           <div class="clearfix"></div> |           <div class="clearfix"></div> | ||||||
|         <h2 class="section-heading">Hosting Price</h2> |         <h2 class="section-heading">Hosting Price</h2> | ||||||
|           <p class="lead">Here are samples of our {{ hosting_long }} hosting offers, suited for different projects. Our offer examples come in different size, speed, and storage. </p> |  | ||||||
|       </div> |       </div> | ||||||
|       <!-- Title --> |       <!-- Title --> | ||||||
|       <div class="row"> |       <div class="row"> | ||||||
|  | @ -17,17 +17,31 @@ | ||||||
|       <!-- Page Features --> |       <!-- Page Features --> | ||||||
|       <div class="row text-center"> |       <div class="row text-center"> | ||||||
| 
 | 
 | ||||||
|         <div class="block col-md-offset-1"> |         <div class="block col-md-offset-3"> | ||||||
|           {% for vm in vm_types %} |           {% for vm in vm_types %} | ||||||
|             <div class="col-xs-12 col-sm-6 col-md-2"> |             <div class="col-xs-12 col-sm-6 col-md-4"> | ||||||
|               <form class="form-inline" method="POST" action="{{request.path}}"> |               <form class="form-inline" method="POST" action="{{request.path}}"> | ||||||
|                 {% csrf_token %} |                 {% csrf_token %} | ||||||
|                 <input type="hidden" name="hosting_company" value="{{vm.hosting_company}}"> |                 <input type="hidden" name="hosting_company" value="{{vm.hosting_company}}"> | ||||||
|                 <input type="hidden" name="hosting_company_name" value="{{vm.hosting_company_name}}"> |                 <input type="hidden" name="hosting_company_name" value="{{vm.hosting_company_name}}"> | ||||||
|                 <ul class="pricing {% cycle 'p-green' 'p-yel' 'p-red' 'p-blue' %}"> |                  | ||||||
|  |                  | ||||||
|  |                 <ul class="pricing {% cycle 'p-red' 'p-black' 'p-red' 'p-yel' %}"> | ||||||
|                   <li class="type"> |                   <li class="type"> | ||||||
|                     <!-- <img src="http://bread.pp.ua/n/settings_g.svg" alt=""> --> |                     <!-- <img src="http://bread.pp.ua/n/settings_g.svg" alt=""> --> | ||||||
|                     <h3 >{{vm.hosting_company_name}}</h3> |                     <h3 >{{vm.hosting_company_name}}</h3> | ||||||
|  |                     <br/> | ||||||
|  |                     <img class="img-responsive" src="{{ STATIC_URL }}hosting/img/{{vm.location_code}}_flag.png" alt=""> | ||||||
|  |                     | ||||||
|  |                   </li> | ||||||
|  |                   <li> | ||||||
|  |                     <!-- Single button --> | ||||||
|  |                     <div class="btn-group"> | ||||||
|  |                       <div class="form-group"> | ||||||
|  |                         <label for="cores">Location: </label> | ||||||
|  |                         {{vm.location}} | ||||||
|  |                       </div> | ||||||
|  |                     </div> | ||||||
|                   </li> |                   </li> | ||||||
|                   <li> |                   <li> | ||||||
|                     <!-- Single button --> |                     <!-- Single button --> | ||||||
|  | @ -64,7 +78,7 @@ | ||||||
|                     <div class="form-group row"> |                     <div class="form-group row"> | ||||||
|                       <div class="col-xs-offset-1 col-xs-9 col-sm-12 col-md-12 col-md-offset-0"> |                       <div class="col-xs-offset-1 col-xs-9 col-sm-12 col-md-12 col-md-offset-0"> | ||||||
|                         <label for="Disk Size">Disk Size: </label> |                         <label for="Disk Size">Disk Size: </label> | ||||||
|                         <input class="form-control short-input text-center disk-space-selector" name="disk_space" type="number" id="{{vm.hosting_company}}-disk_space" min="10" value="10" data-vm-type="{{vm.hosting_company}}"/> |                         <input class="form-control short-input text-center disk-space-selector" name="disk_space" type="number" id="{{vm.hosting_company}}-disk_space" min="10" value="10" step="10" data-vm-type="{{vm.hosting_company}}"/> | ||||||
|                         <span>GiB</span> |                         <span>GiB</span> | ||||||
|                       </div> |                       </div> | ||||||
|                     </div> |                     </div> | ||||||
|  | @ -75,7 +89,7 @@ | ||||||
|                     <span>per month</span> |                     <span>per month</span> | ||||||
|                   </li> |                   </li> | ||||||
|                   <li> |                   <li> | ||||||
|                     <button>Buy it</button> |                     <button>Book it</button> | ||||||
|                   </li> |                   </li> | ||||||
|                 </ul> |                 </ul> | ||||||
|               </form> |               </form> | ||||||
|  |  | ||||||
|  | @ -5,6 +5,17 @@ | ||||||
| <div class="intro-auth intro-login"> | <div class="intro-auth intro-login"> | ||||||
|     <div class="container"> |     <div class="container"> | ||||||
|             <div class="col-md-4 col-md-offset-4"> |             <div class="col-md-4 col-md-offset-4"> | ||||||
|  | 
 | ||||||
|  |                 {% block messages %} | ||||||
|  |                     {% if request.GET.logged_out %} | ||||||
|  |                             <div class="alert alert-warning">  <!-- singular --> | ||||||
|  |                                 <a class="close" data-dismiss="alert">×</a> | ||||||
|  |                                 You haven been logged out | ||||||
|  |                             </div> | ||||||
|  |                     {% endif %} | ||||||
|  |                 {% endblock %} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|                 <div class="intro-message"> |                 <div class="intro-message"> | ||||||
|                     <h2 class="section-heading">Login</h2> |                     <h2 class="section-heading">Login</h2> | ||||||
|                     <form action="{% url 'hosting:login' %}" method="post" class="form" novalidate> |                     <form action="{% url 'hosting:login' %}" method="post" class="form" novalidate> | ||||||
|  |  | ||||||
|  | @ -20,5 +20,5 @@ urlpatterns = [ | ||||||
|     url(r'login/?$', LoginView.as_view(), name='login'), |     url(r'login/?$', LoginView.as_view(), name='login'), | ||||||
|     url(r'signup/?$', SignupView.as_view(), name='signup'), |     url(r'signup/?$', SignupView.as_view(), name='signup'), | ||||||
|     url(r'^logout/?$', 'django.contrib.auth.views.logout', |     url(r'^logout/?$', 'django.contrib.auth.views.logout', | ||||||
|         {'next_page': '/ungleich_page'}, name='logout') |         {'next_page': '/hosting/login?logged_out=true'}, name='logout') | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | @ -29,10 +29,11 @@ class DjangoHostingView(ProcessVMSelectionMixin, View): | ||||||
|             'email': "info@django-hosting.ch", |             'email': "info@django-hosting.ch", | ||||||
|             'vm_types': VirtualMachineType.get_serialized_vm_types(), |             'vm_types': VirtualMachineType.get_serialized_vm_types(), | ||||||
|         } |         } | ||||||
|  | 
 | ||||||
|         return context |         return context | ||||||
| 
 | 
 | ||||||
|     def get(self, request, *args, **kwargs): |     def get(self, request, *args, **kwargs): | ||||||
| 
 |         request.session['hosting_url'] = reverse('hosting:djangohosting') | ||||||
|         context = self.get_context_data() |         context = self.get_context_data() | ||||||
| 
 | 
 | ||||||
|         return render(request, self.template_name, context) |         return render(request, self.template_name, context) | ||||||
|  | @ -53,6 +54,7 @@ class RailsHostingView(ProcessVMSelectionMixin, View): | ||||||
|         return context |         return context | ||||||
| 
 | 
 | ||||||
|     def get(self, request, *args, **kwargs): |     def get(self, request, *args, **kwargs): | ||||||
|  |         request.session['hosting_url'] = reverse('hosting:railshosting') | ||||||
|         context = self.get_context_data() |         context = self.get_context_data() | ||||||
|         return render(request, self.template_name, context) |         return render(request, self.template_name, context) | ||||||
| 
 | 
 | ||||||
|  | @ -72,7 +74,7 @@ class NodeJSHostingView(ProcessVMSelectionMixin, View): | ||||||
|         return context |         return context | ||||||
| 
 | 
 | ||||||
|     def get(self, request, *args, **kwargs): |     def get(self, request, *args, **kwargs): | ||||||
| 
 |         request.session['hosting_url'] = reverse('hosting:nodejshosting') | ||||||
|         context = self.get_context_data() |         context = self.get_context_data() | ||||||
| 
 | 
 | ||||||
|         return render(request, self.template_name, context) |         return render(request, self.template_name, context) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue