eduardogsilva.routerfleet/backup/views.py

49 lines
1.9 KiB
Python
Raw Normal View History

2024-03-17 17:24:56 -03:00
from django.contrib.auth.decorators import login_required
from django.shortcuts import render, get_object_or_404, redirect
from django.contrib import messages
from .models import BackupProfile
from .forms import BackupProfileForm
from router_manager.models import Router
2024-03-17 10:43:19 -03:00
2024-03-17 17:24:56 -03:00
@login_required()
def view_backup_profile_list(request):
context = {
'backup_profile_list': BackupProfile.objects.all().order_by('name'),
'page_title': 'Backup Profiles'
}
return render(request, 'backup/backup_profile_list.html', context)
@login_required()
def view_manage_backup_profile(request):
if request.GET.get('uuid'):
backup_profile = get_object_or_404(BackupProfile, uuid=request.GET.get('uuid'))
if request.GET.get('action') == 'delete':
if request.GET.get('confirmation') == 'delete':
if Router.objects.filter(backup_profile=backup_profile).exists():
messages.warning(request, 'Backup profile in use|Backup profile is in use and cannot be deleted')
return redirect('backup_profile_list')
else:
backup_profile.delete()
messages.success(request, 'Backup profile deleted successfully')
return redirect('backup_profile_list')
else:
messages.warning(request, 'Backup profile not deleted|Invalid confirmation')
return redirect('backup_profile_list')
else:
backup_profile = None
form = BackupProfileForm(request.POST or None, instance=backup_profile)
if form.is_valid():
form.save()
messages.success(request, 'Backup Profile saved successfully')
return redirect('backup_profile_list')
context = {
'form': form,
'page_title': 'Manage Backup Profile',
'instance': backup_profile
}
return render(request, 'backup/backup_profile_form.html', context=context)