diff --git a/topologie/forms.py b/topologie/forms.py index 958c6008..a25419af 100644 --- a/topologie/forms.py +++ b/topologie/forms.py @@ -143,6 +143,3 @@ class CreatePortsForm(Form): """Permet de créer une liste de ports pour un switch.""" begin = forms.IntegerField(label="Début :", min_value=0) end = forms.IntegerField(label="Fin :", min_value=0) - - - diff --git a/topologie/models.py b/topologie/models.py index 924002b3..adcc7a57 100644 --- a/topologie/models.py +++ b/topologie/models.py @@ -120,6 +120,7 @@ class Switch(models.Model): raise ValidationError({'stack_member_id': "L'id dans la stack\ ne peut être nul"}) + class Port(models.Model): """ Definition d'un port. Relié à un switch(foreign_key), un port peut etre relié de manière exclusive à : diff --git a/topologie/urls.py b/topologie/urls.py index 4b39d5c5..de7186a8 100644 --- a/topologie/urls.py +++ b/topologie/urls.py @@ -35,7 +35,9 @@ from . import views urlpatterns = [ url(r'^$', views.index, name='index'), url(r'^new_switch/$', views.new_switch, name='new-switch'), - url(r'^create_ports/(?P[0-9]+)$', views.create_ports, name='create-ports'), + url(r'^create_ports/(?P[0-9]+)$', + views.create_ports, + name='create-ports'), url(r'^index_room/$', views.index_room, name='index-room'), url(r'^new_room/$', views.new_room, name='new-room'), url(r'^edit_room/(?P[0-9]+)$', views.edit_room, name='edit-room'), diff --git a/topologie/views.py b/topologie/views.py index bad4d246..80b831f7 100644 --- a/topologie/views.py +++ b/topologie/views.py @@ -53,7 +53,13 @@ from topologie.forms import AddPortForm, EditRoomForm, StackForm from topologie.forms import CreatePortsForm from users.views import form from re2o.utils import SortTable -from machines.forms import DomainForm, NewMachineForm, EditMachineForm, EditInterfaceForm, AddInterfaceForm +from machines.forms import ( + DomainForm, + NewMachineForm, + EditMachineForm, + EditInterfaceForm, + AddInterfaceForm +) from machines.views import generate_ipv4_mbf_param from preferences.models import AssoOption, GeneralOption @@ -141,7 +147,9 @@ def index_port(request, switch_id): .select_related('room')\ .select_related('machine_interface__domain__extension')\ .select_related('machine_interface__machine__user')\ - .select_related('related__switch__switch_interface__domain__extension')\ + .select_related( + 'related__switch__switch_interface__domain__extension' + )\ .select_related('switch') port_list = SortTable.sort( port_list, @@ -403,7 +411,7 @@ def new_switch(request): reversion.set_comment("Création") messages.success(request, "Le switch a été créé") return redirect("/topologie/") - i_mbf_param = generate_ipv4_mbf_param( interface, False ) + i_mbf_param = generate_ipv4_mbf_param(interface, False) return form({ 'topoform': switch, 'machineform': machine, @@ -412,6 +420,7 @@ def new_switch(request): 'i_mbf_param': i_mbf_param }, 'topologie/switch.html', request) + @login_required @permission_required('infra') def create_ports(request, switch_id): @@ -431,13 +440,11 @@ def create_ports(request, switch_id): port_form = CreatePortsForm( request.POST or None, - initial={'begin':s_begin,'end':s_end} + initial={'begin': s_begin, 'end': s_end} ) if port_form.is_valid(): begin = port_form.cleaned_data['begin'] end = port_form.cleaned_data['end'] - b = [] - e = [] if end < begin: messages.error(request, "Port de fin inférieur au port de début !") return redirect("/topologie/switch/" + str(switch.id)) @@ -445,15 +452,15 @@ def create_ports(request, switch_id): messages.error(request, "Ce switch ne peut avoir autant de ports.") return redirect("/topologie/switch/" + str(switch.id)) - b = range(begin, s_begin) - e = range(s_end+1, end+1) - for i in itertools.chain(b,e): - p = Port() - p.switch = switch - p.port = i + begin_range = range(begin, s_begin) + end_range = range(s_end+1, end+1) + for i in itertools.chain(begin_range, end_range): + port = Port() + port.switch = switch + port.port = i try: with transaction.atomic(), reversion.create_revision(): - p.save() + port.save() reversion.set_user(request.user) reversion.set_comment("Création") messages.success(request, "Création du port %d" % i) @@ -461,8 +468,8 @@ def create_ports(request, switch_id): messages.error(request, "Création d'un port existant.") return redirect("/topologie/switch/" + str(switch.id)) - return form({'topoform': port_form,}, 'topologie/switch.html', request) - + return form({'topoform': port_form}, 'topologie/switch.html', request) + @login_required @permission_required('infra') @@ -521,7 +528,7 @@ def edit_switch(request, switch_id): ) messages.success(request, "Le switch a bien été modifié") return redirect("/topologie/") - i_mbf_param = generate_ipv4_mbf_param( interface_form, False ) + i_mbf_param = generate_ipv4_mbf_param(interface_form, False) return form({ 'topoform': switch_form, 'machineform': machine_form,