context_processors.py 1.83 KB
Newer Older
lhark's avatar
lhark committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
# 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.
chirac's avatar
chirac committed
22 23
"""Fonction de context, variables renvoyées à toutes les vues"""

lhark's avatar
lhark committed
24

25
from __future__ import unicode_literals
26
from django.contrib import messages
27

28
from preferences.models import GeneralOption, OptionalMachine
chirac's avatar
chirac committed
29

chirac's avatar
chirac committed
30

chirac's avatar
chirac committed
31
def context_user(request):
chirac's avatar
chirac committed
32 33
    """Fonction de context lorsqu'un user est logué (ou non),
    renvoie les infos sur l'user, la liste de ses droits, ses machines"""
chirac's avatar
chirac committed
34
    user = request.user
35
    global_message = GeneralOption.get_cached_value('general_message')
36 37
    if global_message:
        messages.warning(request, global_message)
chirac's avatar
chirac committed
38
    if user.is_authenticated():
39
        interfaces = user.user_interfaces()
chirac's avatar
chirac committed
40 41
    else:
        interfaces = None
chirac's avatar
chirac committed
42 43
    return {
        'request_user': user,
chirac's avatar
chirac committed
44
        'interfaces': interfaces,
45 46
        'site_name': GeneralOption.get_cached_value('site_name'),
        'ipv6_enabled': OptionalMachine.get_cached_value('ipv6'),
chirac's avatar
chirac committed
47
    }