commit
f2d4e1515e
4 changed files with 55 additions and 8 deletions
|
@ -106,7 +106,8 @@
|
|||
<div class="price-calc-section">
|
||||
<div class="card">
|
||||
<div class="caption">
|
||||
<form action="POST">
|
||||
<form method="POST" action="">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="title">
|
||||
<h3>{% trans "VM hosting" %} </h3>
|
||||
|
@ -117,7 +118,7 @@
|
|||
</div>
|
||||
<div class="descriptions">
|
||||
<div class="description">
|
||||
<p>{% trans "Based in Switzerland" %}</p>
|
||||
<p>{% trans "Hosted in Switzerland" %}</p>
|
||||
</div>
|
||||
<div class="description">
|
||||
<i class="fa fa-minus-circle left" data-minus="cpu" aria-hidden="true"></i>
|
||||
|
@ -139,10 +140,9 @@
|
|||
<div class="description select-configuration">
|
||||
<select name="config" id="">
|
||||
<option value="" disabled selected>Configuration</option>
|
||||
<option value="CentOS 7">CentOS 7</option>
|
||||
<option value="Debian 8">Debian 8</option>
|
||||
<option value="Ubuntu 14.04">Ubuntu 14.04</option>
|
||||
<option value="Ubuntu 16.04">Ubuntu 16.04</option>
|
||||
{% for template in templates %}
|
||||
<option value="{{template.id}}">{{template.name}} </option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
<input type="hidden" name="cpu">
|
||||
|
@ -153,7 +153,7 @@
|
|||
<input type="checkbox" name="ipv6"> Ipv6 Only<br>
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" class="btn btn-primary" value="{% trans 'Buy Now!' %}"></input>
|
||||
<input type="submit" class="btn btn-primary" value="{% trans 'Order Now!' %}"></input>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
|
|
@ -6,6 +6,7 @@ from django.contrib import messages
|
|||
from django.core.urlresolvers import reverse_lazy, reverse
|
||||
from utils.mailer import BaseEmail
|
||||
from django.shortcuts import render
|
||||
from django.shortcuts import redirect
|
||||
|
||||
from opennebula_api.models import OpenNebulaManager
|
||||
from opennebula_api.serializers import VirtualMachineTemplateSerializer
|
||||
|
@ -16,6 +17,50 @@ class LandingProgramView(TemplateView):
|
|||
class PricingView(TemplateView):
|
||||
template_name = "datacenterlight/pricing.html"
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
try:
|
||||
manager = OpenNebulaManager()
|
||||
templates = manager.get_templates()
|
||||
|
||||
context = {
|
||||
'templates': VirtualMachineTemplateSerializer(templates, many=True).data,
|
||||
}
|
||||
except:
|
||||
messages.error( request,
|
||||
'We could not load the VM templates due to a backend connection \
|
||||
error. Please try again in a few minutes'
|
||||
)
|
||||
context = {
|
||||
'error' : 'connection'
|
||||
}
|
||||
|
||||
return render(request, self.template_name, context)
|
||||
|
||||
|
||||
def post(self, request):
|
||||
|
||||
cores = request.POST.get('cpu')
|
||||
memory = request.POST.get('ram')
|
||||
storage = request.POST.get('storage')
|
||||
price = request.POST.get('total')
|
||||
|
||||
template_id = int(request.POST.get('config'))
|
||||
|
||||
manager = OpenNebulaManager()
|
||||
template = manager.get_template(template_id)
|
||||
|
||||
request.session['template'] = VirtualMachineTemplateSerializer(template).data
|
||||
|
||||
request.session['specs'] = {
|
||||
'cpu':cores,
|
||||
'memory': memory,
|
||||
'disk_size': storage,
|
||||
'price': price,
|
||||
}
|
||||
|
||||
return redirect(reverse('hosting:payment'))
|
||||
|
||||
|
||||
class BetaAccessView(FormView):
|
||||
template_name = "datacenterlight/beta_access.html"
|
||||
form_class = BetaAccessForm
|
||||
|
|
|
@ -38,6 +38,8 @@
|
|||
{% trans "Login"%}
|
||||
</button>
|
||||
{% endbuttons %}
|
||||
|
||||
<input type='hidden' name='next' value='{{request.GET.next}}'/>
|
||||
</form>
|
||||
<span>{% trans "Don't have an account yet ? "%}<a class="unlink" href="{% url 'hosting:signup' %}">{% trans "Sign up"%}</a></span>
|
||||
<br/>
|
||||
|
|
|
@ -39,7 +39,7 @@ class LoginViewMixin(FormView):
|
|||
success_url = None
|
||||
|
||||
def get_success_url(self):
|
||||
next_url = self.request.session.get('next', self.success_url)
|
||||
next_url = self.request.POST.get('next', self.success_url)
|
||||
return next_url
|
||||
|
||||
def form_valid(self, form):
|
||||
|
|
Loading…
Reference in a new issue