views.py 2.74 KB
Newer Older
Dalahro's avatar
Dalahro committed
1
2
from django.shortcuts import render, redirect
from django.contrib import messages
Dalahro's avatar
Dalahro committed
3
from django.db import IntegrityError
Dalahro's avatar
Dalahro committed
4
5

from topologie.models import Switch, Port
Dalahro's avatar
Dalahro committed
6
from topologie.forms import EditPortForm, EditSwitchForm, AddPortForm
Dalahro's avatar
Dalahro committed
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from users.views import form


def index(request):
    switch_list = Switch.objects.order_by('building', 'number')
    return render(request, 'topologie/index.html', {'switch_list': switch_list})

def index_port(request, switch_id):
    try:
        switch = Switch.objects.get(pk=switch_id)
    except Switch.DoesNotExist:
        messages.error(request, u"Switch inexistant")
        return redirect("/topologie/")
    port_list = Port.objects.filter(switch = switch).order_by('port')
Dalahro's avatar
Dalahro committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    return render(request, 'topologie/index_p.html', {'port_list':port_list, 'id_switch':switch_id, 'nom_switch':switch})

def new_port(request, switch_id):
    try:
        switch = Switch.objects.get(pk=switch_id)
    except Switch.DoesNotExist:
        messages.error(request, u"Switch inexistant")
        return redirect("/topologie/")
    port = AddPortForm(request.POST or None)
    if port.is_valid():
        port = port.save(commit=False)
        port.switch = switch
        try:
            port.save()
            messages.success(request, "Port ajouté")
        except IntegrityError:
37
            messages.error(request,"Ce port existe déjà" )
Dalahro's avatar
Dalahro committed
38
39
        return redirect("/topologie/switch/" + switch_id)
    return form({'topoform':port}, 'topologie/port.html', request)
Dalahro's avatar
Dalahro committed
40
41
42
43
44
45
46
47
48
49
50

def edit_port(request, port_id):
    try:
        port = Port.objects.get(pk=port_id)
    except Port.DoesNotExist:
        messages.error(request, u"Port inexistant")
        return redirect("/topologie/")
    port = EditPortForm(request.POST or None, instance=port)
    if port.is_valid():
        port.save()
        messages.success(request, "Le port a bien été modifié")
Dalahro's avatar
Dalahro committed
51
        return redirect("/topologie/")
Dalahro's avatar
Dalahro committed
52
    return form({'topoform':port}, 'topologie/port.html', request)
Dalahro's avatar
Dalahro committed
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
       
def new_switch(request):
    switch = EditSwitchForm(request.POST or None)
    if switch.is_valid():
        switch.save()
        messages.success(request, "Le switch a été créé")
        return redirect("/topologie/")
    return form({'topoform':switch}, 'topologie/port.html', request)

def edit_switch(request, switch_id):
    try:
        switch = Switch.objects.get(pk=switch_id)
    except Switch.DoesNotExist:
        messages.error(request, u"Switch inexistant")
        return redirect("/topologie/")
    switch = EditSwitchForm(request.POST or None, instance=switch)
    if switch.is_valid():
        switch.save()
        messages.success(request, "Le switch a bien été modifié")
        return redirect("/topologie/")
    return form({'topoform':switch}, 'topologie/port.html', request)