8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-11-24 20:33:11 +00:00

Switch schools management page to user admin site

This commit is contained in:
Alexandre Iooss 2019-02-16 09:54:27 +01:00 committed by Alexandre IOOSS
parent eca74aae6b
commit e38a661680
5 changed files with 4 additions and 114 deletions

View file

@ -32,6 +32,8 @@ from django.contrib.auth.models import Group
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from reversion.admin import VersionAdmin
from re2o.admin import user_admin_site
from .models import (
User,
EMailAddress,
@ -216,6 +218,7 @@ admin.site.register(LdapUserGroup, LdapUserGroupAdmin)
admin.site.register(LdapServiceUser, LdapServiceUserAdmin)
admin.site.register(LdapServiceUserGroup, LdapServiceUserGroupAdmin)
admin.site.register(School, SchoolAdmin)
user_admin_site.register(School, SchoolAdmin)
admin.site.register(ListRight, ListRightAdmin)
admin.site.register(ListShell, ListShellAdmin)
admin.site.register(Ban, BanAdmin)

View file

@ -1,45 +0,0 @@
{% extends 'users/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 "Users" %}{% endblock %}
{% block content %}
<h2>{% trans "List of schools" %}</h2>
<h5>{% trans "List of schools for created users" %}</h5>
{% can_create School %}
<a class="btn btn-primary btn-sm" role="button" href="{% url 'users:add-school' %}"><i class="fa fa-plus"></i>{% trans " Add a school" %}</a>
{% acl_end %}
<a class="btn btn-danger btn-sm" role="button" href="{% url 'users:del-school' %}"><i class="fa fa-trash"></i>{% trans " Delete one or several schools" %}</a>
<hr>
{% include 'users/aff_schools.html' with school_list=school_list %}
<br />
<br />
<br />
{% endblock %}

View file

@ -65,7 +65,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
</a>
{% acl_end %}
{% can_view_all School %}
<a class="list-group-item list-group-item-info" href="{% url 'users:index-school' %}">
<a class="list-group-item list-group-item-info" href="{% url 'user_admin:users_school_changelist' %}">
<i class="fa fa-list-ul"></i>
{% trans "Schools" %}
</a>

View file

@ -77,11 +77,6 @@ urlpatterns = [
url(r'^edit_email_settings/(?P<userid>[0-9]+)$',
views.edit_email_settings,
name='edit-email-settings'),
url(r'^add_school/$', views.add_school, name='add-school'),
url(r'^edit_school/(?P<schoolid>[0-9]+)$',
views.edit_school,
name='edit-school'),
url(r'^del_school/$', views.del_school, name='del-school'),
url(r'^add_listright/$', views.add_listright, name='add-listright'),
url(r'^edit_listright/(?P<listrightid>[0-9]+)$',
views.edit_listright,
@ -97,7 +92,6 @@ urlpatterns = [
url(r'^profil/(?P<userid>[0-9]+)$', views.profil, name='profil'),
url(r'^index_ban/$', views.index_ban, name='index-ban'),
url(r'^index_white/$', views.index_white, name='index-white'),
url(r'^index_school/$', views.index_school, name='index-school'),
url(r'^index_shell/$', views.index_shell, name='index-shell'),
url(r'^index_listright/$', views.index_listright, name='index-listright'),
url(r'^index_serviceusers/$',

View file

@ -597,68 +597,6 @@ def edit_email_settings(request, user_instance, **_kwargs):
)
@login_required
@can_create(School)
def add_school(request):
""" Ajouter un établissement d'enseignement à la base de donnée,
need cableur"""
school = SchoolForm(request.POST or None)
if school.is_valid():
school.save()
messages.success(request, _("The school was added."))
return redirect(reverse('users:index-school'))
return form(
{'userform': school, 'action_name': _("Add a school")},
'users/user.html',
request
)
@login_required
@can_edit(School)
def edit_school(request, school_instance, **_kwargs):
""" Editer un établissement d'enseignement à partir du schoolid dans
la base de donnée, need cableur"""
school = SchoolForm(request.POST or None, instance=school_instance)
if school.is_valid():
if school.changed_data:
school.save()
messages.success(request, _("The school was edited."))
return redirect(reverse('users:index-school'))
return form(
{'userform': school, 'action_name': _("Edit a school")},
'users/user.html',
request
)
@login_required
@can_delete_set(School)
def del_school(request, instances):
""" Supprimer un établissement d'enseignement à la base de donnée,
need cableur
Objet protégé, possible seulement si aucun user n'est affecté à
l'établissement """
school = DelSchoolForm(request.POST or None, instances=instances)
if school.is_valid():
school_dels = school.cleaned_data['schools']
for school_del in school_dels:
try:
school_del.delete()
messages.success(request, _("The school was deleted."))
except ProtectedError:
messages.error(
request,
_("The school %s is assigned to at least one user,"
" impossible to delete it.") % school_del)
return redirect(reverse('users:index-school'))
return form(
{'userform': school, 'action_name': _("Delete")},
'users/user.html',
request
)
@login_required
@can_create(ListShell)
def add_shell(request):