mirror of
https://github.com/retspen/webvirtcloud
synced 2025-07-31 12:41:08 +00:00
logs i18n problems fixed
This commit is contained in:
parent
da9fbeaff4
commit
b81b63a962
17 changed files with 8792 additions and 11604 deletions
|
|
@ -5,7 +5,8 @@ from django.contrib import messages
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.utils.translation import gettext_lazy as _
|
#from django.utils.translation import gettext_lazy as _
|
||||||
|
from django.utils.translation import gettext_noop as _
|
||||||
from logs.views import addlogmsg
|
from logs.views import addlogmsg
|
||||||
|
|
||||||
from appsettings.models import AppSettings
|
from appsettings.models import AppSettings
|
||||||
|
|
@ -24,7 +25,7 @@ def appsettings(request):
|
||||||
themes_list = os.listdir(sass_dir.value + "/wvc-themes")
|
themes_list = os.listdir(sass_dir.value + "/wvc-themes")
|
||||||
except FileNotFoundError as err:
|
except FileNotFoundError as err:
|
||||||
messages.error(request, err)
|
messages.error(request, err)
|
||||||
addlogmsg(request.user.username, "-", "", err)
|
addlogmsg(request.user.username, "-", "", err, ip=get_client_ip(request))
|
||||||
|
|
||||||
# Bootstrap settings related with filesystems, because of that they are excluded from other settings
|
# Bootstrap settings related with filesystems, because of that they are excluded from other settings
|
||||||
appsettings = AppSettings.objects.exclude(
|
appsettings = AppSettings.objects.exclude(
|
||||||
|
|
@ -45,7 +46,7 @@ def appsettings(request):
|
||||||
msg = err
|
msg = err
|
||||||
messages.error(request, msg)
|
messages.error(request, msg)
|
||||||
|
|
||||||
addlogmsg(request.user.username, "-", "", msg)
|
addlogmsg(request.user.username, "-", "", msg, ip=get_client_ip(request))
|
||||||
return HttpResponseRedirect(request.get_full_path())
|
return HttpResponseRedirect(request.get_full_path())
|
||||||
|
|
||||||
if "BOOTSTRAP_THEME" in request.POST:
|
if "BOOTSTRAP_THEME" in request.POST:
|
||||||
|
|
@ -79,7 +80,7 @@ def appsettings(request):
|
||||||
msg = err
|
msg = err
|
||||||
messages.error(request, msg)
|
messages.error(request, msg)
|
||||||
|
|
||||||
addlogmsg(request.user.username, "-", "", msg)
|
addlogmsg(request.user.username, "-", "", msg, ip=get_client_ip(request))
|
||||||
return HttpResponseRedirect(request.get_full_path())
|
return HttpResponseRedirect(request.get_full_path())
|
||||||
|
|
||||||
for setting in appsettings:
|
for setting in appsettings:
|
||||||
|
|
@ -97,7 +98,15 @@ def appsettings(request):
|
||||||
msg = err
|
msg = err
|
||||||
messages.error(request, msg)
|
messages.error(request, msg)
|
||||||
|
|
||||||
addlogmsg(request.user.username, "-", "", msg)
|
addlogmsg(request.user.username, "-", "", msg, ip=get_client_ip(request))
|
||||||
return HttpResponseRedirect(request.get_full_path())
|
return HttpResponseRedirect(request.get_full_path())
|
||||||
|
|
||||||
return render(request, "appsettings.html", locals())
|
return render(request, "appsettings.html", locals())
|
||||||
|
|
||||||
|
def get_client_ip(request):
|
||||||
|
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
|
||||||
|
if x_forwarded_for:
|
||||||
|
ip = x_forwarded_for.split(',')[0]
|
||||||
|
else:
|
||||||
|
ip = request.META.get('REMOTE_ADDR')
|
||||||
|
return ip
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item" role="presentation">
|
<li class="nav-item" role="presentation">
|
||||||
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#logs" type="button" role="tab" aria-controls="logs" aria-selected="false">
|
<button class="nav-link" data-bs-toggle="tab" data-bs-target="#logs" type="button" role="tab" aria-controls="logs" aria-selected="false" onclick="update_logs_table(vname);">
|
||||||
{% trans "Logs" %}
|
{% trans "Logs" %}
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
|
|
@ -85,6 +85,7 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th scope="col">{% trans "Date" %}</th>
|
<th scope="col">{% trans "Date" %}</th>
|
||||||
<th scope="col">{% trans "User" %}</th>
|
<th scope="col">{% trans "User" %}</th>
|
||||||
|
<th scope="col">{% trans "IP" %}</th>
|
||||||
<th scope="col">{% trans "Message" %}</th>
|
<th scope="col">{% trans "Message" %}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
@ -110,6 +111,7 @@
|
||||||
// console.log(row);
|
// console.log(row);
|
||||||
logs += '<tr><td style="width:150px">'+row['date']+'</td>';
|
logs += '<tr><td style="width:150px">'+row['date']+'</td>';
|
||||||
logs += '<td>'+row['user']+'</td>';
|
logs += '<td>'+row['user']+'</td>';
|
||||||
|
logs += '<td>'+row['ip']+'</td>';
|
||||||
logs += '<td>'+row['message']+'</td></tr>';
|
logs += '<td>'+row['message']+'</td></tr>';
|
||||||
});
|
});
|
||||||
$("#logs_table > tbody").html(logs);
|
$("#logs_table > tbody").html(logs);
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ from django.contrib.auth.models import User
|
||||||
from django.http import Http404, HttpResponse, JsonResponse
|
from django.http import Http404, HttpResponse, JsonResponse
|
||||||
from django.shortcuts import get_object_or_404, redirect, render
|
from django.shortcuts import get_object_or_404, redirect, render
|
||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
from django.utils.translation import gettext_lazy as _
|
from django.utils.translation import gettext_noop as _
|
||||||
from libvirt import (VIR_DOMAIN_UNDEFINE_KEEP_NVRAM,
|
from libvirt import (VIR_DOMAIN_UNDEFINE_KEEP_NVRAM,
|
||||||
VIR_DOMAIN_UNDEFINE_NVRAM,
|
VIR_DOMAIN_UNDEFINE_NVRAM,
|
||||||
VIR_DOMAIN_START_PAUSED,
|
VIR_DOMAIN_START_PAUSED,
|
||||||
|
|
@ -121,12 +121,12 @@ def instance(request, pk):
|
||||||
# instance.uuid = uuid
|
# instance.uuid = uuid
|
||||||
# instance.save()
|
# instance.save()
|
||||||
# msg = _(f"Fixing UUID {uuid}")
|
# msg = _(f"Fixing UUID {uuid}")
|
||||||
# addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
# addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
# except Instance.DoesNotExist:
|
# except Instance.DoesNotExist:
|
||||||
# instance = Instance(compute=compute, name=vname, uuid=uuid)
|
# instance = Instance(compute=compute, name=vname, uuid=uuid)
|
||||||
# instance.save()
|
# instance.save()
|
||||||
# msg = _("Instance does not exist: Creating new instance")
|
# msg = _("Instance does not exist: Creating new instance")
|
||||||
# addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
# addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
# userinstances = UserInstance.objects.filter(instance=instance).order_by('user__username')
|
# userinstances = UserInstance.objects.filter(instance=instance).order_by('user__username')
|
||||||
userinstances = instance.userinstance_set.order_by("user__username")
|
userinstances = instance.userinstance_set.order_by("user__username")
|
||||||
|
|
@ -337,7 +337,7 @@ def poweron(request, pk):
|
||||||
else:
|
else:
|
||||||
instance.proxy.start()
|
instance.proxy.start()
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, _("Power On")
|
request.user.username, instance.compute.name, instance.name, _("Power On"), ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
@ -348,7 +348,7 @@ def powercycle(request, pk):
|
||||||
instance.proxy.force_shutdown()
|
instance.proxy.force_shutdown()
|
||||||
instance.proxy.start()
|
instance.proxy.start()
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, _("Power Cycle")
|
request.user.username, instance.compute.name, instance.name, _("Power Cycle"), ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
||||||
|
|
@ -357,7 +357,7 @@ def poweroff(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.shutdown()
|
instance.proxy.shutdown()
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, _("Power Off")
|
request.user.username, instance.compute.name, instance.name, _("Power Off"), ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
@ -367,7 +367,7 @@ def poweroff(request, pk):
|
||||||
def suspend(request, pk):
|
def suspend(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.suspend()
|
instance.proxy.suspend()
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, _("Suspend"))
|
addlogmsg(request.user.username, instance.compute.name, instance.name, _("Suspend"), ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -375,7 +375,7 @@ def suspend(request, pk):
|
||||||
def resume(request, pk):
|
def resume(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.resume()
|
instance.proxy.resume()
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, _("Resume"))
|
addlogmsg(request.user.username, instance.compute.name, instance.name, _("Resume"), ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -383,7 +383,7 @@ def force_off(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.force_shutdown()
|
instance.proxy.force_shutdown()
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, _("Force Off")
|
request.user.username, instance.compute.name, instance.name, _("Force Off"), ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
||||||
|
|
@ -414,7 +414,7 @@ def destroy(request, pk):
|
||||||
|
|
||||||
instance.delete()
|
instance.delete()
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, _("Destroy")
|
request.user.username, instance.compute.name, instance.name, _("Destroy"), ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
return redirect(reverse("instances:index"))
|
return redirect(reverse("instances:index"))
|
||||||
|
|
||||||
|
|
@ -465,7 +465,7 @@ def migrate(request, pk):
|
||||||
"hostname": target_host.hostname,
|
"hostname": target_host.hostname,
|
||||||
"method": migration_method,
|
"method": migration_method,
|
||||||
}
|
}
|
||||||
addlogmsg(request.user.username, current_host, instance.name, msg)
|
addlogmsg(request.user.username, current_host, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER"))
|
return redirect(request.META.get("HTTP_REFERER"))
|
||||||
|
|
||||||
|
|
@ -489,7 +489,7 @@ def set_root_pass(request, pk):
|
||||||
if result["return"] == "success":
|
if result["return"] == "success":
|
||||||
msg = _("Reset root password")
|
msg = _("Reset root password")
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
else:
|
else:
|
||||||
|
|
@ -523,7 +523,7 @@ def add_public_key(request, pk):
|
||||||
msg = _("Installed new SSH public key %(keyname)s") % {
|
msg = _("Installed new SSH public key %(keyname)s") % {
|
||||||
"keyname": publickey.keyname
|
"keyname": publickey.keyname
|
||||||
}
|
}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
if result["return"] == "success":
|
if result["return"] == "success":
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
|
|
@ -567,7 +567,7 @@ def resizevm_cpu(request, pk):
|
||||||
"new": vcpu,
|
"new": vcpu,
|
||||||
}
|
}
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
return redirect(reverse("instances:instance", args=[instance.id]) + "#resize")
|
return redirect(reverse("instances:instance", args=[instance.id]) + "#resize")
|
||||||
|
|
@ -615,7 +615,7 @@ def resize_memory(request, pk):
|
||||||
"new_max": new_memory,
|
"new_max": new_memory,
|
||||||
}
|
}
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
|
|
||||||
|
|
@ -659,7 +659,7 @@ def resize_disk(request, pk):
|
||||||
instance.proxy.resize_disk(disks_new)
|
instance.proxy.resize_disk(disks_new)
|
||||||
msg = _("Disk is resized: %(dev)s") % {"dev": disk["dev"]}
|
msg = _("Disk is resized: %(dev)s") % {"dev": disk["dev"]}
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
|
|
||||||
|
|
@ -730,7 +730,7 @@ def add_new_vol(request, pk):
|
||||||
"name": name,
|
"name": name,
|
||||||
"format": format,
|
"format": format,
|
||||||
}
|
}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -780,7 +780,7 @@ def add_existing_vol(request, pk):
|
||||||
cache_mode=cache,
|
cache_mode=cache,
|
||||||
)
|
)
|
||||||
msg = _("Attach Existing disk: %(target_dev)s") % {"target_dev": target_dev}
|
msg = _("Attach Existing disk: %(target_dev)s") % {"target_dev": target_dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -853,7 +853,7 @@ def edit_volume(request, pk):
|
||||||
else:
|
else:
|
||||||
messages.success(request, _("Volume is changed successfully."))
|
messages.success(request, _("Volume is changed successfully."))
|
||||||
msg = _("Edit disk: %(target_dev)s") % {"target_dev": target_dev}
|
msg = _("Edit disk: %(target_dev)s") % {"target_dev": target_dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -880,7 +880,7 @@ def delete_vol(request, pk):
|
||||||
instance.proxy.detach_disk(dev)
|
instance.proxy.detach_disk(dev)
|
||||||
conn_delete.del_volume(name)
|
conn_delete.del_volume(name)
|
||||||
|
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -895,7 +895,7 @@ def detach_vol(request, pk):
|
||||||
path = request.POST.get("path", "")
|
path = request.POST.get("path", "")
|
||||||
instance.proxy.detach_disk(dev)
|
instance.proxy.detach_disk(dev)
|
||||||
msg = _("Detach disk: %(dev)s") % {"dev": dev}
|
msg = _("Detach disk: %(dev)s") % {"dev": dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -917,7 +917,7 @@ def add_cdrom(request, pk):
|
||||||
readonly=True,
|
readonly=True,
|
||||||
)
|
)
|
||||||
msg = _("Add CD-ROM: %(target)s") % {"target": target}
|
msg = _("Add CD-ROM: %(target)s") % {"target": target}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -932,7 +932,7 @@ def detach_cdrom(request, pk, dev):
|
||||||
# dev = request.POST.get('detach_cdrom', '')
|
# dev = request.POST.get('detach_cdrom', '')
|
||||||
instance.proxy.detach_disk(dev)
|
instance.proxy.detach_disk(dev)
|
||||||
msg = _("Detach CD-ROM: %(dev)s") % {"dev": dev}
|
msg = _("Detach CD-ROM: %(dev)s") % {"dev": dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -947,7 +947,7 @@ def unmount_iso(request, pk):
|
||||||
dev = request.POST.get("umount_iso", "")
|
dev = request.POST.get("umount_iso", "")
|
||||||
instance.proxy.umount_iso(dev, image)
|
instance.proxy.umount_iso(dev, image)
|
||||||
msg = _("Mount media: %(dev)s") % {"dev": dev}
|
msg = _("Mount media: %(dev)s") % {"dev": dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -962,7 +962,7 @@ def mount_iso(request, pk):
|
||||||
dev = request.POST.get("mount_iso", "")
|
dev = request.POST.get("mount_iso", "")
|
||||||
instance.proxy.mount_iso(dev, image)
|
instance.proxy.mount_iso(dev, image)
|
||||||
msg = _("Unmount media: %(dev)s") % {"dev": dev}
|
msg = _("Unmount media: %(dev)s") % {"dev": dev}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
return redirect(request.META.get("HTTP_REFERER") + "#disks")
|
||||||
|
|
||||||
|
|
@ -980,7 +980,7 @@ def snapshot(request, pk):
|
||||||
desc = request.POST.get("description", "")
|
desc = request.POST.get("description", "")
|
||||||
instance.proxy.create_snapshot(name, desc)
|
instance.proxy.create_snapshot(name, desc)
|
||||||
msg = _("Create snapshot: %(snap)s") % {"snap": name}
|
msg = _("Create snapshot: %(snap)s") % {"snap": name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -995,7 +995,7 @@ def delete_snapshot(request, pk):
|
||||||
snap_name = request.POST.get("name", "")
|
snap_name = request.POST.get("name", "")
|
||||||
instance.proxy.snapshot_delete(snap_name)
|
instance.proxy.snapshot_delete(snap_name)
|
||||||
msg = _("Delete snapshot: %(snap)s") % {"snap": snap_name}
|
msg = _("Delete snapshot: %(snap)s") % {"snap": snap_name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1013,7 +1013,7 @@ def revert_snapshot(request, pk):
|
||||||
msg += snap_name
|
msg += snap_name
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
msg = _("Revert snapshot: %(snap)s") % {"snap": snap_name}
|
msg = _("Revert snapshot: %(snap)s") % {"snap": snap_name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1030,7 +1030,7 @@ def create_external_snapshot(request, pk):
|
||||||
desc = request.POST.get("description", "")
|
desc = request.POST.get("description", "")
|
||||||
instance.proxy.create_external_snapshot("s1." + name, instance, desc=desc)
|
instance.proxy.create_external_snapshot("s1." + name, instance, desc=desc)
|
||||||
msg = _("Create external snapshot: %(snap)s") % {"snap": name}
|
msg = _("Create external snapshot: %(snap)s") % {"snap": name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1064,7 +1064,7 @@ def revert_external_snapshot(request, pk):
|
||||||
instance.proxy.revert_external_snapshot(name, date, desc)
|
instance.proxy.revert_external_snapshot(name, date, desc)
|
||||||
instance.proxy.start() if instance_state else None
|
instance.proxy.start() if instance_state else None
|
||||||
msg = _("Revert external snapshot: %(snap)s") % {"snap": name}
|
msg = _("Revert external snapshot: %(snap)s") % {"snap": name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
return redirect(request.META.get("HTTP_REFERER") + "#managesnapshot")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1085,7 +1085,7 @@ def delete_external_snapshot(request, pk):
|
||||||
try:
|
try:
|
||||||
instance.proxy.delete_external_snapshot(name)
|
instance.proxy.delete_external_snapshot(name)
|
||||||
msg = _("Delete external snapshot: %(snap)s") % {"snap": name}
|
msg = _("Delete external snapshot: %(snap)s") % {"snap": name}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
finally:
|
finally:
|
||||||
instance.proxy.force_shutdown() if instance_state else None
|
instance.proxy.force_shutdown() if instance_state else None
|
||||||
|
|
||||||
|
|
@ -1102,7 +1102,7 @@ def set_vcpu(request, pk):
|
||||||
else:
|
else:
|
||||||
instance.proxy.set_vcpu(id, 0)
|
instance.proxy.set_vcpu(id, 0)
|
||||||
msg = _("VCPU %(id)s is enabled=%(enabled)s") % {"id": id, "enabled": enabled}
|
msg = _("VCPU %(id)s is enabled=%(enabled)s") % {"id": id, "enabled": enabled}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#resize")
|
return redirect(request.META.get("HTTP_REFERER") + "#resize")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1112,7 +1112,7 @@ def set_vcpu_hotplug(request, pk):
|
||||||
status = True if request.POST.get("vcpu_hotplug", "False") == "True" else False
|
status = True if request.POST.get("vcpu_hotplug", "False") == "True" else False
|
||||||
msg = _("VCPU Hot-plug is enabled=%(status)s") % {"status": status}
|
msg = _("VCPU Hot-plug is enabled=%(status)s") % {"status": status}
|
||||||
instance.proxy.set_vcpu_hotplug(status)
|
instance.proxy.set_vcpu_hotplug(status)
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#resize")
|
return redirect(request.META.get("HTTP_REFERER") + "#resize")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1121,7 +1121,7 @@ def set_autostart(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.set_autostart(1)
|
instance.proxy.set_autostart(1)
|
||||||
msg = _("Set autostart")
|
msg = _("Set autostart")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1130,7 +1130,7 @@ def unset_autostart(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.set_autostart(0)
|
instance.proxy.set_autostart(0)
|
||||||
msg = _("Unset autostart")
|
msg = _("Unset autostart")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1139,7 +1139,7 @@ def set_bootmenu(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.set_bootmenu(1)
|
instance.proxy.set_bootmenu(1)
|
||||||
msg = _("Enable boot menu")
|
msg = _("Enable boot menu")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1148,7 +1148,7 @@ def unset_bootmenu(request, pk):
|
||||||
instance = get_instance(request.user, pk)
|
instance = get_instance(request.user, pk)
|
||||||
instance.proxy.set_bootmenu(0)
|
instance.proxy.set_bootmenu(0)
|
||||||
msg = _("Disable boot menu")
|
msg = _("Disable boot menu")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1174,7 +1174,7 @@ def set_bootorder(request, pk):
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
messages.success(request, _("Boot order changed successfully."))
|
messages.success(request, _("Boot order changed successfully."))
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
return redirect(request.META.get("HTTP_REFERER") + "#boot_opt")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1185,7 +1185,7 @@ def change_xml(request, pk):
|
||||||
if new_xml:
|
if new_xml:
|
||||||
instance.proxy._defineXML(new_xml)
|
instance.proxy._defineXML(new_xml)
|
||||||
msg = _("Change instance XML")
|
msg = _("Change instance XML")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#xmledit")
|
return redirect(request.META.get("HTTP_REFERER") + "#xmledit")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1199,7 +1199,7 @@ def set_guest_agent(request, pk):
|
||||||
instance.proxy.remove_guest_agent()
|
instance.proxy.remove_guest_agent()
|
||||||
|
|
||||||
msg = _("Set Guest Agent: %(status)s") % {"status": status}
|
msg = _("Set Guest Agent: %(status)s") % {"status": status}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1209,7 +1209,7 @@ def set_video_model(request, pk):
|
||||||
video_model = request.POST.get("video_model", "vga")
|
video_model = request.POST.get("video_model", "vga")
|
||||||
instance.proxy.set_video_model(video_model)
|
instance.proxy.set_video_model(video_model)
|
||||||
msg = _("Set Video Model: %(model)s") % {"model": video_model}
|
msg = _("Set Video Model: %(model)s") % {"model": video_model}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1239,7 +1239,7 @@ def change_network(request, pk):
|
||||||
network_data[post] = request.POST.get(post, "")
|
network_data[post] = request.POST.get(post, "")
|
||||||
|
|
||||||
instance.proxy.change_network(network_data)
|
instance.proxy.change_network(network_data)
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
msg = _("Network Device Config is changed. Please shutdown instance to activate.")
|
msg = _("Network Device Config is changed. Please shutdown instance to activate.")
|
||||||
if instance.proxy.get_status() != 5:
|
if instance.proxy.get_status() != 5:
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
|
|
@ -1266,7 +1266,7 @@ def add_network(request, pk):
|
||||||
|
|
||||||
instance.proxy.add_network(mac, source, source_type, nwfilter=nwfilter)
|
instance.proxy.add_network(mac, source, source_type, nwfilter=nwfilter)
|
||||||
msg = _("Add network: %(mac)s") % {"mac": mac}
|
msg = _("Add network: %(mac)s") % {"mac": mac}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1277,7 +1277,7 @@ def delete_network(request, pk):
|
||||||
|
|
||||||
instance.proxy.delete_network(mac_address)
|
instance.proxy.delete_network(mac_address)
|
||||||
msg = _("Delete Network: %(mac)s") % {"mac": mac_address}
|
msg = _("Delete Network: %(mac)s") % {"mac": mac_address}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1290,7 +1290,7 @@ def set_link_state(request, pk):
|
||||||
state = "down" if state == "up" else "up"
|
state = "down" if state == "up" else "up"
|
||||||
instance.proxy.set_link_state(mac_address, state)
|
instance.proxy.set_link_state(mac_address, state)
|
||||||
msg = _("Set Link State: %(state)s") % {"state": state}
|
msg = _("Set Link State: %(state)s") % {"state": state}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
return redirect(request.META.get("HTTP_REFERER") + "#network")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1367,7 +1367,7 @@ def add_owner(request, pk):
|
||||||
add_user_inst.save()
|
add_user_inst.save()
|
||||||
user = User.objects.get(id=user_id)
|
user = User.objects.get(id=user_id)
|
||||||
msg = _("Add owner: %(user)s") % {"user": user}
|
msg = _("Add owner: %(user)s") % {"user": user}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#users")
|
return redirect(request.META.get("HTTP_REFERER") + "#users")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1378,7 +1378,7 @@ def del_owner(request, pk):
|
||||||
userinstance = UserInstance.objects.get(pk=userinstance_id)
|
userinstance = UserInstance.objects.get(pk=userinstance_id)
|
||||||
userinstance.delete()
|
userinstance.delete()
|
||||||
msg = _("Delete owner: %(userinstance_id)s ") % {"userinstance_id": userinstance_id}
|
msg = _("Delete owner: %(userinstance_id)s ") % {"userinstance_id": userinstance_id}
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#users")
|
return redirect(request.META.get("HTTP_REFERER") + "#users")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1452,7 +1452,7 @@ def clone(request, pk):
|
||||||
}
|
}
|
||||||
messages.success(request, msg)
|
messages.success(request, msg)
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, new_instance.name, msg
|
request.user.username, instance.compute.name, new_instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
if app_settings.CLONE_INSTANCE_AUTO_MIGRATE == "True":
|
if app_settings.CLONE_INSTANCE_AUTO_MIGRATE == "True":
|
||||||
|
|
@ -1499,7 +1499,7 @@ def update_console(request, pk):
|
||||||
else:
|
else:
|
||||||
msg = _("Set VNC password")
|
msg = _("Set VNC password")
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
if "keymap" in form.changed_data or "clear_keymap" in form.changed_data:
|
if "keymap" in form.changed_data or "clear_keymap" in form.changed_data:
|
||||||
|
|
@ -1510,21 +1510,21 @@ def update_console(request, pk):
|
||||||
|
|
||||||
msg = _("Set VNC keymap")
|
msg = _("Set VNC keymap")
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
if "type" in form.changed_data:
|
if "type" in form.changed_data:
|
||||||
instance.proxy.set_console_type(form.cleaned_data["type"])
|
instance.proxy.set_console_type(form.cleaned_data["type"])
|
||||||
msg = _("Set VNC type")
|
msg = _("Set VNC type")
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
if "listen_on" in form.changed_data:
|
if "listen_on" in form.changed_data:
|
||||||
instance.proxy.set_console_listener_addr(form.cleaned_data["listen_on"])
|
instance.proxy.set_console_listener_addr(form.cleaned_data["listen_on"])
|
||||||
msg = _("Set VNC listen address")
|
msg = _("Set VNC listen address")
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, instance.compute.name, instance.name, msg
|
request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#vncsettings")
|
return redirect(request.META.get("HTTP_REFERER") + "#vncsettings")
|
||||||
|
|
@ -1548,7 +1548,7 @@ def change_options(request, pk):
|
||||||
instance.proxy.set_options(options)
|
instance.proxy.set_options(options)
|
||||||
|
|
||||||
msg = _("Edit options")
|
msg = _("Edit options")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
return redirect(request.META.get("HTTP_REFERER") + "#options")
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1562,7 +1562,7 @@ def getvvfile(request, pk):
|
||||||
)
|
)
|
||||||
|
|
||||||
msg = _("Send console.vv file")
|
msg = _("Send console.vv file")
|
||||||
addlogmsg(request.user.username, instance.compute.name, instance.name, msg)
|
addlogmsg(request.user.username, instance.compute.name, instance.name, msg, ip=get_client_ip(request))
|
||||||
response = HttpResponse(
|
response = HttpResponse(
|
||||||
content="",
|
content="",
|
||||||
content_type="application/x-virt-viewer",
|
content_type="application/x-virt-viewer",
|
||||||
|
|
@ -1884,7 +1884,7 @@ def create_instance(request, compute_id, arch, machine):
|
||||||
request.user.username,
|
request.user.username,
|
||||||
create_instance.compute.name,
|
create_instance.compute.name,
|
||||||
create_instance.name,
|
create_instance.name,
|
||||||
msg,
|
msg, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
return redirect(
|
return redirect(
|
||||||
reverse("instances:instance", args=[create_instance.id])
|
reverse("instances:instance", args=[create_instance.id])
|
||||||
|
|
@ -1946,3 +1946,11 @@ def flavor_delete(request, pk):
|
||||||
"common/confirm_delete.html",
|
"common/confirm_delete.html",
|
||||||
{"object": flavor},
|
{"object": flavor},
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def get_client_ip(request):
|
||||||
|
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
|
||||||
|
if x_forwarded_for:
|
||||||
|
ip = x_forwarded_for.split(',')[0]
|
||||||
|
else:
|
||||||
|
ip = request.META.get('REMOTE_ADDR')
|
||||||
|
return ip
|
||||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Binary file not shown.
File diff suppressed because it is too large
Load diff
|
|
@ -3,6 +3,7 @@ from django.utils.translation import gettext_lazy as _
|
||||||
|
|
||||||
class Logs(Model):
|
class Logs(Model):
|
||||||
user = CharField(_("user"), max_length=50)
|
user = CharField(_("user"), max_length=50)
|
||||||
|
ip = CharField(_("ip"), max_length=50, default=None, blank=True, null=True)
|
||||||
host = CharField(_("host"), max_length=50, default="-")
|
host = CharField(_("host"), max_length=50, default="-")
|
||||||
instance = CharField(_("instance"), max_length=50)
|
instance = CharField(_("instance"), max_length=50)
|
||||||
message = CharField(_("message"), max_length=255)
|
message = CharField(_("message"), max_length=255)
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@ from instances.models import Instance
|
||||||
from logs.models import Logs
|
from logs.models import Logs
|
||||||
|
|
||||||
|
|
||||||
def addlogmsg(user, host, instance, message):
|
def addlogmsg(user, host, instance, message, ip=None):
|
||||||
"""
|
"""
|
||||||
:param user:
|
:param user:
|
||||||
:param host:
|
:param host:
|
||||||
|
|
@ -15,7 +15,7 @@ def addlogmsg(user, host, instance, message):
|
||||||
:param message:
|
:param message:
|
||||||
:return:
|
:return:
|
||||||
"""
|
"""
|
||||||
add_log_msg = Logs(user=user, host=host, instance=instance, message=message)
|
add_log_msg = Logs(user=user, host=host, instance=instance, message=message, ip=ip)
|
||||||
add_log_msg.save()
|
add_log_msg.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -33,6 +33,7 @@ def vm_logs(request, vname):
|
||||||
for l in logs_:
|
for l in logs_:
|
||||||
log = dict()
|
log = dict()
|
||||||
log["user"] = l.user
|
log["user"] = l.user
|
||||||
|
log["ip"] = l.ip
|
||||||
log["host"] = l.host
|
log["host"] = l.host
|
||||||
log["instance"] = l.instance
|
log["instance"] = l.instance
|
||||||
log["message"] = l.message
|
log["message"] = l.message
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,8 @@ from computes.models import Compute
|
||||||
from django.contrib import messages
|
from django.contrib import messages
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
from django.shortcuts import get_object_or_404, render
|
from django.shortcuts import get_object_or_404, render
|
||||||
from django.utils.translation import gettext_lazy as _
|
# from django.utils.translation import gettext_lazy as _
|
||||||
|
from django.utils.translation import gettext_noop as _
|
||||||
from libvirt import libvirtError
|
from libvirt import libvirtError
|
||||||
from logs.views import addlogmsg
|
from logs.views import addlogmsg
|
||||||
from vrtManager import util
|
from vrtManager import util
|
||||||
|
|
@ -61,11 +62,11 @@ def nwfilters(request, compute_id):
|
||||||
"filter": name
|
"filter": name
|
||||||
}
|
}
|
||||||
conn.create_nwfilter(xml)
|
conn.create_nwfilter(xml)
|
||||||
addlogmsg(request.user.username, compute.hostname, "", msg)
|
addlogmsg(request.user.username, compute.hostname, "", msg, ip=get_client_ip(request))
|
||||||
except libvirtError as lib_err:
|
except libvirtError as lib_err:
|
||||||
messages.error(request, lib_err)
|
messages.error(request, lib_err)
|
||||||
addlogmsg(
|
addlogmsg(
|
||||||
request.user.username, compute.hostname, "", lib_err
|
request.user.username, compute.hostname, "", lib_err, ip=get_client_ip(request)
|
||||||
)
|
)
|
||||||
|
|
||||||
if "del_nwfilter" in request.POST:
|
if "del_nwfilter" in request.POST:
|
||||||
|
|
@ -98,7 +99,7 @@ def nwfilters(request, compute_id):
|
||||||
"NWFilter is in use by %(instance)s. Cannot be deleted."
|
"NWFilter is in use by %(instance)s. Cannot be deleted."
|
||||||
) % {"instance": inst}
|
) % {"instance": inst}
|
||||||
messages.error(request, msg)
|
messages.error(request, msg)
|
||||||
addlogmsg(request.user.username, compute.hostname, "", msg)
|
addlogmsg(request.user.username, compute.hostname, "", msg, ip=get_client_ip(request))
|
||||||
i_conn.close()
|
i_conn.close()
|
||||||
break
|
break
|
||||||
|
|
||||||
|
|
@ -106,7 +107,7 @@ def nwfilters(request, compute_id):
|
||||||
if nwfilter and not in_use:
|
if nwfilter and not in_use:
|
||||||
nwfilter.undefine()
|
nwfilter.undefine()
|
||||||
nwfilters_all.remove(nwfilter_info)
|
nwfilters_all.remove(nwfilter_info)
|
||||||
addlogmsg(request.user.username, compute.hostname, "", msg)
|
addlogmsg(request.user.username, compute.hostname, "", msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
if "cln_nwfilter" in request.POST:
|
if "cln_nwfilter" in request.POST:
|
||||||
name = request.POST.get("nwfiltername", "")
|
name = request.POST.get("nwfiltername", "")
|
||||||
|
|
@ -119,15 +120,15 @@ def nwfilters(request, compute_id):
|
||||||
"name": name,
|
"name": name,
|
||||||
"clone": cln_name,
|
"clone": cln_name,
|
||||||
}
|
}
|
||||||
addlogmsg(request.user.username, compute.hostname, "", msg)
|
addlogmsg(request.user.username, compute.hostname, "", msg, ip=get_client_ip(request))
|
||||||
|
|
||||||
conn.close()
|
conn.close()
|
||||||
except libvirtError as lib_err:
|
except libvirtError as lib_err:
|
||||||
messages.error(request, lib_err)
|
messages.error(request, lib_err)
|
||||||
addlogmsg(request.user.username, compute.hostname, "", lib_err)
|
addlogmsg(request.user.username, compute.hostname, "", lib_err, ip=get_client_ip(request))
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
messages.error(request, err)
|
messages.error(request, err)
|
||||||
addlogmsg(request.user.username, compute.hostname, "", err)
|
addlogmsg(request.user.username, compute.hostname, "", err, ip=get_client_ip(request))
|
||||||
|
|
||||||
return render(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
|
@ -242,3 +243,11 @@ def nwfilter(request, compute_id, nwfltr):
|
||||||
messages.error(request, error_msg)
|
messages.error(request, error_msg)
|
||||||
|
|
||||||
return render(request, "nwfilter.html", locals())
|
return render(request, "nwfilter.html", locals())
|
||||||
|
|
||||||
|
def get_client_ip(request):
|
||||||
|
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
|
||||||
|
if x_forwarded_for:
|
||||||
|
ip = x_forwarded_for.split(',')[0]
|
||||||
|
else:
|
||||||
|
ip = request.META.get('REMOTE_ADDR')
|
||||||
|
return ip
|
||||||
Loading…
Add table
Add a link
Reference in a new issue