commit
4e07655694
3 changed files with 44 additions and 28 deletions
|
@ -1,19 +1,19 @@
|
|||
from django.shortcuts import redirect
|
||||
from django.core.urlresolvers import reverse
|
||||
|
||||
from opennebula_api.serializers import VirtualMachineTemplateSerializer
|
||||
from opennebula_api.models import OpenNebulaManager
|
||||
|
||||
|
||||
class ProcessVMSelectionMixin(object):
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
#configuration = request.POST.get('configuration')
|
||||
#configuration_display = dict(VirtualMachinePlan.VM_CONFIGURATION).get(configuration)
|
||||
vm_template_id = request.POST.get('vm_template_id')
|
||||
vm_specs.update({
|
||||
'configuration_display': configuration_display,
|
||||
'configuration': configuration,
|
||||
'vm_template_id': vm_template_id
|
||||
})
|
||||
request.session['vm_specs'] = vm_specs
|
||||
|
||||
template_id = int(request.POST.get('vm_template_id'))
|
||||
template = OpenNebulaManager().get_template(template_id)
|
||||
data = VirtualMachineTemplateSerializer(template).data
|
||||
request.session['template'] = data
|
||||
|
||||
if not request.user.is_authenticated():
|
||||
request.session['next'] = reverse('hosting:payment')
|
||||
return redirect(reverse('hosting:login'))
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
{% csrf_token %}
|
||||
<input type="hidden" name="hosting_company" value="{{vm.hosting_company}}">
|
||||
<input type="hidden" name="location_code" value="{{vm.location_code}}">
|
||||
<input type="hidden" name="vm_template" value="{{vm.id}}">
|
||||
<input type="hidden" name="vm_template_id" value="{{vm.id}}">
|
||||
|
||||
|
||||
|
||||
|
@ -53,17 +53,17 @@
|
|||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<!-- <li>
|
||||
<label for="configuration">Configuration: </label>
|
||||
<select class="form-control" name="configuration" id="{{vm.hosting_company}}-configuration" data-vm-type="{{vm.hosting_company}}">
|
||||
{% for key,value in configuration_options.items %}
|
||||
<option value="{{key}}">{{ value }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</li>
|
||||
</li> -->
|
||||
<li>
|
||||
<input type="hidden" name="final_price" value="{{vm.final_price|floatformat}}">
|
||||
<h3 id="{{vm.hosting_company}}-final-price">{{vm.final_price|floatformat}}CHF</h3>
|
||||
<h3 id="{{vm.hosting_company}}-final-price">{{vm.price|floatformat}} CHF</h3>
|
||||
<span>per month</span>
|
||||
</li>
|
||||
<li>
|
||||
|
|
|
@ -43,16 +43,20 @@ class DjangoHostingView(ProcessVMSelectionMixin, View):
|
|||
|
||||
def get_context_data(self, **kwargs):
|
||||
HOSTING = 'django'
|
||||
configuration_detail = dict(VirtualMachinePlan.VM_CONFIGURATION).get(HOSTING)
|
||||
templates = OpenNebulaManager().get_templates()
|
||||
data = VirtualMachineTemplateSerializer(templates, many=True).data
|
||||
|
||||
# configuration_detail = dict(VirtualMachinePlan.VM_CONFIGURATION).get(HOSTING)
|
||||
context = {
|
||||
'hosting': HOSTING,
|
||||
'hosting_long': "Django",
|
||||
'configuration_detail': configuration_detail,
|
||||
# 'configuration_detail': configuration_detail,
|
||||
'domain': "django-hosting.ch",
|
||||
'google_analytics': "UA-62285904-6",
|
||||
'vm_types': data,
|
||||
'email': "info@django-hosting.ch",
|
||||
'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
'configuration_options': dict(VirtualMachinePlan.VM_CONFIGURATION)
|
||||
# 'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
# 'configuration_options': dict(VirtualMachinePlan.VM_CONFIGURATION)
|
||||
}
|
||||
|
||||
return context
|
||||
|
@ -69,15 +73,17 @@ class RailsHostingView(ProcessVMSelectionMixin, View):
|
|||
|
||||
def get_context_data(self, **kwargs):
|
||||
HOSTING = 'rails'
|
||||
configuration_detail = dict(VirtualMachinePlan.VM_CONFIGURATION).get(HOSTING)
|
||||
|
||||
templates = OpenNebulaManager().get_templates()
|
||||
data = VirtualMachineTemplateSerializer(templates, many=True).data
|
||||
|
||||
context = {
|
||||
'hosting': HOSTING,
|
||||
'configuration_detail': configuration_detail,
|
||||
'hosting_long': "Ruby On Rails",
|
||||
'domain': "rails-hosting.ch",
|
||||
'google_analytics': "UA-62285904-5",
|
||||
'email': "info@rails-hosting.ch",
|
||||
'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
'vm_types': data,
|
||||
}
|
||||
return context
|
||||
|
||||
|
@ -92,15 +98,18 @@ class NodeJSHostingView(ProcessVMSelectionMixin, View):
|
|||
|
||||
def get_context_data(self, **kwargs):
|
||||
HOSTING = 'nodejs'
|
||||
configuration_detail = dict(VirtualMachinePlan.VM_CONFIGURATION).get(HOSTING)
|
||||
# configuration_detail = dict(VirtualMachinePlan.VM_CONFIGURATION).get(HOSTING)
|
||||
templates = OpenNebulaManager().get_templates()
|
||||
data = VirtualMachineTemplateSerializer(templates, many=True).data
|
||||
|
||||
context = {
|
||||
'hosting': "nodejs",
|
||||
'hosting': HOSTING,
|
||||
'hosting_long': "NodeJS",
|
||||
'configuration_detail': configuration_detail,
|
||||
# 'configuration_detail': configuration_detail,
|
||||
'domain': "node-hosting.ch",
|
||||
'google_analytics': "UA-62285904-7",
|
||||
'email': "info@node-hosting.ch",
|
||||
'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
'vm_types': data,
|
||||
}
|
||||
return context
|
||||
|
||||
|
@ -115,11 +124,14 @@ class HostingPricingView(ProcessVMSelectionMixin, View):
|
|||
template_name = "hosting/hosting_pricing.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
configuration_options = dict(VirtualMachinePlan.VM_CONFIGURATION)
|
||||
# configuration_options = dict(VirtualMachinePlan.VM_CONFIGURATION)
|
||||
templates = OpenNebulaManager().get_templates()
|
||||
data = VirtualMachineTemplateSerializer(templates, many=True).data
|
||||
|
||||
context = {
|
||||
'configuration_options': configuration_options,
|
||||
# 'configuration_options': configuration_options,
|
||||
'email': "info@django-hosting.ch",
|
||||
'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
'vm_types': data,
|
||||
}
|
||||
|
||||
return context
|
||||
|
@ -135,13 +147,17 @@ class IndexView(View):
|
|||
template_name = "hosting/index.html"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
templates = OpenNebulaManager().get_templates()
|
||||
data = VirtualMachineTemplateSerializer(templates, many=True).data
|
||||
|
||||
context = {
|
||||
'hosting': "nodejs",
|
||||
'hosting_long': "NodeJS",
|
||||
'domain': "node-hosting.ch",
|
||||
'google_analytics': "UA-62285904-7",
|
||||
'email': "info@node-hosting.ch",
|
||||
'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
'vm_types': data
|
||||
# 'vm_types': VirtualMachineType.get_serialized_vm_types(),
|
||||
}
|
||||
return context
|
||||
|
||||
|
|
Loading…
Reference in a new issue