mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-28 09:53:47 +00:00
Boolean direct pour désactiver un port + logo
This commit is contained in:
parent
b66dcff8be
commit
2a2a2850bd
6 changed files with 58 additions and 31 deletions
|
@ -369,15 +369,15 @@ def decide_vlan_and_register_switch(nas_machine, nas_type, port_number,
|
|||
else:
|
||||
DECISION_VLAN = VLAN_OK
|
||||
|
||||
if not port.state:
|
||||
return (sw_name, port.room, u'Port desactive', VLAN_NOK)
|
||||
|
||||
if port_profil.radius_type == 'NO':
|
||||
return (sw_name,
|
||||
"",
|
||||
u"Pas d'authentification sur ce port" + extra_log,
|
||||
DECISION_VLAN)
|
||||
|
||||
if port_profil.radius_type == 'BLOQ':
|
||||
return (sw_name, port.room, u'Port desactive', VLAN_NOK)
|
||||
|
||||
if port_profil.radius_type == 'STRICT':
|
||||
room = port.room
|
||||
if not room:
|
||||
|
|
|
@ -81,7 +81,7 @@ class EditPortForm(FormRevMixin, ModelForm):
|
|||
lent sans)"""
|
||||
class Meta(PortForm.Meta):
|
||||
fields = ['room', 'related', 'machine_interface', 'custom_profil',
|
||||
'details']
|
||||
'state', 'details']
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
prefix = kwargs.pop('prefix', self.Meta.model.__name__)
|
||||
|
@ -102,6 +102,7 @@ class AddPortForm(FormRevMixin, ModelForm):
|
|||
'machine_interface',
|
||||
'related',
|
||||
'custom_profil',
|
||||
'state',
|
||||
'details'
|
||||
]
|
||||
|
||||
|
|
25
topologie/migrations/0066_auto_20180630_1855.py
Normal file
25
topologie/migrations/0066_auto_20180630_1855.py
Normal file
|
@ -0,0 +1,25 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.7 on 2018-06-30 16:55
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('topologie', '0065_auto_20180630_1703'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='port',
|
||||
name='state',
|
||||
field=models.BooleanField(default=True, help_text='Etat du port Actif', verbose_name='Etat du port Actif'),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='portprofile',
|
||||
name='profil_default',
|
||||
field=models.CharField(blank=True, choices=[('room', 'room'), ('accespoint', 'accesspoint'), ('uplink', 'uplink'), ('asso_machine', 'asso_machine'), ('nothing', 'nothing')], max_length=32, null=True, unique=True, verbose_name='profil default'),
|
||||
),
|
||||
]
|
|
@ -401,7 +401,11 @@ class Port(AclMixin, RevMixin, models.Model):
|
|||
blank=True,
|
||||
null=True
|
||||
)
|
||||
|
||||
state = models.BooleanField(
|
||||
default=True,
|
||||
help_text='Etat du port Actif',
|
||||
verbose_name=_("Etat du port Actif")
|
||||
)
|
||||
details = models.CharField(max_length=255, blank=True)
|
||||
|
||||
class Meta:
|
||||
|
|
|
@ -28,30 +28,26 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
<div class="table-responsive">
|
||||
<table class="table table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='port' text='Port' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='room' text='Room' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='interface' text='Interface machine' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='related' text='Related' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='radius' text='Radius' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='vlan' text='Vlan forcé' %}</th>
|
||||
<th>Détails</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for port in port_list %}
|
||||
<tr>
|
||||
<td>{{ port.port }}</td>
|
||||
<td>
|
||||
{% if port.room %}{{ port.room }}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if port.machine_interface %}
|
||||
{% can_view port.machine_interface.machine.user %}
|
||||
<a href="{% url 'users:profil' userid=port.machine_interface.machine.user.id %}">
|
||||
{{ port.machine_interface }}
|
||||
</a>
|
||||
{% acl_else %}
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='port' text='Port' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='room' text='Room' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='interface' text='Interface machine' %}</th>
|
||||
<th>{% include "buttons/sort.html" with prefix='port' col='related' text='Related' %}</th>
|
||||
<th>Etat du port</th>
|
||||
<th>Profil du port</th>
|
||||
<th>Détails</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
{% for port in port_list %}
|
||||
<tr>
|
||||
<td>{{ port.port }}</td>
|
||||
<td>
|
||||
{% if port.room %}{{ port.room }}{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if port.machine_interface %}
|
||||
{% can_view port.machine_interface.machine.user %}
|
||||
<a href="{% url 'users:profil' userid=port.machine_interface.machine.user.id %}">
|
||||
{{ port.machine_interface }}
|
||||
{% acl_end %}
|
||||
{% endif %}
|
||||
|
@ -70,6 +66,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
{% acl_end %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{% if port.state %} <i class="text-success">Actif</i>{% else %}<i class="text-danger">Désactivé</i>{% endif %}</td>
|
||||
<td>{% if not port.custom_profil %}<u>Par défaut</u> : {% endif %}{{port.get_port_profil}}</td>
|
||||
<td>{{ port.details }}</td>
|
||||
<td class="text-right">
|
||||
|
|
|
@ -34,8 +34,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
|
|||
Switchs
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-port-profile" %}">
|
||||
<i class="fa fa-sliders"></i>
|
||||
Profil des ports switchs
|
||||
<i class="fa fa-cogs"></i>
|
||||
Config des ports switchs
|
||||
</a>
|
||||
<a class="list-group-item list-group-item-info" href="{% url "topologie:index-ap" %}">
|
||||
<i class="fa fa-wifi"></i>
|
||||
|
|
Loading…
Reference in a new issue