diff --git a/computes/views.py b/computes/views.py index c95bf25..fa25de2 100644 --- a/computes/views.py +++ b/computes/views.py @@ -16,6 +16,9 @@ def computes(request): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + def get_hosts_status(computes): """ Function return all hosts all vds on host @@ -46,8 +49,10 @@ def compute(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) - errors = [] + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + error_messages = [] compute = Compute.objects.get(id=compute_id) try: @@ -59,7 +64,7 @@ def compute(request, compute_id): hypervisor = conn.hypervisor_type() mem_usage = conn.get_memory_usage() conn.close() - except libvirtError as err: - errors.append(err) + except libvirtError as lib_err: + error_messages.append(lib_err) return render(request, 'compute.html', locals()) \ No newline at end of file diff --git a/create/views.py b/create/views.py index 8097ab6..9734a09 100644 --- a/create/views.py +++ b/create/views.py @@ -20,6 +20,9 @@ def create_instance(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + conn = None error_messages = [] storages = [] diff --git a/interfaces/views.py b/interfaces/views.py index 90fee06..d6959a0 100644 --- a/interfaces/views.py +++ b/interfaces/views.py @@ -16,6 +16,9 @@ def interfaces(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + ifaces_all = [] error_messages = [] compute = Compute.objects.get(id=compute_id) @@ -60,6 +63,9 @@ def interface(request, compute_id, iface): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + ifaces_all = [] error_messages = [] compute = Compute.objects.get(id=compute_id) diff --git a/logs/__init__.py b/logs/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/logs/admin.py b/logs/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/logs/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/logs/migrations/0001_initial.py b/logs/migrations/0001_initial.py new file mode 100644 index 0000000..a546814 --- /dev/null +++ b/logs/migrations/0001_initial.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + +from django.db import models, migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('instances', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Logs', + fields=[ + ('id', models.AutoField(verbose_name='ID', serialize=False, auto_created=True, primary_key=True)), + ('message', models.CharField(max_length=255)), + ('date', models.DateTimeField()), + ('instance', models.ForeignKey(to='instances.Instance')), + ], + options={ + }, + bases=(models.Model,), + ), + ] diff --git a/logs/migrations/__init__.py b/logs/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/logs/models.py b/logs/models.py new file mode 100644 index 0000000..a8ed08b --- /dev/null +++ b/logs/models.py @@ -0,0 +1,11 @@ +from django.db import models +from instances.models import Instance + + +class Logs(models.Model): + instance = models.ForeignKey(Instance) + message = models.CharField(max_length=255) + date = models.DateTimeField() + + def __unicode__(self): + return self.instance \ No newline at end of file diff --git a/logs/tests.py b/logs/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/logs/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/logs/views.py b/logs/views.py new file mode 100644 index 0000000..0d779d8 --- /dev/null +++ b/logs/views.py @@ -0,0 +1,8 @@ +from django.shortcuts import render +from django.http import HttpResponseRedirect +from django.core.urlresolvers import reverse +from logs.models import Logs + + +def showlogs(request): + return render(request, 'showlogs.html', locals()) \ No newline at end of file diff --git a/networks/views.py b/networks/views.py index e35b9b5..fae23a2 100644 --- a/networks/views.py +++ b/networks/views.py @@ -18,6 +18,9 @@ def networks(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser(): + return HttpResponseRedirect(reverse('index')) + error_messages = [] compute = Compute.objects.get(id=compute_id) @@ -63,6 +66,9 @@ def network(request, compute_id, pool): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + error_messages = [] compute = Compute.objects.get(id=compute_id) diff --git a/secrets/views.py b/secrets/views.py index a9ac6af..e09defa 100644 --- a/secrets/views.py +++ b/secrets/views.py @@ -16,6 +16,9 @@ def secrets(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + secrets_all = [] error_messages = [] compute = Compute.objects.get(id=compute_id) diff --git a/storages/views.py b/storages/views.py index a752fcd..d3a683e 100644 --- a/storages/views.py +++ b/storages/views.py @@ -17,6 +17,9 @@ def storages(request, compute_id): if not request.user.is_authenticated(): return HttpResponseRedirect(reverse('index')) + if not request.user.is_superuser: + return HttpResponseRedirect(reverse('index')) + error_messages = [] compute = Compute.objects.get(id=compute_id) diff --git a/templates/compute.html b/templates/compute.html index 4476309..9a5544f 100644 --- a/templates/compute.html +++ b/templates/compute.html @@ -8,10 +8,12 @@ {% include 'sidebar.html' %}