news content is now out of the db for languages other than english
This commit is contained in:
parent
af4912837f
commit
cb9bc7cc56
|
@ -3,6 +3,7 @@
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
{% get_current_language as lang %}
|
{% get_current_language as lang %}
|
||||||
{% load is_member %}
|
{% load is_member %}
|
||||||
|
{% load get_news %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-3 col-sm-12 right-sidebar middle-sm">
|
<div class="col-lg-3 col-sm-12 right-sidebar middle-sm">
|
||||||
|
|
||||||
|
@ -34,17 +35,8 @@
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">{{ n.name|safe }}</h5>
|
<h5 class="card-title">{{ n.name|safe }}</h5>
|
||||||
<p class="card-text">
|
<p class="card-text">
|
||||||
{% if lang == "fr" and n.content %}
|
{% get_news_by_lang n lang as content %}
|
||||||
{{ n.content|safe }}
|
{{ content | safe }}
|
||||||
{% elif lang == "en" and n.content_en %}
|
|
||||||
{{ n.content_en|safe }}
|
|
||||||
{% elif lang == "de" and n.content_de %}
|
|
||||||
{{ n.content_de|safe }}
|
|
||||||
{% elif lang == "ru" and n.content_ru %}
|
|
||||||
{{ n.content_ru|safe }}
|
|
||||||
{% else %}
|
|
||||||
{% trans "No translation available. Please try another language (English or French)." %}
|
|
||||||
{% endif %}
|
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="card-footer text-muted">
|
<div class="card-footer text-muted">
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
Comme vous le savez surement déjà, résoudre des challenges nécessite beaucoup d'outils et il peut être difficile de savoir lesquels sont vraiment nécessaires. <br>
|
||||||
|
|
||||||
|
Nous avons créé une VM avec tout ce dont vous avez besoin pour 42CTF afin que vous vous concentriez sur ce qui compte vraiment : flag ! <br>
|
||||||
|
|
||||||
|
Tout ce dont vous avez besoin est de télécharger cet <b><a href="/media/xubuntu-42ctf.ova">OVA</a></b> et de l'importer dans <b><a href="https://www.virtualbox.org/wiki/Downloads">Virtual Box</a></b>.<br>
|
||||||
|
|
||||||
|
Alors, qu'est ce que vous attendez ?
|
|
@ -0,0 +1,7 @@
|
||||||
|
Vous avez remarqué un petit changement sur le scoreboard de 42CTF ?<br><br>
|
||||||
|
|
||||||
|
Pas de panique, tous vos flags sont sains et saufs. Nous avons juste basculé sur du scoring dynamique. Cela signifie que les points des challenges ne sont plus fixes : ils diminueront désormais à chaque nouvelle résolution.<br>
|
||||||
|
|
||||||
|
Un challenge démarre à 200 points, et ne peut pas descendre en dessous de 5 points.<br><br>
|
||||||
|
|
||||||
|
Nous espérons que cela permettra de mieux refléter la véritable difficulté des challenges. Les événements à durée limitée ne sont pas concernés par ce changement.
|
|
@ -0,0 +1,9 @@
|
||||||
|
À la recherche de l'âme soeur, d'un nouvel ami, ou juste d'un compagnon de CTF ?<br><br>
|
||||||
|
|
||||||
|
Nous avons ce dont vous avez besoin : le <a href="/events/speed_dating_2022">Speed Dating CTF</a> !<br><br>
|
||||||
|
|
||||||
|
Venez seul ou bien accompagné pour cette très courte compétition, qui ne durera que 4 heures.<br>
|
||||||
|
Vous ne pourrez compter que sur une seule autre personne pour ce CTF en équipe.<br>
|
||||||
|
Vous pouvez soit choisir votre partenaire, soit laisser laisser le destin décider pour vous.<br><br>
|
||||||
|
|
||||||
|
Bonne chance !
|
|
@ -0,0 +1,8 @@
|
||||||
|
Vous avez toujours voulu en apprendre plus sur les injections SQL ? <br>
|
||||||
|
<br>
|
||||||
|
On vous propose trois nouveaux challenges créés par <b><a class=profile_link href=https://www.42ctf.org/accounts/profile/aldubar>aldubar</a></b>:<br>
|
||||||
|
- <b><a href='https://www.42ctf.org/ctfs/web/simple_question_1'>Simple Question of Logic 1</a></b> (10 points)<br>
|
||||||
|
- <b><a href='https://www.42ctf.org/ctfs/web/simple_question_2'>Simple Question of Logic 2</a></b> (30 points)<br>
|
||||||
|
- <b><a href='https://www.42ctf.org/ctfs/web/simple_question_3'>Simple Question of Logic 3</a></b> (40 points)<br>
|
||||||
|
<br>
|
||||||
|
N'oubliez pas que vous pouvez toujours nous contacter sur <a class="footer_imgs" href="https://discord.gg/DwZqPpA" target="_blank"><img src="/static/img/discord.png" width="30"></a> pour proposer des nouveaux challenges !
|
|
@ -0,0 +1,9 @@
|
||||||
|
Nouvel évènement en temps limité : <b>Welcome CTF 2021</b> !<br><br>
|
||||||
|
|
||||||
|
Dates : du 10/12/2021 20h au 12/12/2021 20h. <br>
|
||||||
|
Il s'agit d'un CTF pour souhaiter la bienvenue aux nouveaux étudiants qui nous rejoignent à 42.<br>
|
||||||
|
Il ne sera donc accessible qu'aux personnes ayant effectué leur rentrée <b>après</b> le 01/09/2021.<br><br>
|
||||||
|
|
||||||
|
Pour les autres, vous pouvez toujours résoudre les challenges déjà disponibles sur le site et tenter de vous hisser dans le top 10 ! <br><br>
|
||||||
|
|
||||||
|
Inscriptions <a href=https://forms.42l.fr/apps/forms/SooTbnT4PCs9na7C>ici</a>
|
|
@ -0,0 +1,13 @@
|
||||||
|
from django import template
|
||||||
|
from django.core.files.storage import default_storage
|
||||||
|
|
||||||
|
register = template.Library()
|
||||||
|
|
||||||
|
@register.simple_tag
|
||||||
|
def get_news_by_lang(news, lang):
|
||||||
|
filepath = "home/templates/news/"+ lang + "/" + news.slug + ".html"
|
||||||
|
try:
|
||||||
|
with open(filepath) as fp:
|
||||||
|
return fp.read()
|
||||||
|
except:
|
||||||
|
return news.content_en
|
|
@ -8,23 +8,11 @@ from django.urls import translate_url
|
||||||
from django.utils.translation import (
|
from django.utils.translation import (
|
||||||
LANGUAGE_SESSION_KEY, check_for_language, get_language,
|
LANGUAGE_SESSION_KEY, check_for_language, get_language,
|
||||||
)
|
)
|
||||||
|
from django.core.files.storage import default_storage
|
||||||
import datetime
|
import datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
import operator
|
import operator
|
||||||
|
|
||||||
def get_content_by_lang(news):
|
|
||||||
lang = get_language()
|
|
||||||
ret = None
|
|
||||||
if lang == "fr":
|
|
||||||
ret = news.content
|
|
||||||
elif lang == "en":
|
|
||||||
ret = news.content_en
|
|
||||||
elif lang == "de":
|
|
||||||
ret = news.content_de
|
|
||||||
elif lang == "ru":
|
|
||||||
ret = news.content_ru
|
|
||||||
return ret
|
|
||||||
|
|
||||||
def get_weekly_top():
|
def get_weekly_top():
|
||||||
week_ago = datetime.datetime.now() - datetime.timedelta(days=7)
|
week_ago = datetime.datetime.now() - datetime.timedelta(days=7)
|
||||||
weekly_flags = CTF_flags.objects.filter(flag_date__gt=week_ago, ctf__disabled=False, ctf__event=None)
|
weekly_flags = CTF_flags.objects.filter(flag_date__gt=week_ago, ctf__disabled=False, ctf__event=None)
|
||||||
|
|
Loading…
Reference in New Issue