1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2024-12-26 08:05:22 +00:00
webvirtcloud/logs/views.py

62 lines
1.6 KiB
Python
Raw Normal View History

2015-03-03 09:34:09 +00:00
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
2015-03-03 09:34:09 +00:00
from django.core.urlresolvers import reverse
from django.contrib.auth.decorators import login_required
from instances.models import Instance
2015-03-03 09:34:09 +00:00
from logs.models import Logs
from django.conf import settings
import json
2015-03-03 09:34:09 +00:00
2015-05-18 19:00:30 +00:00
def addlogmsg(user, instance, message):
"""
:param request:
:return:
"""
2015-05-18 19:00:30 +00:00
add_log_msg = Logs(user=user, instance=instance, message=message)
add_log_msg.save()
@login_required
def showlogs(request, page=1):
2015-03-16 13:46:44 +00:00
"""
:param request:
:return:
"""
if not request.user.is_superuser:
return HttpResponseRedirect(reverse('index'))
page = int(page)
limit_from = (page-1)*settings.LOGS_PER_PAGE
limit_to = page*settings.LOGS_PER_PAGE
logs = Logs.objects.all().order_by('-date')[limit_from:limit_to+1]
has_next_page = logs.count() > settings.LOGS_PER_PAGE
# TODO: remove last element from queryset, but do not affect database
2015-03-16 13:46:44 +00:00
2015-04-02 13:20:46 +00:00
return render(request, 'showlogs.html', locals())
@login_required
def vm_logs(request, vname):
"""
:param request:
:param vm:
:return:
"""
if not request.user.is_superuser:
return HttpResponseRedirect(reverse('index'))
vm = Instance.objects.get(name=vname)
logs_ = Logs.objects.filter(instance=vm.name, date__gte=vm.created).order_by('-date')
logs = []
for l in logs_:
log = {}
log['user'] = l.user
log['instance'] = l.instance
log['message'] = l.message
log['date'] = l.date.strftime('%x %X')
logs.append(log)
return HttpResponse(json.dumps(logs))