Browse Source

Supprime les machines orphelines

infra2.0
Gabriel Detraz 9 years ago
committed by root
parent
commit
e1844a5ab6
  1. 4
      machines/models.py
  2. 3
      machines/views.py
  3. 19
      topologie/migrations/0022_auto_20161211_1622.py
  4. 29
      users/migrations/0042_auto_20161126_2028.py

4
machines/models.py

@ -137,5 +137,7 @@ def interface_post_save(sender, **kwargs):
@receiver(post_delete, sender=Interface)
def interface_post_delete(sender, **kwargs):
user = kwargs['instance'].machine.user
interface = kwargs['instance']
user = interface.machine.user
user.ldap_sync(base=False, access_refresh=False, mac_refresh=True)

3
machines/views.py

@ -217,8 +217,11 @@ def del_interface(request, interfaceid):
messages.error(request, "Vous ne pouvez pas éditer une machine d'un autre user que vous sans droit")
return redirect("/users/profil/" + str(request.user.id))
if request.method == "POST":
machine = interface.machine
with transaction.atomic(), reversion.create_revision():
interface.delete()
if not machine.interface_set.all():
machine.delete()
reversion.set_user(request.user)
messages.success(request, "L'interface a été détruite")
return redirect("/users/profil/" + str(request.user.id))

19
topologie/migrations/0022_auto_20161211_1622.py

@ -0,0 +1,19 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('topologie', '0021_port_radius'),
]
operations = [
migrations.AlterField(
model_name='port',
name='radius',
field=models.CharField(max_length=32, default='NO', choices=[('NO', 'NO'), ('STRICT', 'STRICT'), ('BLOQ', 'BLOQ'), ('COMMON', 'COMMON'), ('7', '7'), ('8', '8'), ('42', '42'), ('69', '69')]),
),
]

29
users/migrations/0042_auto_20161126_2028.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0041_listright_details'),
]
operations = [
migrations.AlterField(
model_name='ldapserviceuser',
name='dn',
field=models.CharField(serialize=False, primary_key=True, max_length=200),
),
migrations.AlterField(
model_name='ldapuser',
name='dn',
field=models.CharField(serialize=False, primary_key=True, max_length=200),
),
migrations.AlterField(
model_name='ldapusergroup',
name='dn',
field=models.CharField(serialize=False, primary_key=True, max_length=200),
),
]
Loading…
Cancel
Save