mirror of https://gitlab.federez.net/re2o/re2o
16 changed files with 545 additions and 5 deletions
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2019-01-02 23:45 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('machines', '0097_extension_dnssec'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='role', |
|||
name='specific_role', |
|||
field=models.CharField(blank=True, choices=[('dhcp-server', 'DHCP server'), ('switch-conf-server', 'Switches configuration server'), ('dns-recursif-server', 'Recursive DNS server'), ('dns-recursive-server', 'Recursive DNS server'), ('ntp-server', 'NTP server'), ('radius-server', 'RADIUS server'), ('log-server', 'Log server'), ('ldap-master-server', 'LDAP master server'), ('ldap-backup-server', 'LDAP backup server'), ('smtp-server', 'SMTP server'), ('postgresql-server', 'postgreSQL server'), ('mysql-server', 'mySQL server'), ('sql-client', 'SQL client'), ('gateway', 'Gateway')], max_length=32, null=True), |
|||
), |
|||
] |
|||
@ -0,0 +1,26 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2019-01-02 23:45 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
def migrate(apps, schema_editor): |
|||
Role = apps.get_model('machines', 'Role') |
|||
|
|||
for role in Role.objects.filter(specific_role='dns-recursif-server'): |
|||
role.specific_role = 'dns-recursive-server' |
|||
role.save() |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('machines', '0098_auto_20190102_1745'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.RunPython(migrate), |
|||
] |
|||
|
|||
|
|||
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2019-01-02 23:53 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('machines', '0099_role_recursive_dns'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='role', |
|||
name='specific_role', |
|||
field=models.CharField(blank=True, choices=[('dhcp-server', 'DHCP server'), ('switch-conf-server', 'Switches configuration server'), ('dns-recursive-server', 'Recursive DNS server'), ('ntp-server', 'NTP server'), ('radius-server', 'RADIUS server'), ('log-server', 'Log server'), ('ldap-master-server', 'LDAP master server'), ('ldap-backup-server', 'LDAP backup server'), ('smtp-server', 'SMTP server'), ('postgresql-server', 'postgreSQL server'), ('mysql-server', 'mySQL server'), ('sql-client', 'SQL client'), ('gateway', 'Gateway')], max_length=32, null=True), |
|||
), |
|||
] |
|||
@ -0,0 +1,66 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2018-12-30 17:19 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
import django.db.models.deletion |
|||
import re2o.mixins |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('topologie', '0066_modelswitch_commercial_name'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.CreateModel( |
|||
name='ModuleOnSwitch', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('slot', models.CharField(help_text='Slot on switch', max_length=15, verbose_name='Slot')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'link between switchs and modules', |
|||
'permissions': (('view_moduleonswitch', 'Can view a moduleonswitch object'),), |
|||
}, |
|||
bases=(re2o.mixins.AclMixin, re2o.mixins.RevMixin, models.Model), |
|||
), |
|||
migrations.CreateModel( |
|||
name='ModuleSwitch', |
|||
fields=[ |
|||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
|||
('reference', models.CharField(help_text='Reference of a module', max_length=255, verbose_name='Module reference')), |
|||
('comment', models.CharField(blank=True, help_text='Comment', max_length=255, null=True, verbose_name='Comment')), |
|||
], |
|||
options={ |
|||
'verbose_name': 'Module of a switch', |
|||
'permissions': (('view_moduleswitch', 'Can view a module object'),), |
|||
}, |
|||
bases=(re2o.mixins.AclMixin, re2o.mixins.RevMixin, models.Model), |
|||
), |
|||
migrations.AddField( |
|||
model_name='modelswitch', |
|||
name='is_itself_module', |
|||
field=models.BooleanField(default=False, help_text='Does the switch, itself, considered as a module'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='modelswitch', |
|||
name='is_modular', |
|||
field=models.BooleanField(default=False, help_text='Is this switch model modular'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='moduleonswitch', |
|||
name='module', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='topologie.ModuleSwitch'), |
|||
), |
|||
migrations.AddField( |
|||
model_name='moduleonswitch', |
|||
name='switch', |
|||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='topologie.Switch'), |
|||
), |
|||
migrations.AlterUniqueTogether( |
|||
name='moduleonswitch', |
|||
unique_together=set([('slot', 'switch')]), |
|||
), |
|||
] |
|||
@ -0,0 +1,20 @@ |
|||
# -*- coding: utf-8 -*- |
|||
# Generated by Django 1.10.7 on 2019-01-02 23:58 |
|||
from __future__ import unicode_literals |
|||
|
|||
from django.db import migrations, models |
|||
|
|||
|
|||
class Migration(migrations.Migration): |
|||
|
|||
dependencies = [ |
|||
('topologie', '0067_auto_20181230_1819'), |
|||
] |
|||
|
|||
operations = [ |
|||
migrations.AlterField( |
|||
model_name='modelswitch', |
|||
name='is_itself_module', |
|||
field=models.BooleanField(default=False, help_text='Is the switch, itself, considered as a module'), |
|||
), |
|||
] |
|||
@ -0,0 +1,110 @@ |
|||
{% comment %} |
|||
Re2o est un logiciel d'administration développé initiallement au rezometz. Il |
|||
se veut agnostique au réseau considéré, de manière à être installable en |
|||
quelques clics. |
|||
|
|||
Copyright © 2017 Gabriel Détraz |
|||
Copyright © 2017 Goulven Kermarec |
|||
Copyright © 2017 Augustin Lemesle |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License along |
|||
with this program; if not, write to the Free Software Foundation, Inc., |
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
{% endcomment %} |
|||
|
|||
{% load acl %} |
|||
{% load logs_extra %} |
|||
{% load i18n %} |
|||
|
|||
{% if module_list.paginator %} |
|||
{% include "pagination.html" with list=module_list %} |
|||
{% endif %} |
|||
|
|||
<table class="table table-striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{% trans "Reference" %}</th> |
|||
<th>{% trans "Comment" %}</th> |
|||
<th>{% trans "Switchs" %}</th> |
|||
<th></th> |
|||
</tr> |
|||
</thead> |
|||
{% for module in module_list %} |
|||
<tr> |
|||
<td>{{ module.reference }}</td> |
|||
<td>{{ module.comment }}</td> |
|||
<td> |
|||
{% for module_switch in module.moduleonswitch_set.all %} |
|||
<b>Slot</b> {{ module_switch.slot }} <b>of</b> {{ module_switch.switch }} |
|||
{% can_edit module_switch %} |
|||
<a class="btn btn-primary btn-xs" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-module-on' module_switch.id %}"> |
|||
<i class="fa fa-edit"></i> |
|||
</a> |
|||
{% acl_end %} |
|||
{% can_delete module_switch %} |
|||
<a class="btn btn-danger btn-xs" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-module-on' module_switch.id %}"> |
|||
<i class="fa fa-trash"></i> |
|||
</a> |
|||
{% acl_end %} |
|||
<br> |
|||
{% endfor %} |
|||
</td> |
|||
<td class="text-right"> |
|||
{% can_edit module %} |
|||
<a class="btn btn-primary btn-sm" role="button" title={% trans "Add" %} href="{% url 'topologie:add-module-on' %}"> |
|||
<i class="fa fa-plus"></i> |
|||
</a> |
|||
<a class="btn btn-primary btn-sm" role="button" title={% trans "Edit" %} href="{% url 'topologie:edit-module' module.id %}"> |
|||
<i class="fa fa-edit"></i> |
|||
</a> |
|||
{% acl_end %} |
|||
{% history_button module %} |
|||
{% can_delete module %} |
|||
<a class="btn btn-danger btn-sm" role="button" title={% trans "Delete" %} href="{% url 'topologie:del-module' module.id %}"> |
|||
<i class="fa fa-trash"></i> |
|||
</a> |
|||
{% acl_end %} |
|||
</td> |
|||
</tr> |
|||
{% endfor %} |
|||
</table> |
|||
|
|||
{% if module_list.paginator %} |
|||
{% include "pagination.html" with list=module_list %} |
|||
{% endif %} |
|||
|
|||
<h4>{% trans "All modular switchs" %}</h4> |
|||
|
|||
<table class="table table-striped"> |
|||
<thead> |
|||
<th>{% trans "Switch" %}</th> |
|||
<th>{% trans "Reference" %}</th> |
|||
<th>{% trans "Slot" %}</th> |
|||
<tbody> |
|||
{% for switch in modular_switchs %} |
|||
{% if switch.list_modules %} |
|||
<tr class="info"> |
|||
<td colspan="4"> |
|||
{{ switch }} |
|||
</td> |
|||
</tr> |
|||
{% for module in switch.list_modules %} |
|||
<tr> |
|||
<td></td> |
|||
<td>{{ module.1 }}</td> |
|||
<td>{{ module.0 }}</td> |
|||
</tr> |
|||
{% endfor %} |
|||
{% endif %} |
|||
{% endfor %} |
|||
</table> |
|||
@ -0,0 +1,43 @@ |
|||
{% extends "topologie/sidebar.html" %} |
|||
{% comment %} |
|||
Re2o est un logiciel d'administration développé initiallement au rezometz. Il |
|||
se veut agnostique au réseau considéré, de manière à être installable en |
|||
quelques clics. |
|||
|
|||
Copyright © 2017 Gabriel Détraz |
|||
Copyright © 2017 Goulven Kermarec |
|||
Copyright © 2017 Augustin Lemesle |
|||
|
|||
This program is free software; you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation; either version 2 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
This program is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License along |
|||
with this program; if not, write to the Free Software Foundation, Inc., |
|||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
|||
{% endcomment %} |
|||
|
|||
{% load bootstrap3 %} |
|||
{% load acl %} |
|||
{% load i18n %} |
|||
|
|||
{% block title %}{% trans "Topology" %}{% endblock %} |
|||
|
|||
{% block content %} |
|||
<h2>{% trans "Modules of switchs" %}</h2> |
|||
{% can_create ModuleSwitch %} |
|||
<a class="btn btn-primary btn-sm" role="button" href="{% url 'topologie:add-module' %}"><i class="fa fa-plus"></i>{% trans " Add a module" %}</a> |
|||
<hr> |
|||
{% acl_end %} |
|||
{% include "topologie/aff_modules.html" with module_list=module_list modular_switchs=modular_switchs %} |
|||
<br /> |
|||
<br /> |
|||
<br /> |
|||
{% endblock %} |
|||
|
|||
Loading…
Reference in new issue