Browse Source

Allows to display a French or English general message based on user's language choice.

fix_translation
Maxime Bombar 7 years ago
parent
commit
cd13c5240a
  1. 29
      preferences/migrations/0048_auto_20180811_1515.py
  2. 9
      preferences/models.py
  3. 6
      re2o/context_processors.py

29
preferences/migrations/0048_auto_20180811_1515.py

@ -0,0 +1,29 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.10.7 on 2018-08-11 13:15
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('preferences', '0047_mailcontact'),
]
operations = [
migrations.RemoveField(
model_name='generaloption',
name='general_message',
),
migrations.AddField(
model_name='generaloption',
name='general_message_en',
field=models.TextField(blank=True, default='', help_text='General message displayed on the English version of the website.'),
),
migrations.AddField(
model_name='generaloption',
name='general_message_fr',
field=models.TextField(blank=True, default='', help_text='Message général affiché sur le site (maintenance, etc)'),
),
]

9
preferences/models.py

@ -217,10 +217,15 @@ class GeneralOption(AclMixin, PreferencesModel):
temps les liens sont valides""" temps les liens sont valides"""
PRETTY_NAME = "Options générales" PRETTY_NAME = "Options générales"
general_message = models.TextField( general_message_fr = models.TextField(
default="", default="",
blank=True, blank=True,
help_text="Message général affiché sur le site (maintenance, etc" help_text="Message général affiché sur le site (maintenance, etc)"
)
general_message_en = models.TextField(
default="",
blank=True,
help_text="General message displayed on the English version of the website."
) )
search_display_page = models.IntegerField(default=15) search_display_page = models.IntegerField(default=15)
pagination_number = models.IntegerField(default=25) pagination_number = models.IntegerField(default=25)

6
re2o/context_processors.py

@ -28,13 +28,17 @@ import datetime
from django.contrib import messages from django.contrib import messages
from preferences.models import GeneralOption, OptionalMachine from preferences.models import GeneralOption, OptionalMachine
from django.utils.translation import get_language
def context_user(request): def context_user(request):
"""Fonction de context lorsqu'un user est logué (ou non), """Fonction de context lorsqu'un user est logué (ou non),
renvoie les infos sur l'user, la liste de ses droits, ses machines""" renvoie les infos sur l'user, la liste de ses droits, ses machines"""
user = request.user user = request.user
global_message = GeneralOption.get_cached_value('general_message') if get_language()=='fr':
global_message = GeneralOption.get_cached_value('general_message_fr')
else:
global_message = GeneralOption.get_cached_value('general_message_en')
if global_message: if global_message:
messages.warning(request, global_message) messages.warning(request, global_message)
if user.is_authenticated(): if user.is_authenticated():

Loading…
Cancel
Save