Example #1
0
def edit_by_machine(request, id):
    print "id iface: %s" % id
    if id is None:
        obj = Iface()

    else:
        obj = get_object_or_404(Iface, pk=id)
    wrong = False
    if request.method == "POST":
        form = IfaceByMachineForm(request.POST, instance=obj)
        try:
            if form.is_valid():
                machine = request.POST["machines"]

                obj = form.save(commit=False)
                obj.save(manual=True)
                try:
                    obj.machines.add(machine)
                except IntegrityError:
                    pass

                messages.info(request, "Iface successfully saved")
                return redirect(reverse("ifaces_by_machine", args=[machine]))

            wrong = True
            messages.error(request, "Wrong fields!")
        except Exception, ex:
            return HttpResponseServerError(ex)
Example #2
0
def edit(request, id=None):

    if id is None:
        obj = Iface()
    else:
        obj = get_object_or_404(Iface, pk=id)

    if request.method == "POST":
        form = IfaceForm(request.POST, instance=obj)

        if form.is_valid():

            obj = form.save(commit=False)
            obj.save()
            if "machines" in form.cleaned_data:
                obj.machines.clear()
                cd = form.cleaned_data["machines"]
                for machine in form.cleaned_data["machines"]:
                    obj.machines.add(machine)

            messages.info(request, "Iface successfully saved")
            return redirect(reverse("iface", args=[obj.pk]))

        messages.error(request, "Wrong fields!")

    else:
        form = IfaceForm(initial=request.GET, instance=obj)

    return render_to_response(
        "iface/edit.html", {"form": form, "id": obj.pk, "obj": obj}, context_instance=RequestContext(request)
    )
Example #3
0
def listado(request):
    if "query_iface" in request.GET and request.GET["query_iface"] != "":
        query_sent = request.GET["query_iface"]

        query = Iface.objects.query_cmd(query_sent)
        if query is None:
            query = Iface.objects.filter(
                Q(vlan__name__iregex=query_sent) | Q(ip__iregex=query_sent) | Q(mac__icontains=query_sent)
            )
    else:
        query = Iface.objects.all()
        query_sent = None
    print query.query
    listado = paginator(query, request)

    # if no iface is found, it shows advanced iface info
    if len(listado.object_list) == 0:
        try:
            ipaddr.IPv4Address(query_sent)
            vlan = Iface.find_vlan(query_sent)
            eirs = Iface.excluded_in_ranges(ip=query_sent, vlan=vlan)
            conflicts = ConflictingIP.objects.filter(ip=query_sent)
            return render_to_response(
                "iface/adv_info.html",
                {"vlan": vlan, "eirs": eirs, "ip": query_sent, "conflicts": conflicts},
                context_instance=RequestContext(request),
            )
        except Exception:
            pass

    #    if len(listado.object_list) == 1:
    #        obj = listado.object_list[0]
    #        return redirect(reverse("iface", args=[obj.pk, ]))
    return render_to_response("iface/list.html", {"listado": listado}, context_instance=RequestContext(request))
Example #4
0
def edit_short_old(request, id):
    if id is None:
        obj = Iface()
    else:
        obj = get_object_or_404(Iface, pk=id)

    if request.method == "POST":
        form = IfaceShortForm(request.POST, instance=obj)

        if form.is_valid():
            obj = form.save(commit=False)
            obj.save()
            messages.info(request, "Iface successfully saved")
            return redirect(reverse("iface", args=[obj.pk]))
        else:
            messages.error(request, "Wrong fields!")

    else:
        form = IfaceShortForm(request.GET, instance=obj)

    return render_to_response(
        "iface/edit_form.html", {"form": form, "id": obj.pk, "obj": obj}, context_instance=RequestContext(request)
    )