Add view to check if the vm belongs to a user
This commit is contained in:
parent
fa66d48323
commit
b8ca7286f2
2 changed files with 22 additions and 1 deletions
|
@ -9,13 +9,14 @@ from .views import (
|
||||||
HostingPricingView, CreateVirtualMachinesView, HostingBillListView,
|
HostingPricingView, CreateVirtualMachinesView, HostingBillListView,
|
||||||
HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
|
HostingBillDetailView, SSHKeyDeleteView, SSHKeyCreateView, SSHKeyListView,
|
||||||
SSHKeyChoiceView, DashboardView, SettingsView, ResendActivationEmailView,
|
SSHKeyChoiceView, DashboardView, SettingsView, ResendActivationEmailView,
|
||||||
InvoiceListView, InvoiceDetailView
|
InvoiceListView, InvoiceDetailView, CheckUserVM
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'index/?$', IndexView.as_view(), name='index'),
|
url(r'index/?$', IndexView.as_view(), name='index'),
|
||||||
url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
|
url(r'django/?$', DjangoHostingView.as_view(), name='djangohosting'),
|
||||||
|
url(r'checkvm/?$', CheckUserVM.as_view(), name='chech_vm'),
|
||||||
url(r'dashboard/?$', DashboardView.as_view(), name='dashboard'),
|
url(r'dashboard/?$', DashboardView.as_view(), name='dashboard'),
|
||||||
url(r'nodejs/?$', NodeJSHostingView.as_view(), name='nodejshosting'),
|
url(r'nodejs/?$', NodeJSHostingView.as_view(), name='nodejshosting'),
|
||||||
url(r'rails/?$', RailsHostingView.as_view(), name='railshosting'),
|
url(r'rails/?$', RailsHostingView.as_view(), name='railshosting'),
|
||||||
|
|
|
@ -26,6 +26,8 @@ from django.views.generic import (
|
||||||
View, CreateView, FormView, ListView, DetailView, DeleteView,
|
View, CreateView, FormView, ListView, DetailView, DeleteView,
|
||||||
TemplateView, UpdateView
|
TemplateView, UpdateView
|
||||||
)
|
)
|
||||||
|
from rest_framework.views import APIView
|
||||||
|
from rest_framework.response import Response
|
||||||
from guardian.mixins import PermissionRequiredMixin
|
from guardian.mixins import PermissionRequiredMixin
|
||||||
from oca.pool import WrongIdError
|
from oca.pool import WrongIdError
|
||||||
from stored_messages.api import mark_read
|
from stored_messages.api import mark_read
|
||||||
|
@ -1755,3 +1757,21 @@ def forbidden_view(request, exception=None, reason=''):
|
||||||
'again.')
|
'again.')
|
||||||
messages.add_message(request, messages.ERROR, err_msg)
|
messages.add_message(request, messages.ERROR, err_msg)
|
||||||
return HttpResponseRedirect(request.get_full_path())
|
return HttpResponseRedirect(request.get_full_path())
|
||||||
|
|
||||||
|
|
||||||
|
class CheckUserVM(APIView):
|
||||||
|
|
||||||
|
def get(self, request):
|
||||||
|
try:
|
||||||
|
email = request.data['email']
|
||||||
|
ip = request.data['ip']
|
||||||
|
uservms = VMDetail.objects.filter(user__email=email)
|
||||||
|
if len(uservms) > 0:
|
||||||
|
for i in range(len(uservms)):
|
||||||
|
if uservms[i].ipv4 == ip or uservms[i].ipv6 == ip:
|
||||||
|
return Response('success', 200)
|
||||||
|
return Response('No VM found matching the ip address provided', 403)
|
||||||
|
else:
|
||||||
|
return Response('No VM found with the given email address', 403)
|
||||||
|
except KeyError:
|
||||||
|
return Response('Not enough data provided', 400)
|
||||||
|
|
Loading…
Reference in a new issue