diff --git a/machines/forms.py b/machines/forms.py
index badb3197..57478ad4 100644
--- a/machines/forms.py
+++ b/machines/forms.py
@@ -31,11 +31,14 @@ class AddInterfaceForm(EditInterfaceForm):
class Meta(EditInterfaceForm.Meta):
fields = ['ipv4','mac_address','dns','details']
+ def __init__(self, *args, **kwargs):
+ super(AddInterfaceForm, self).__init__(*args, **kwargs)
+ self.fields['ipv4'].empty_label = "Assignation automatique de l'ipv4"
+
class NewInterfaceForm(EditInterfaceForm):
class Meta(EditInterfaceForm.Meta):
fields = ['mac_address','dns','details']
-
class MachineTypeForm(ModelForm):
class Meta:
model = MachineType
diff --git a/machines/templates/machines/aff_machines.html b/machines/templates/machines/aff_machines.html
index 612c1366..06f589ab 100644
--- a/machines/templates/machines/aff_machines.html
+++ b/machines/templates/machines/aff_machines.html
@@ -9,14 +9,15 @@
|
- {% for machine in machine_list %}
+ {% for interface in interfaces_list %}
- {{ machine.dns }} |
- {{ machine.machine.user }} |
- {{ machine.machine.type }} |
- {{ machine.mac_address }} |
- {{ machine.ipv4 }} |
- Editer |
+ {{ interface.dns }} |
+ {{ interface.machine.user }} |
+ {{ interface.machine.type }} |
+ {{ interface.mac_address }} |
+ {{ interface.ipv4 }} |
+ Editer
+ Ajouter une interface |
{% endfor %}
diff --git a/machines/templates/machines/index.html b/machines/templates/machines/index.html
index e9039ced..eaebf7af 100644
--- a/machines/templates/machines/index.html
+++ b/machines/templates/machines/index.html
@@ -4,7 +4,7 @@
{% block title %}Machines{% endblock %}
{% block content %}
- {% include "machines/aff_machines.html" with machines_list=machines_list %}
+ {% include "machines/aff_machines.html" with interfaces_list=interfaces_list %}
diff --git a/machines/views.py b/machines/views.py
index 4a71606b..5d7ec19c 100644
--- a/machines/views.py
+++ b/machines/views.py
@@ -97,6 +97,10 @@ def new_interface(request, machineid):
machine_form.save()
new_interface = interface_form.save(commit=False)
new_interface.machine = machine
+ if free_ip() and not new_interface.ipv4:
+ new_interface = assign_ipv4(new_interface)
+ elif not new_interface.ipv4:
+ messages.error(request, u"Il n'y a plus d'ip disponibles")
new_interface.save()
messages.success(request, "L'interface a été ajoutée")
return redirect("/machines/")
@@ -124,5 +128,5 @@ def del_machinetype(request):
return form({'machineform': machinetype, 'interfaceform': None}, 'machines/machine.html', request)
def index(request):
- machine_list = Interface.objects.order_by('pk')
- return render(request, 'machines/index.html', {'machine_list': machine_list})
+ interfaces_list = Interface.objects.order_by('pk')
+ return render(request, 'machines/index.html', {'interfaces_list': interfaces_list})
diff --git a/search/templates/search/index.html b/search/templates/search/index.html
index ed536bd9..9d60279d 100644
--- a/search/templates/search/index.html
+++ b/search/templates/search/index.html
@@ -8,9 +8,9 @@
Résultats dans les utilisateurs
{% include "users/aff_users.html" with users_list=users_list %}
{% endif%}
- {% if machine_list %}
+ {% if interfaces_list %}
Résultats dans les machines :
- {% include "machines/aff_machines.html" with machine_list=machine_list %}
+ {% include "machines/aff_machines.html" with interfaces_list=interfaces_list %}
{% endif %}
{% if facture_list %}
Résultats dans les factures :
@@ -32,7 +32,7 @@
Résultats dans les ports :
{% include "topologie/aff_port.html" with port_list=port_list %}
{% endif %}
- {% if not ban_list and not machine_list and not users_list and not facture_list and not white_list and not port_list and not switch_list%}
+ {% if not ban_list and not interfaces_list and not users_list and not facture_list and not white_list and not port_list and not switch_list%}
Aucun résultat
{% endif %}
diff --git a/search/views.py b/search/views.py
index 95e19000..61012757 100644
--- a/search/views.py
+++ b/search/views.py
@@ -78,7 +78,7 @@ def search_result(search, type):
portlist = Port.objects.filter(details__icontains = search)
if i == '6':
switchlist = Switch.objects.filter(details__icontains = search)
- return {'users_list': connexion, 'machine_list' : machines, 'facture_list' : factures, 'ban_list' : bans, 'white_list': whitelists, 'port_list':portlist, 'switch_list':switchlist}
+ return {'users_list': connexion, 'interfaces_list' : machines, 'facture_list' : factures, 'ban_list' : bans, 'white_list': whitelists, 'port_list':portlist, 'switch_list':switchlist}
def search(request):
if request.method == 'POST':
diff --git a/users/templates/users/profil.html b/users/templates/users/profil.html
index ea5793fd..2592415b 100644
--- a/users/templates/users/profil.html
+++ b/users/templates/users/profil.html
@@ -81,8 +81,8 @@
Machines :
- {% if machine_list %}
- {% include "machines/aff_machines.html" with machine_list=machine_list %}
+ {% if interfaces_list %}
+ {% include "machines/aff_machines.html" with interfaces_list=interfaces_list %}
{% else %}
Aucune machine
{% endif %}
diff --git a/users/views.py b/users/views.py
index 243ad621..bbd431fe 100644
--- a/users/views.py
+++ b/users/views.py
@@ -275,5 +275,5 @@ def profil(request, userid):
if(is_whitelisted(users)):
end_whitelists=end_whitelist(users)
list_droits = Right.objects.filter(user=users)
- return render(request, 'users/profil.html', {'user': users, 'machine_list' :machines, 'facture_list':factures, 'ban_list':bans, 'white_list':whitelists,'end_ban':end_bans,'end_whitelist':end_whitelists, 'end_adhesion':end_adhesion(users), 'actif':has_access(users), 'list_droits': list_droits})
+ return render(request, 'users/profil.html', {'user': users, 'interfaces_list' :machines, 'facture_list':factures, 'ban_list':bans, 'white_list':whitelists,'end_ban':end_bans,'end_whitelist':end_whitelists, 'end_adhesion':end_adhesion(users), 'actif':has_access(users), 'list_droits': list_droits})