mirror of https://gitlab.federez.net/re2o/re2o
committed by
Gabriel Detraz
12 changed files with 235 additions and 8 deletions
@ -0,0 +1,27 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.29 on 2020-09-04 12:50 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
initial = True |
||||
|
|
||||
|
dependencies = [ |
||||
|
('topologie', '0074_auto_20200419_1640'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.CreateModel( |
||||
|
name='Preferences', |
||||
|
fields=[ |
||||
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), |
||||
|
('enabled_dorm', models.ManyToManyField(blank=True, related_name='vlan_tagged', to='topologie.Dormitory', verbose_name='enabled dorm')), |
||||
|
], |
||||
|
options={ |
||||
|
'verbose_name': 'dormitories preferences', |
||||
|
}, |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,19 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.29 on 2020-09-04 17:05 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('multi_op', '0001_initial'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.RenameModel( |
||||
|
old_name='Preferences', |
||||
|
new_name='MultiopOption', |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,20 @@ |
|||||
|
# -*- coding: utf-8 -*- |
||||
|
# Generated by Django 1.11.29 on 2020-09-04 17:38 |
||||
|
from __future__ import unicode_literals |
||||
|
|
||||
|
from django.db import migrations, models |
||||
|
|
||||
|
|
||||
|
class Migration(migrations.Migration): |
||||
|
|
||||
|
dependencies = [ |
||||
|
('multi_op', '0002_auto_20200904_1905'), |
||||
|
] |
||||
|
|
||||
|
operations = [ |
||||
|
migrations.AlterField( |
||||
|
model_name='multiopoption', |
||||
|
name='enabled_dorm', |
||||
|
field=models.ManyToManyField(blank=True, related_name='enabled_dorm_multiop', to='topologie.Dormitory', verbose_name='enabled dorm'), |
||||
|
), |
||||
|
] |
||||
@ -0,0 +1,45 @@ |
|||||
|
# -*- mode: python; coding: utf-8 -*- |
||||
|
# 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 © 2019 Arthur Grisel-Davy |
||||
|
# Copyright © 2020 Gabriel Détraz |
||||
|
# |
||||
|
# 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. |
||||
|
""" |
||||
|
Multi_op model |
||||
|
""" |
||||
|
|
||||
|
from __future__ import absolute_import |
||||
|
|
||||
|
from django.db import models |
||||
|
from django.utils.translation import ugettext_lazy as _ |
||||
|
from django.template import loader |
||||
|
from django.db.models.signals import post_save |
||||
|
from django.dispatch import receiver |
||||
|
from django.utils.functional import cached_property |
||||
|
|
||||
|
from reversion.models import Version |
||||
|
|
||||
|
from re2o.mixins import AclMixin |
||||
|
from re2o.mail_utils import send_mail_object |
||||
|
from django.core.mail import EmailMessage |
||||
|
|
||||
|
from preferences.models import GeneralOption |
||||
|
|
||||
|
import users.models |
||||
|
|
||||
|
from .preferences.models import MultiopOption |
||||
@ -0,0 +1,24 @@ |
|||||
|
# -*- mode: python; coding: utf-8 -*- |
||||
|
# 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 © 2020 Gabriel Détraz |
||||
|
# Copyright © 2019 Arthur Grisel-Davy |
||||
|
# |
||||
|
# 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. |
||||
|
"""multi_op |
||||
|
The app in charge of managing the operator of the dormitories |
||||
|
""" |
||||
@ -0,0 +1,58 @@ |
|||||
|
# -*- mode: python; coding: utf-8 -*- |
||||
|
# 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 © 2020 Gabriel Détraz |
||||
|
# Copyright © 2019 Arthur Grisel-Davy |
||||
|
# |
||||
|
# 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. |
||||
|
|
||||
|
# App de gestion des users pour re2o |
||||
|
# Lara Kermarec, Gabriel Détraz, Lemesle Augustin |
||||
|
# Gplv2 |
||||
|
|
||||
|
from django.contrib import messages |
||||
|
from django.contrib.auth.decorators import login_required |
||||
|
from django.shortcuts import render, redirect |
||||
|
from django.template.loader import render_to_string |
||||
|
from django.utils.translation import ugettext as _ |
||||
|
from django.urls import reverse |
||||
|
|
||||
|
from re2o.base import re2o_paginator |
||||
|
|
||||
|
from re2o.acl import can_view, can_view_all, can_edit, can_create |
||||
|
|
||||
|
from preferences.views import edit_options_template_function |
||||
|
|
||||
|
from . import forms |
||||
|
from . import models |
||||
|
|
||||
|
|
||||
|
|
||||
|
def aff_preferences(request): |
||||
|
"""View used to display the settings of multi_op in the preferences page.""" |
||||
|
pref, created = models.MultiopOption.objects.get_or_create() |
||||
|
context = { |
||||
|
"preferences": pref, |
||||
|
} |
||||
|
return render_to_string( |
||||
|
"multi_op/preferences.html", context=context, request=request, using=None |
||||
|
) |
||||
|
|
||||
|
|
||||
|
@login_required |
||||
|
def edit_options(request, section): |
||||
|
return edit_options_template_function(request, section, forms, models) |
||||
@ -0,0 +1,27 @@ |
|||||
|
{% load design %} |
||||
|
{% load i18n %} |
||||
|
|
||||
|
<div class="panel panel-default" id="multiop"> |
||||
|
<div class="panel-heading" data-toggle="collapse" href="#collapse_multiop"> |
||||
|
<h4 class="panel-title"> |
||||
|
<a><i class="fa fa-plug"></i> {% trans "Multi Op" %}</a> |
||||
|
</h4> |
||||
|
</div> |
||||
|
|
||||
|
<div id="collapse_multiop" class="panel-collapse panel-body collapse"> |
||||
|
<a class="btn btn-primary btn-sm" role="button" href="{% url 'multi_op:edit-options' 'MultiopOption' %}"> |
||||
|
<i class="fa fa-edit"></i> |
||||
|
{% trans "Edit" %} |
||||
|
</a> |
||||
|
<p></p> |
||||
|
|
||||
|
<div class="table-responsive"> |
||||
|
<table class="table"> |
||||
|
<tr> |
||||
|
<th><p>{% trans "Enabled Dorm" %}</p></th> |
||||
|
<td><p>{{ preferences.enabled_dorm.all|join:", " }}</p></td> |
||||
|
</tr> |
||||
|
</table> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
Loading…
Reference in new issue