mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-22 03:13:12 +00:00
Fix divers sur la creation de port
This commit is contained in:
parent
02240a8fce
commit
3ce73a7a46
3 changed files with 12 additions and 7 deletions
|
@ -80,9 +80,10 @@ class EditPortForm(ModelForm):
|
||||||
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
||||||
super(EditPortForm, self).__init__(*args, prefix=prefix, **kwargs)
|
super(EditPortForm, self).__init__(*args, prefix=prefix, **kwargs)
|
||||||
self.fields['machine_interface'].queryset = Interface.objects.all()\
|
self.fields['machine_interface'].queryset = Interface.objects.all()\
|
||||||
.select_related('domain__extension')
|
.select_related('domain__extension')
|
||||||
self.fields['related'].queryset = Port.objects.all()\
|
self.fields['related'].queryset = Port.objects.all()\
|
||||||
.select_related('switch__domain__extension')\
|
.select_related('switch')\
|
||||||
|
.prefetch_related('switch__interface_set__domain__extension')\
|
||||||
.order_by('switch', 'port')
|
.order_by('switch', 'port')
|
||||||
|
|
||||||
|
|
||||||
|
@ -97,9 +98,10 @@ class AddPortForm(ModelForm):
|
||||||
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
||||||
super(AddPortForm, self).__init__(*args, prefix=prefix, **kwargs)
|
super(AddPortForm, self).__init__(*args, prefix=prefix, **kwargs)
|
||||||
self.fields['machine_interface'].queryset = Interface.objects.all()\
|
self.fields['machine_interface'].queryset = Interface.objects.all()\
|
||||||
.select_related('domain__extension')
|
.select_related('domain__extension')
|
||||||
self.fields['related'].queryset = Port.objects.all()\
|
self.fields['related'].queryset = Port.objects.all()\
|
||||||
.select_related('switch__domain__extension')\
|
.select_related('switch')\
|
||||||
|
.prefetch_related('switch__interface_set__domain__extension')\
|
||||||
.order_by('switch', 'port')
|
.order_by('switch', 'port')
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -263,6 +263,9 @@ class Switch(Machine):
|
||||||
except IntegrityError:
|
except IntegrityError:
|
||||||
ValidationError("Création d'un port existant.")
|
ValidationError("Création d'un port existant.")
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return str(self.interface_set.first())
|
||||||
|
|
||||||
|
|
||||||
class ModelSwitch(models.Model):
|
class ModelSwitch(models.Model):
|
||||||
"""Un modèle (au sens constructeur) de switch"""
|
"""Un modèle (au sens constructeur) de switch"""
|
||||||
|
@ -416,11 +419,11 @@ class Port(models.Model):
|
||||||
|
|
||||||
def get_instance(port_id, *args, **kwargs):
|
def get_instance(port_id, *args, **kwargs):
|
||||||
return Port.objects\
|
return Port.objects\
|
||||||
.select_related('switch__domain__extension')\
|
|
||||||
.select_related('machine_interface__domain__extension')\
|
.select_related('machine_interface__domain__extension')\
|
||||||
.select_related('machine_interface__switch')\
|
.select_related('machine_interface__machine__switch')\
|
||||||
.select_related('room')\
|
.select_related('room')\
|
||||||
.select_related('related')\
|
.select_related('related')\
|
||||||
|
.prefetch_related('switch__interface_set__domain__extension')\
|
||||||
.get(pk=port_id)
|
.get(pk=port_id)
|
||||||
|
|
||||||
def can_create(user_request, *args, **kwargs):
|
def can_create(user_request, *args, **kwargs):
|
||||||
|
|
|
@ -46,7 +46,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<a title="Configuer" href="{% url 'topologie:index-port' switch.pk %}">
|
<a title="Configuer" href="{% url 'topologie:index-port' switch.pk %}">
|
||||||
{{switch.interface_set.first}}
|
{{switch}}
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td>{{switch.interface_set.first.ipv4}}</td>
|
<td>{{switch.interface_set.first.ipv4}}</td>
|
||||||
|
|
Loading…
Reference in a new issue