mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-25 22:22:26 +00:00
Gestion des switchs à provisioner automatiquement
This commit is contained in:
parent
b44021a98b
commit
eded66beb0
4 changed files with 41 additions and 2 deletions
|
@ -45,7 +45,6 @@ from .models import (
|
||||||
)
|
)
|
||||||
from topologie.models import Switch
|
from topologie.models import Switch
|
||||||
|
|
||||||
|
|
||||||
class EditOptionalUserForm(ModelForm):
|
class EditOptionalUserForm(ModelForm):
|
||||||
"""Formulaire d'édition des options de l'user. (solde, telephone..)"""
|
"""Formulaire d'édition des options de l'user. (solde, telephone..)"""
|
||||||
class Meta:
|
class Meta:
|
||||||
|
@ -96,7 +95,14 @@ class EditOptionalMachineForm(ModelForm):
|
||||||
|
|
||||||
|
|
||||||
class EditOptionalTopologieForm(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:
|
class Meta:
|
||||||
model = OptionalTopologie
|
model = OptionalTopologie
|
||||||
fields = '__all__'
|
fields = '__all__'
|
||||||
|
@ -114,6 +120,14 @@ class EditOptionalTopologieForm(ModelForm):
|
||||||
self.fields['vlan_decision_nok'].label = _("VLAN for machines rejected"
|
self.fields['vlan_decision_nok'].label = _("VLAN for machines rejected"
|
||||||
" by RADIUS")
|
" 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):
|
class EditGeneralOptionForm(ModelForm):
|
||||||
"""Options générales (affichages de résultats de recherche, etc)"""
|
"""Options générales (affichages de résultats de recherche, etc)"""
|
||||||
|
|
|
@ -34,6 +34,7 @@ from django.forms import ValidationError
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
import machines.models
|
import machines.models
|
||||||
|
|
||||||
from re2o.mixins import AclMixin
|
from re2o.mixins import AclMixin
|
||||||
from re2o.aes_field import AESEncryptedField
|
from re2o.aes_field import AESEncryptedField
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
20
topologie/migrations/0064_switch_automatic_provision.py
Normal file
20
topologie/migrations/0064_switch_automatic_provision.py
Normal file
|
@ -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'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -247,6 +247,10 @@ class Switch(AclMixin, Machine):
|
||||||
on_delete=models.PROTECT,
|
on_delete=models.PROTECT,
|
||||||
help_text="Identifiant de management de ce switch"
|
help_text="Identifiant de management de ce switch"
|
||||||
)
|
)
|
||||||
|
automatic_provision = models.BooleanField(
|
||||||
|
default=False,
|
||||||
|
help_text='Provision automatique de ce switch',
|
||||||
|
)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
unique_together = ('stack', 'stack_member_id')
|
unique_together = ('stack', 'stack_member_id')
|
||||||
|
|
Loading…
Reference in a new issue