def backup(request, hostname): """ Backup list and backup definitions. """ dc_settings = request.dc.settings context = collect_view_data(request, 'vm_list') context['vm'] = vm = get_vm(request, hostname, sr=('dc', 'owner', 'template', 'slavevm')) context['vms'] = vms = get_vms(request) context['vms_tags'] = get_vms_tags(vms) context['can_edit'] = request.user.is_admin(request) context['bkpdefs'] = bkpdefs = get_vm_bkpdefs(vm) context['lastbkp'] = [] context.update(get_vm_backups(request, vm)) # Add paginator if context['can_edit']: context['bkpform_create'] = CreateBackupForm(vm, bkpdefs, prefix='snap_create') context['bkpform_restore'] = RestoreBackupForm(vms) context['bkpform_update'] = UpdateBackupForm(vm, prefix='snap_update') context['bkpdeform_update'] = UpdateBackupDefineForm(request, vm) bkpdef_initial = { 'zpool': dc_settings.VMS_STORAGE_DEFAULT, 'type': BackupDefine.DATASET, 'disk_id': 1, 'active': True, 'compression': dc_settings.VMS_VM_BACKUP_COMPRESSION_DEFAULT } context['bkpdeform_create'] = CreateBackupDefineForm(request, vm, prefix='bkpdef_create', initial=bkpdef_initial) view_vm_backup.send(sender='gui.vm.views.backup', request=request, context=context) return render(request, 'gui/vm/backup.html', context)
def backup_list(request, hostname): """ Ajax page with list of backups. """ vm = get_vm(request, hostname) context = { 'vm': vm, 'can_edit': request.user.is_admin(request), 'lastbkp': [], 'last_bkpid': request.GET.get('last_snapid', None), 'bkpdefs': True, # Always enable "backup now" button } context.update(get_vm_backups(request, vm)) # Add paginator return render(request, 'gui/vm/backup_list.html', context)