コード例 #1
0
ファイル: views.py プロジェクト: SilasAlvesJunior/freenas
def ipmi(request):

    if request.method == "POST":
        form = IPMIForm(request.POST)
        if form.is_valid():
            rv = notifier().ipmi_set_lan(form.cleaned_data, channel=int(form.cleaned_data.get("channel")))
            if rv == 0:
                return JsonResp(request, message=_("IPMI successfully edited"))
            else:
                return JsonResp(request, error=True, message=_("IPMI failed"))
    else:
        try:
            ipmi = notifier().ipmi_get_lan()

            # TODO: There might be a better way to convert netmask to CIDR
            mask = ipmi.get("SubnetMask")
            num, cidr = struct.unpack(">I", socket.inet_aton(mask))[0], 0
            while num > 0:
                num = num << 1 & 0xFFFFFFFF
                cidr += 1
            initial = {
                "dhcp": False if ipmi.get("IpAddressSource") == "Static Address" else True,
                "ipv4address": ipmi.get("IpAddress"),
                "ipv4gw": ipmi.get("DefaultGatewayIp"),
                "ipv4netmaskbit": str(cidr),
                "vlanid": ipmi.get("8021qVlanId") if ipmi.get("8021qVlanId") != "Disabled" else "",
            }
        except Exception:
            initial = {}
        form = IPMIForm(initial=initial)
    return render(request, "network/ipmi.html", {"form": form})
コード例 #2
0
ファイル: views.py プロジェクト: Blackwarg/freenas
def ipmi(request):

    if request.method == "POST":
        form = IPMIForm(request.POST)
        if form.is_valid():
            rv = notifier().ipmi_set_lan(form.cleaned_data)
            if rv == 0:
                return JsonResp(request, message=_("IPMI successfully edited"))
            else:
                return JsonResp(request, error=True, message=_("IPMI failed"))
    else:
        try:
            ipmi = notifier().ipmi_get_lan()

            #TODO: There might be a better way to convert netmask to CIDR
            mask = ipmi.get("SubnetMask")
            num, cidr = struct.unpack('>I', socket.inet_aton(mask))[0], 0
            while num > 0:
                num = num << 1 & 0xffffffff
                cidr += 1
            initial = {
                'dhcp': False
                if ipmi.get("IpAddressSource") == "Static Address"
                else True,
                'ipv4address': ipmi.get("IpAddress"),
                'ipv4gw': ipmi.get("DefaultGatewayIp"),
                'ipv4netmaskbit': str(cidr),
            }
        except Exception:
            initial = {}
        form = IPMIForm(initial=initial)
    return render(request, 'network/ipmi.html', {
        'form': form,
    })
コード例 #3
0
ファイル: views.py プロジェクト: binzyw/freenas
def ipmi(request):

    if request.method == "POST":
        form = IPMIForm(request.POST)
        if form.is_valid():
            if form.save() == 0:
                return JsonResp(request, message=_("IPMI successfully edited"))
            else:
                return JsonResp(request, error=True, message=_("IPMI failed"))
    else:
        form = IPMIForm()
    return render(request, 'network/ipmi.html', {
        'form': form,
    })
コード例 #4
0
ファイル: views.py プロジェクト: scottman85/freenas
def ipmi(request):

    if request.method == "POST":
        form = IPMIForm(request.POST)
        if form.is_valid():
            rv = notifier().ipmi_set_lan(
                form.cleaned_data,
                channel=int(form.cleaned_data.get('channel')),
            )
            if rv == 0:
                return JsonResp(request, message=_("IPMI successfully edited"))
            else:
                return JsonResp(request, error=True, message=_("IPMI failed"))
    else:
        try:
            ipmi = notifier().ipmi_get_lan()

            # TODO: There might be a better way to convert netmask to CIDR
            mask = ipmi.get("SubnetMask")
            num, cidr = struct.unpack('>I', socket.inet_aton(mask))[0], 0
            while num > 0:
                num = num << 1 & 0xffffffff
                cidr += 1
            initial = {
                'dhcp':
                False
                if ipmi.get("IpAddressSource") == "Static Address" else True,
                'ipv4address':
                ipmi.get("IpAddress"),
                'ipv4gw':
                ipmi.get("DefaultGatewayIp"),
                'ipv4netmaskbit':
                str(cidr),
                'vlanid':
                ipmi.get("8021qVlanId")
                if ipmi.get("8021qVlanId") != 'Disabled' else '',
            }
        except Exception:
            initial = {}
        form = IPMIForm(initial=initial)
    return render(request, 'network/ipmi.html', {
        'form': form,
    })
コード例 #5
0
def ipmi(request):

    if request.method == "POST":
        form = IPMIForm(request.POST)
        if form.is_valid():
            if form.save() == 0:
                return JsonResp(request, message=_("IPMI successfully edited"))
            else:
                return JsonResp(request, error=True, message=_("IPMI failed"))
    else:
        form = IPMIForm()
    return render(request, 'network/ipmi.html', {
        'form': form,
    })