35 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from django.shortcuts import redirect
 | 
						|
from django.core.urlresolvers import reverse
 | 
						|
from .models import VirtualMachinePlan, VirtualMachineType
 | 
						|
 | 
						|
 | 
						|
class ProcessVMSelectionMixin(object):
 | 
						|
 | 
						|
    def post(self, request, *args, **kwargs):
 | 
						|
        configuration = request.POST.get('configuration')
 | 
						|
        configuration_display = dict(VirtualMachinePlan.VM_CONFIGURATION).get(configuration)
 | 
						|
        vm_template = request.POST.get('vm_template')
 | 
						|
        vm_type = VirtualMachineType.objects.get(id=vm_template)
 | 
						|
        vm_specs = vm_type.get_specs()
 | 
						|
        vm_specs.update({
 | 
						|
            'configuration_display': configuration_display,
 | 
						|
            'configuration': configuration,
 | 
						|
            'final_price': vm_type.final_price,
 | 
						|
            'vm_template': vm_template
 | 
						|
        })
 | 
						|
        # vm_specs = {
 | 
						|
        #     # 'cores': request.POST.get('cores'),
 | 
						|
        #     # 'memory': request.POST.get('memory'),
 | 
						|
        #     # 'disk_size': request.POST.get('disk_space'),
 | 
						|
        #     # 'hosting_company': request.POST.get('hosting_company'),
 | 
						|
        #     # 'location_code': request.POST.get('location_code'),
 | 
						|
        #     # 'configuration': hosting,
 | 
						|
        #     # 'configuration_detail': configuration_detail,
 | 
						|
        #     'final_price': request.POST.get('final_price')
 | 
						|
        # }
 | 
						|
        request.session['vm_specs'] = vm_specs
 | 
						|
        if not request.user.is_authenticated():
 | 
						|
            request.session['vm_specs'] = vm_specs
 | 
						|
            request.session['next'] = reverse('hosting:payment')
 | 
						|
            return redirect(reverse('hosting:login'))
 | 
						|
        return redirect(reverse('hosting:payment'))
 |