Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)