8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-25 22:22:26 +00:00

détection de la modification des objects du graph

This commit is contained in:
grisel-davy 2018-05-01 12:09:59 +02:00
parent 4f4d10b799
commit f7a74d3576
2 changed files with 37 additions and 7 deletions

View file

@ -40,7 +40,7 @@ from __future__ import unicode_literals
import itertools import itertools
from django.db import models from django.db import models
from django.db.models.signals import post_save, post_delete from django.db.models.signals import pre_save, post_save, post_delete
from django.utils.functional import cached_property from django.utils.functional import cached_property
from django.dispatch import receiver from django.dispatch import receiver
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
@ -51,6 +51,9 @@ from reversion import revisions as reversion
from machines.models import Machine, regen from machines.models import Machine, regen
from re2o.mixins import AclMixin, RevMixin from re2o.mixins import AclMixin, RevMixin
from os.path import isfile
from os import remove
@ -106,6 +109,12 @@ class AccessPoint(AclMixin, Machine):
("view_accesspoint", "Peut voir une borne"), ("view_accesspoint", "Peut voir une borne"),
) )
def port(self):
"""Return the queryset of ports for this device"""
return Port.objects.filter(
machine_interface__machine=self
)
def switch(self): def switch(self):
"""Return the switch where this is plugged""" """Return the switch where this is plugged"""
return Switch.objects.filter( return Switch.objects.filter(
@ -137,6 +146,12 @@ class Server(Machine):
class Meta: class Meta:
proxy = True proxy = True
def port(self):
"""Return the queryset of ports for this device"""
return Port.objects.filter(
machine_interface__machine=self
)
def switch(self): def switch(self):
"""Return the switch where this is plugged""" """Return the switch where this is plugged"""
return Switch.objects.filter( return Switch.objects.filter(
@ -489,3 +504,14 @@ def ap_post_delete(**_kwargs):
def stack_post_delete(**_kwargs): def stack_post_delete(**_kwargs):
"""Vide les id des switches membres d'une stack supprimée""" """Vide les id des switches membres d'une stack supprimée"""
Switch.objects.filter(stack=None).update(stack_member_id=None) Switch.objects.filter(stack=None).update(stack_member_id=None)
#@receiver(post_save, sender=Port)
#@receiver(post_save, sender=AccessPoint)
#@receiver(post_save, sender=ModelSwitch)
#@receiver(post_save, sender=Building)
#@receiver(post_save, sender=Building)
#@receiver(post_save, sender=Server)
@receiver(pre_save, sender=Switch)
def delete_graph(**_kwargs):
if isfile("media/images/switchs.png"):
remove("media/images/switchs.png")

View file

@ -12,8 +12,9 @@ fontsize=15;
label="Batiment {{ sub.bat_name }}"; label="Batiment {{ sub.bat_name }}";
{% if sub.bornes %} {% if sub.bornes %}
{% block bornes %}
node [label=< node [label=<
<TABLE BGCOLOR="{{ colors.back}}" BORDER="1" COLOR="#021f87" CELLBORDER="0" CELLSPACING="0"> <TABLE BGCOLOR="{{ colors.back}}" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR> <TR>
<TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_bornes }}"> <TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_bornes }}">
<FONT FACE="Helvetica Bold" COLOR="white">Borne</FONT></TD> <FONT FACE="Helvetica Bold" COLOR="white">Borne</FONT></TD>
@ -22,8 +23,6 @@ node [label=<
<TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_bornes }}"> <TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_bornes }}">
<FONT FACE="Helvetica Bold" COLOR="white">Port</FONT></TD> <FONT FACE="Helvetica Bold" COLOR="white">Port</FONT></TD>
</TR> </TR>
{% block bornes %}
{% for borne in sub.bornes %} {% for borne in sub.bornes %}
<TR> <TR>
<TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BORDER="0"> <TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BORDER="0">
@ -37,9 +36,15 @@ node [label=<
</TD> </TD>
</TR> </TR>
{% endfor %} {% endfor %}
</TABLE>
>] {{sub.bat_name}}bornes;
{% endblock %} {% endblock %}
{% endif %}
{% if sub.machines %} {% if sub.machines %}
{% block machines %}
node [label=<
<TABLE BGCOLOR="{{ colors.back}}" BORDER="0" CELLBORDER="0" CELLSPACING="0">
<TR> <TR>
<TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_server }}"> <TD COLSPAN="2" CELLPADDING="4" ALIGN="CENTER" BGCOLOR="{{ colors.head_server }}">
<FONT FACE="Helvetica Bold" COLOR="white">Machine</FONT></TD> <FONT FACE="Helvetica Bold" COLOR="white">Machine</FONT></TD>
@ -62,10 +67,9 @@ node [label=<
</TD> </TD>
</TR> </TR>
{% endfor %} {% endfor %}
{% endif %}
</TABLE> </TABLE>
>] {{sub.bat_name}}bornes; >] {{sub.bat_name}}machines;
{% endblock %}
{% endif %} {% endif %}