mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-27 07:02:26 +00:00
Merge branch 'moamoak/89_move_building_and_switchbay_info' into 'master'
Fix #89 : Move building and switchbay info Closes #89 See merge request federez/re2o!116
This commit is contained in:
commit
304ca82eca
5 changed files with 83 additions and 74 deletions
|
@ -29,31 +29,21 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
{% block title %}Modèles de switches{% endblock %}
|
{% block title %}Modèles de switches{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>Modèles de switches</h2>
|
<h2>Modèles de switches</h2>
|
||||||
{% can_create ModelSwitch %}
|
{% can_create ModelSwitch %}
|
||||||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-model-switch' %}"><i class="fa fa-plus"></i> Ajouter un modèle</a>
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-model-switch' %}">
|
||||||
<hr>
|
<i class="fa fa-plus"></i> Ajouter un modèle
|
||||||
{% acl_end %}
|
</a>
|
||||||
{% include "topologie/aff_model_switch.html" with model_switch_list=model_switch_list %}
|
<hr>
|
||||||
<h2>Constructeurs de switches</h2>
|
{% acl_end %}
|
||||||
{% can_create ConstructorSwitch %}
|
{% include "topologie/aff_model_switch.html" with model_switch_list=model_switch_list %}
|
||||||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-constructor-switch' %}"><i class="fa fa-plus"></i> Ajouter un constructeur</a>
|
|
||||||
<hr>
|
<h2>Constructeurs de switches</h2>
|
||||||
{% acl_end %}
|
{% can_create ConstructorSwitch %}
|
||||||
{% include "topologie/aff_constructor_switch.html" with constructor_switch_list=constructor_switch_list %}
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-constructor-switch' %}">
|
||||||
<h2>Baie de brassage</h2>
|
<i class="fa fa-plus"></i> Ajouter un constructeur
|
||||||
{% can_create SwitchBay %}
|
</a>
|
||||||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-switch-bay' %}"><i class="fa fa-plus"></i> Ajouter une baie de brassage</a>
|
<hr>
|
||||||
<hr>
|
{% acl_end %}
|
||||||
{% acl_end %}
|
{% include "topologie/aff_constructor_switch.html" with constructor_switch_list=constructor_switch_list %}
|
||||||
{% include "topologie/aff_switch_bay.html" with switch_bay_list=switch_bay_list %}
|
|
||||||
<h2>Batiment</h2>
|
|
||||||
{% can_create Building %}
|
|
||||||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-building' %}"><i class="fa fa-plus"></i> Ajouter un bâtiment</a>
|
|
||||||
<hr>
|
|
||||||
{% acl_end %}
|
|
||||||
{% include "topologie/aff_building.html" with building_list=building_list %}
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -29,12 +29,29 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
{% block title %}Stacks{% endblock %}
|
{% block title %}Stacks{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<h2>Stacks</h2>
|
<h2>Stacks</h2>
|
||||||
{% can_create Stack %}
|
{% can_create Stack %}
|
||||||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-stack' %}"><i class="fa fa-plus"></i> Ajouter une stack</a>
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-stack' %}">
|
||||||
{% acl_end %}
|
<i class="fa fa-plus"></i> Ajouter une stack
|
||||||
|
</a>
|
||||||
|
{% acl_end %}
|
||||||
{% include "topologie/aff_stacks.html" with stack_list=stack_list %}
|
{% include "topologie/aff_stacks.html" with stack_list=stack_list %}
|
||||||
<br />
|
|
||||||
<br />
|
<h2>Baie de brassage</h2>
|
||||||
<br />
|
{% can_create SwitchBay %}
|
||||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-switch-bay' %}">
|
||||||
|
<i class="fa fa-plus"></i> Ajouter une baie de brassage
|
||||||
|
</a>
|
||||||
|
<hr>
|
||||||
|
{% acl_end %}
|
||||||
|
{% include "topologie/aff_switch_bay.html" with switch_bay_list=switch_bay_list %}
|
||||||
|
|
||||||
|
<h2>Batiment</h2>
|
||||||
|
{% can_create Building %}
|
||||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:new-building' %}">
|
||||||
|
<i class="fa fa-plus"></i> Ajouter un bâtiment
|
||||||
|
</a>
|
||||||
|
<hr>
|
||||||
|
{% acl_end %}
|
||||||
|
{% include "topologie/aff_building.html" with building_list=building_list %}
|
||||||
{% endblock %}
|
{% endblock %}
|
|
@ -37,9 +37,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
<i class="fa fa-wifi"></i>
|
<i class="fa fa-wifi"></i>
|
||||||
Bornes WiFi
|
Bornes WiFi
|
||||||
</a>
|
</a>
|
||||||
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-stack" %}">
|
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-physical-grouping" %}">
|
||||||
<i class="fa fa-list-ul"></i>
|
<i class="fa fa-list-ul"></i>
|
||||||
Stacks
|
Groupements physiques
|
||||||
</a>
|
</a>
|
||||||
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-model-switch" %}">
|
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-model-switch" %}">
|
||||||
<i class="fa fa-list-ul"></i>
|
<i class="fa fa-list-ul"></i>
|
||||||
|
|
|
@ -64,7 +64,7 @@ urlpatterns = [
|
||||||
views.edit_switch,
|
views.edit_switch,
|
||||||
name='edit-switch'),
|
name='edit-switch'),
|
||||||
url(r'^new_stack/$', views.new_stack, name='new-stack'),
|
url(r'^new_stack/$', views.new_stack, name='new-stack'),
|
||||||
url(r'^index_stack/$', views.index_stack, name='index-stack'),
|
url(r'^index_physical_grouping/$', views.index_physical_grouping, name='index-physical-grouping'),
|
||||||
url(r'^edit_stack/(?P<stackid>[0-9]+)$',
|
url(r'^edit_stack/(?P<stackid>[0-9]+)$',
|
||||||
views.edit_stack,
|
views.edit_stack,
|
||||||
name='edit-stack'),
|
name='edit-stack'),
|
||||||
|
|
|
@ -182,42 +182,20 @@ def index_ap(request):
|
||||||
|
|
||||||
@login_required
|
@login_required
|
||||||
@can_view_all(Stack)
|
@can_view_all(Stack)
|
||||||
def index_stack(request):
|
@can_view_all(Building)
|
||||||
|
@can_view_all(SwitchBay)
|
||||||
|
def index_physical_grouping(request):
|
||||||
"""Affichage de la liste des stacks (affiche l'ensemble des switches)"""
|
"""Affichage de la liste des stacks (affiche l'ensemble des switches)"""
|
||||||
stack_list = Stack.objects\
|
stack_list = Stack.objects\
|
||||||
.prefetch_related('switch_set__interface_set__domain__extension')
|
.prefetch_related('switch_set__interface_set__domain__extension')
|
||||||
|
building_list = Building.objects.all()
|
||||||
|
switch_bay_list = SwitchBay.objects.select_related('building')
|
||||||
stack_list = SortTable.sort(
|
stack_list = SortTable.sort(
|
||||||
stack_list,
|
stack_list,
|
||||||
request.GET.get('col'),
|
request.GET.get('col'),
|
||||||
request.GET.get('order'),
|
request.GET.get('order'),
|
||||||
SortTable.TOPOLOGIE_INDEX_STACK
|
SortTable.TOPOLOGIE_INDEX_STACK
|
||||||
)
|
)
|
||||||
return render(request, 'topologie/index_stack.html', {
|
|
||||||
'stack_list': stack_list
|
|
||||||
})
|
|
||||||
|
|
||||||
|
|
||||||
@login_required
|
|
||||||
@can_view_all(ModelSwitch)
|
|
||||||
@can_view_all(ConstructorSwitch)
|
|
||||||
def index_model_switch(request):
|
|
||||||
""" Affichage de l'ensemble des modèles de switches"""
|
|
||||||
model_switch_list = ModelSwitch.objects.select_related('constructor')
|
|
||||||
constructor_switch_list = ConstructorSwitch.objects
|
|
||||||
switch_bay_list = SwitchBay.objects.select_related('building')
|
|
||||||
building_list = Building.objects.all()
|
|
||||||
model_switch_list = SortTable.sort(
|
|
||||||
model_switch_list,
|
|
||||||
request.GET.get('col'),
|
|
||||||
request.GET.get('order'),
|
|
||||||
SortTable.TOPOLOGIE_INDEX_MODEL_SWITCH
|
|
||||||
)
|
|
||||||
constructor_switch_list = SortTable.sort(
|
|
||||||
constructor_switch_list,
|
|
||||||
request.GET.get('col'),
|
|
||||||
request.GET.get('order'),
|
|
||||||
SortTable.TOPOLOGIE_INDEX_CONSTRUCTOR_SWITCH
|
|
||||||
)
|
|
||||||
building_list = SortTable.sort(
|
building_list = SortTable.sort(
|
||||||
building_list,
|
building_list,
|
||||||
request.GET.get('col'),
|
request.GET.get('col'),
|
||||||
|
@ -230,11 +208,35 @@ def index_model_switch(request):
|
||||||
request.GET.get('order'),
|
request.GET.get('order'),
|
||||||
SortTable.TOPOLOGIE_INDEX_SWITCH_BAY
|
SortTable.TOPOLOGIE_INDEX_SWITCH_BAY
|
||||||
)
|
)
|
||||||
|
return render(request, 'topologie/index_physical_grouping.html', {
|
||||||
|
'stack_list': stack_list,
|
||||||
|
'switch_bay_list': switch_bay_list,
|
||||||
|
'building_list' : building_list,
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
@can_view_all(ModelSwitch)
|
||||||
|
@can_view_all(ConstructorSwitch)
|
||||||
|
def index_model_switch(request):
|
||||||
|
""" Affichage de l'ensemble des modèles de switches"""
|
||||||
|
model_switch_list = ModelSwitch.objects.select_related('constructor')
|
||||||
|
constructor_switch_list = ConstructorSwitch.objects
|
||||||
|
model_switch_list = SortTable.sort(
|
||||||
|
model_switch_list,
|
||||||
|
request.GET.get('col'),
|
||||||
|
request.GET.get('order'),
|
||||||
|
SortTable.TOPOLOGIE_INDEX_MODEL_SWITCH
|
||||||
|
)
|
||||||
|
constructor_switch_list = SortTable.sort(
|
||||||
|
constructor_switch_list,
|
||||||
|
request.GET.get('col'),
|
||||||
|
request.GET.get('order'),
|
||||||
|
SortTable.TOPOLOGIE_INDEX_CONSTRUCTOR_SWITCH
|
||||||
|
)
|
||||||
return render(request, 'topologie/index_model_switch.html', {
|
return render(request, 'topologie/index_model_switch.html', {
|
||||||
'model_switch_list': model_switch_list,
|
'model_switch_list': model_switch_list,
|
||||||
'constructor_switch_list': constructor_switch_list,
|
'constructor_switch_list': constructor_switch_list,
|
||||||
'switch_bay_list': switch_bay_list,
|
|
||||||
'building_list' : building_list,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
@ -318,7 +320,7 @@ def edit_stack(request, stack, stackid):
|
||||||
if stack.is_valid():
|
if stack.is_valid():
|
||||||
if stack.changed_data:
|
if stack.changed_data:
|
||||||
stack.save()
|
stack.save()
|
||||||
return redirect(reverse('topologie:index-stack'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'topoform': stack, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
return form({'topoform': stack, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -333,7 +335,7 @@ def del_stack(request, stack, stackid):
|
||||||
except ProtectedError:
|
except ProtectedError:
|
||||||
messages.error(request, "La stack %s est affectée à un autre\
|
messages.error(request, "La stack %s est affectée à un autre\
|
||||||
objet, impossible de la supprimer" % stack)
|
objet, impossible de la supprimer" % stack)
|
||||||
return redirect(reverse('topologie:index-stack'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'objet': stack}, 'topologie/delete.html', request)
|
return form({'objet': stack}, 'topologie/delete.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -663,7 +665,7 @@ def new_switch_bay(request):
|
||||||
if switch_bay.is_valid():
|
if switch_bay.is_valid():
|
||||||
switch_bay.save()
|
switch_bay.save()
|
||||||
messages.success(request, "La baie a été créé")
|
messages.success(request, "La baie a été créé")
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'topoform': switch_bay, 'action_name' : 'Ajouter'}, 'topologie/topo.html', request)
|
return form({'topoform': switch_bay, 'action_name' : 'Ajouter'}, 'topologie/topo.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -676,7 +678,7 @@ def edit_switch_bay(request, switch_bay, switchbayid):
|
||||||
if switch_bay.changed_data:
|
if switch_bay.changed_data:
|
||||||
switch_bay.save()
|
switch_bay.save()
|
||||||
messages.success(request, "Le switch a bien été modifié")
|
messages.success(request, "Le switch a bien été modifié")
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'topoform': switch_bay, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
return form({'topoform': switch_bay, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -691,7 +693,7 @@ def del_switch_bay(request, switch_bay, switchbayid):
|
||||||
except ProtectedError:
|
except ProtectedError:
|
||||||
messages.error(request, "La baie %s est affecté à un autre objet,\
|
messages.error(request, "La baie %s est affecté à un autre objet,\
|
||||||
impossible de la supprimer (switch ou user)" % switch_bay)
|
impossible de la supprimer (switch ou user)" % switch_bay)
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({
|
return form({
|
||||||
'objet': switch_bay,
|
'objet': switch_bay,
|
||||||
'objet_name': 'Baie de switch'
|
'objet_name': 'Baie de switch'
|
||||||
|
@ -706,7 +708,7 @@ def new_building(request):
|
||||||
if building.is_valid():
|
if building.is_valid():
|
||||||
building.save()
|
building.save()
|
||||||
messages.success(request, "Le batiment a été créé")
|
messages.success(request, "Le batiment a été créé")
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'topoform': building, 'action_name' : 'Ajouter'}, 'topologie/topo.html', request)
|
return form({'topoform': building, 'action_name' : 'Ajouter'}, 'topologie/topo.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -719,7 +721,7 @@ def edit_building(request, building, buildingid):
|
||||||
if building.changed_data:
|
if building.changed_data:
|
||||||
building.save()
|
building.save()
|
||||||
messages.success(request, "Le batiment a bien été modifié")
|
messages.success(request, "Le batiment a bien été modifié")
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({'topoform': building, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
return form({'topoform': building, 'action_name' : 'Editer'}, 'topologie/topo.html', request)
|
||||||
|
|
||||||
|
|
||||||
|
@ -734,7 +736,7 @@ def del_building(request, building, buildingid):
|
||||||
except ProtectedError:
|
except ProtectedError:
|
||||||
messages.error(request, "Le batiment %s est affecté à un autre objet,\
|
messages.error(request, "Le batiment %s est affecté à un autre objet,\
|
||||||
impossible de la supprimer (switch ou user)" % building)
|
impossible de la supprimer (switch ou user)" % building)
|
||||||
return redirect(reverse('topologie:index-model-switch'))
|
return redirect(reverse('topologie:index-physical-grouping'))
|
||||||
return form({
|
return form({
|
||||||
'objet': building,
|
'objet': building,
|
||||||
'objet_name': 'Bâtiment'
|
'objet_name': 'Bâtiment'
|
||||||
|
|
Loading…
Reference in a new issue