Browse Source

Gestion des switchs à provisioner automatiquement

reminder-serializer
Gabriel Detraz 8 years ago
committed by grizzly
parent
commit
eded66beb0
  1. 18
      preferences/forms.py
  2. 1
      preferences/models.py
  3. 20
      topologie/migrations/0064_switch_automatic_provision.py
  4. 4
      topologie/models.py

18
preferences/forms.py

@ -45,7 +45,6 @@ from .models import (
)
from topologie.models import Switch
class EditOptionalUserForm(ModelForm):
"""Formulaire d'édition des options de l'user. (solde, telephone..)"""
class Meta:
@ -96,7 +95,14 @@ class EditOptionalMachineForm(ModelForm):
class EditOptionalTopologieForm(ModelForm):
"""Options de topologie, formulaire d'edition (vlan par default etc)"""
"""Options de topologie, formulaire d'edition (vlan par default etc)
On rajoute un champ automatic provision switchs pour gérer facilement
l'ajout de switchs au provisionning automatique"""
automatic_provision_switchs = forms.ModelMultipleChoiceField(
Switch.objects.all(),
required=False
)
class Meta:
model = OptionalTopologie
fields = '__all__'
@ -114,6 +120,14 @@ class EditOptionalTopologieForm(ModelForm):
self.fields['vlan_decision_nok'].label = _("VLAN for machines rejected"
" by RADIUS")
self.initial['automatic_provision_switchs'] = Switch.objects.filter(automatic_provision=True)
def save(self, commit=True):
instance = super().save(commit)
Switch.objects.all().update(automatic_provision=False)
self.cleaned_data['automatic_provision_switchs'].update(automatic_provision=True)
return instance
class EditGeneralOptionForm(ModelForm):
"""Options générales (affichages de résultats de recherche, etc)"""

1
preferences/models.py

@ -34,6 +34,7 @@ from django.forms import ValidationError
from django.utils.translation import ugettext_lazy as _
import machines.models
from re2o.mixins import AclMixin
from re2o.aes_field import AESEncryptedField
from datetime import timedelta

20
topologie/migrations/0064_switch_automatic_provision.py

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2018-09-20 16:28
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('topologie', '0063_auto_20180919_2225'),
]
operations = [
migrations.AddField(
model_name='switch',
name='automatic_provision',
field=models.BooleanField(default=False, help_text='Provision automatique de ce switch'),
),
]

4
topologie/models.py

@ -247,6 +247,10 @@ class Switch(AclMixin, Machine):
on_delete=models.PROTECT,
help_text="Identifiant de management de ce switch"
)
automatic_provision = models.BooleanField(
default=False,
help_text='Provision automatique de ce switch',
)
class Meta:
unique_together = ('stack', 'stack_member_id')

Loading…
Cancel
Save