Пример #1
0
def zpool_disk_replace(request, vname, label):

    volume = models.Volume.objects.get(vol_name=vname)
    if request.method == "POST":
        form = forms.ZFSDiskReplacementForm(
            request.POST,
            volume=volume,
            label=label,
        )
        if form.is_valid():
            if form.done():
                return JsonResp(
                    request, message=_("Disk replacement has been initiated."))
            else:
                return JsonResp(request,
                                error=True,
                                message=_("An error occurred."))

    else:
        form = forms.ZFSDiskReplacementForm(volume=volume, label=label)
    return render(
        request, 'storage/zpool_disk_replace.html', {
            'form': form,
            'vname': vname,
            'encrypted': volume.vol_encrypt > 0,
            'label': label,
        })
Пример #2
0
def zpool_disk_replace(request, vname, label):

    disk = notifier().label_to_disk(label)
    if disk is None:
        disk = label
    volume = models.Volume.objects.get(vol_name=vname)
    if request.method == "POST":
        form = forms.ZFSDiskReplacementForm(request.POST,
                                            volume=volume,
                                            disk=disk)
        if form.is_valid():
            if form.done(disk, label):
                return JsonResp(
                    request, message=_("Disk replacement has been initiated."))
            else:
                return JsonResp(request,
                                error=True,
                                message=_("An error occurred."))

    else:
        form = forms.ZFSDiskReplacementForm(volume=volume, disk=disk)
    return render(request, 'storage/zpool_disk_replace.html', {
        'form': form,
        'vname': vname,
        'label': label,
        'disk': disk,
    })