forked from 42CTF/website
added member and visitor status + different colors in scoreboard
This commit is contained in:
parent
52b3a71caf
commit
bb97f1adc1
|
@ -0,0 +1,29 @@
|
|||
# Generated by Django 3.1.5 on 2022-01-23 17:04
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.utils.timezone
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('accounts', '0006_auto_20210608_2229'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='userprofileinfo',
|
||||
name='member',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofileinfo',
|
||||
name='member_since',
|
||||
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Member since'),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='userprofileinfo',
|
||||
name='member_until',
|
||||
field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Member until'),
|
||||
),
|
||||
]
|
|
@ -12,6 +12,9 @@ class UserProfileInfo(models.Model):
|
|||
last_submission_date = models.DateTimeField('Last Submission Date', default=timezone.now)
|
||||
token = models.CharField(max_length=200, blank=True)
|
||||
discord_id = models.CharField(max_length=20, null=True, blank=True, unique=True)
|
||||
member = models.BooleanField(default=False)
|
||||
member_since = models.DateTimeField('Member since', default=timezone.now)
|
||||
member_until = models.DateTimeField('Member until', default=timezone.now)
|
||||
def __str__(self):
|
||||
return self.user.username
|
||||
class Meta:
|
||||
|
|
|
@ -52,7 +52,7 @@
|
|||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="list-group-item">{% trans "Member since" %} {{ user.date_joined|date:"Y-m-d" }}</li>
|
||||
<li class="list-group-item">{% trans "Registered since" %} {{ user.date_joined|date:"Y-m-d" }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
{% block content %}
|
||||
{% load i18n %}
|
||||
{% load key_value %}
|
||||
{% load is_member %}
|
||||
{% ismember user.userprofileinfo as is_member %}
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-9">
|
||||
<div>
|
||||
<h4>{% trans "Challenges Solved by" %} {{ user.username }}</h4>
|
||||
<h4>{% trans "Challenges Solved by" %} <span class="{{ is_member }}">{{ user.username }}</span></h4>
|
||||
{% if solves%}
|
||||
|
||||
<div class="table table-dark">
|
||||
|
@ -40,7 +42,7 @@
|
|||
</div>
|
||||
<div class="d-none d-md-block col-10 col-md-3 right-sidebar">
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item">{{ user.username }}</li>
|
||||
<li class="list-group-item {{ is_member }}">{{ user.username }}</li>
|
||||
<li class="list-group-item">{% trans "Score" %} : {{ score }}</li>
|
||||
<li class="list-group-item">{% trans "Rank" %} : {{ rank }}</li>
|
||||
{% if user.userprofileinfo.portfolio_site %}
|
||||
|
@ -50,7 +52,12 @@
|
|||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="list-group-item">{% trans "Member since" %} {{ user.date_joined|date:"Y-m-d" }}</li>
|
||||
{% if member %}
|
||||
<li class="list-group-item">{% trans "Status: Member" %}</li>
|
||||
{% else %}
|
||||
<li class="list-group-item">{% trans "Status: Visitor" %}</li>
|
||||
{% endif %}
|
||||
<li class="list-group-item">{% trans "Registered since" %} {{ user.date_joined|date:"d-m-Y" }}</li>
|
||||
</ul>
|
||||
|
||||
<ul class="list-group">
|
||||
|
|
|
@ -15,6 +15,8 @@ from django.urls import reverse
|
|||
from secrets import token_hex
|
||||
from accounts.models import UserProfileInfo
|
||||
|
||||
from django.contrib.auth.models import timezone
|
||||
|
||||
from . import connection
|
||||
|
||||
def signin(request):
|
||||
|
@ -118,6 +120,10 @@ def profile(request, user_name):
|
|||
user_obj = get_object_or_404(User, username=user_name)
|
||||
all_users = list(UserProfileInfo.objects.select_related().order_by('-score', 'last_submission_date', 'user__username'))
|
||||
rank = all_users.index(get_object_or_404(UserProfileInfo, user=user_obj)) + 1
|
||||
if (user_obj.userprofileinfo.member and user_obj.userprofileinfo.member_until > timezone.now()):
|
||||
member = True
|
||||
else:
|
||||
member = False
|
||||
cats = Category.objects.all()
|
||||
pointDatas = {}
|
||||
|
||||
|
@ -144,7 +150,8 @@ def profile(request, user_name):
|
|||
somme += s.ctf.points
|
||||
solved.append([s.flag_date.timestamp() * 1000,somme])
|
||||
|
||||
return render(request,'accounts/profile.html', {'user':user_obj, 'solves':solves,'solved':solved,'catsDatas': catsDatas, 'pointDatas': pointDatas, 'rank': rank, 'score' : somme})
|
||||
return render(request,'accounts/profile.html', {'user':user_obj, 'solves':solves,'solved':solved,'catsDatas': catsDatas, 'pointDatas': pointDatas,
|
||||
'rank': rank, 'score' : somme, 'member' : member})
|
||||
|
||||
def rank(request, token):
|
||||
all_users = UserProfileInfo.objects.filter(score__gt=0).select_related().order_by('-score', 'last_submission_date', 'user__username')
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -36,7 +36,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
||||
|
@ -46,19 +46,19 @@ msgid "Apply"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
|
@ -94,46 +94,54 @@ msgstr ""
|
|||
msgid "Sign up"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
msgid "Categories stats"
|
||||
msgstr ""
|
||||
|
@ -154,33 +162,33 @@ msgstr ""
|
|||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -467,23 +475,23 @@ msgstr ""
|
|||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -36,7 +36,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
||||
|
@ -46,19 +46,19 @@ msgid "Apply"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
|
@ -94,46 +94,54 @@ msgstr ""
|
|||
msgid "Sign up"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
msgid "Categories stats"
|
||||
msgstr ""
|
||||
|
@ -154,33 +162,33 @@ msgstr ""
|
|||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -467,23 +475,23 @@ msgstr ""
|
|||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -36,7 +36,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
||||
|
@ -46,19 +46,19 @@ msgid "Apply"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
|
@ -94,46 +94,54 @@ msgstr ""
|
|||
msgid "Sign up"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
msgid "Categories stats"
|
||||
msgstr ""
|
||||
|
@ -154,33 +162,33 @@ msgstr ""
|
|||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -467,23 +475,23 @@ msgstr ""
|
|||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr "Pseudo"
|
||||
|
||||
|
@ -36,7 +36,7 @@ msgstr "Email"
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr "Site internet"
|
||||
|
||||
|
@ -46,20 +46,20 @@ msgid "Apply"
|
|||
msgstr "Appliquer"
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr "Score"
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
msgstr "Membre depuis"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr "Inscrit depuis"
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
msgid "Please, verify your infos."
|
||||
|
@ -94,46 +94,54 @@ msgstr "Connexion"
|
|||
msgid "Sign up"
|
||||
msgstr "Inscription"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr "Challenges résolus par"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr "Nom du challenge"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr "Catégorie"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr "Points"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr "Date"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr "Il semble que cet utilisateur n'a pas encore résolu de CTF..."
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr "Rang"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr "Status : Membre"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr "Status : Visiteur"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
#, fuzzy
|
||||
#| msgid "Categories"
|
||||
|
@ -156,11 +164,11 @@ msgstr "Site personnel"
|
|||
msgid "Register"
|
||||
msgstr "Inscription"
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr "Votre compte était inactif."
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
|
@ -168,23 +176,23 @@ msgstr ""
|
|||
"Le mot de passe doit contenir au moins une lettre, un chiffre et un signe de "
|
||||
"ponctuation."
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr "Un utilisateur avec cet email existe déjà."
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr "Un utilisateur avec ce pseudo existe déjà."
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr "L'adresse mail est déjà utilisée."
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr "Le pseudo est déjà utilisé."
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr "Mis à jour."
|
||||
|
||||
|
@ -487,23 +495,23 @@ msgstr "Français"
|
|||
msgid "Russian"
|
||||
msgstr "Russe"
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr "Début"
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr "Précédente"
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr "Page"
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr "Suivante"
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr "Fin"
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -24,7 +24,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -36,7 +36,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
||||
|
@ -46,19 +46,19 @@ msgid "Apply"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
|
@ -94,46 +94,54 @@ msgstr ""
|
|||
msgid "Sign up"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
msgid "Categories stats"
|
||||
msgstr ""
|
||||
|
@ -154,33 +162,33 @@ msgstr ""
|
|||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -467,23 +475,23 @@ msgstr ""
|
|||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -26,7 +26,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:60 ctfs/templates/ctfs/ctfs_list.html:12
|
||||
#: events/templates/events/ctf_info.html:70
|
||||
#: events/templates/events/event_info.html:63
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
msgid "Username"
|
||||
msgstr ""
|
||||
|
||||
|
@ -38,7 +38,7 @@ msgstr ""
|
|||
#: ctfs/templates/ctfs/ctf_info.html:61
|
||||
#: events/templates/events/ctf_info.html:71
|
||||
#: events/templates/events/event_info.html:64
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:13
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
msgid "Website"
|
||||
msgstr ""
|
||||
|
||||
|
@ -48,19 +48,19 @@ msgid "Apply"
|
|||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/edit.html:47
|
||||
#: accounts/templates/accounts/profile.html:44
|
||||
#: accounts/templates/accounts/profile.html:46
|
||||
#: ctfs/templates/ctfs/ctf_info.html:62 ctfs/templates/ctfs/ctfs_list.html:13
|
||||
#: events/templates/events/event_info.html:65
|
||||
#: events/templates/events/event_info.html:87
|
||||
#: events/templates/events/manage_team.html:40
|
||||
#: events/templates/events/team.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:14
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:15
|
||||
msgid "Score"
|
||||
msgstr "счет"
|
||||
|
||||
#: accounts/templates/accounts/edit.html:55
|
||||
#: accounts/templates/accounts/profile.html:53
|
||||
msgid "Member since"
|
||||
#: accounts/templates/accounts/profile.html:60
|
||||
msgid "Registered since"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/login.html:13
|
||||
|
@ -96,46 +96,54 @@ msgstr "Авторизоваться"
|
|||
msgid "Sign up"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:8
|
||||
#: accounts/templates/accounts/profile.html:10
|
||||
msgid "Challenges Solved by"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:19
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: events/templates/events/team.html:20
|
||||
msgid "Challenge Name"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:20
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: events/templates/events/team.html:21
|
||||
msgid "Category"
|
||||
msgstr "Категории"
|
||||
|
||||
#: accounts/templates/accounts/profile.html:21
|
||||
#: accounts/templates/accounts/profile.html:23
|
||||
#: events/templates/events/team.html:22
|
||||
msgid "Points"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:22
|
||||
#: accounts/templates/accounts/profile.html:24
|
||||
#: ctfs/templates/ctfs/ctf_info.html:63
|
||||
#: events/templates/events/ctf_info.html:72
|
||||
#: events/templates/events/team.html:23
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:37
|
||||
#: accounts/templates/accounts/profile.html:39
|
||||
msgid "It seems that this user has not solved any challenge yet..."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:45
|
||||
#: accounts/templates/accounts/profile.html:47
|
||||
#: events/templates/events/event_info.html:62
|
||||
#: events/templates/events/event_info.html:85
|
||||
#: events/templates/events/manage_team.html:41
|
||||
#: events/templates/events/team.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:11
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:12
|
||||
msgid "Rank"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:57
|
||||
#: accounts/templates/accounts/profile.html:56
|
||||
msgid "Status: Member"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:58
|
||||
msgid "Status: Visitor"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/templates/accounts/profile.html:64
|
||||
#: events/templates/events/team.html:57
|
||||
msgid "Categories stats"
|
||||
msgstr ""
|
||||
|
@ -156,33 +164,33 @@ msgstr ""
|
|||
msgid "Register"
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:31
|
||||
#: accounts/views/views.py:33
|
||||
msgid "Your account was inactive."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:50
|
||||
#: accounts/views/views.py:52
|
||||
msgid ""
|
||||
"The password must contain at least one letter and at least one digit or "
|
||||
"punctuation character."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:52
|
||||
#: accounts/views/views.py:54
|
||||
msgid "A user with that email already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:65
|
||||
#: accounts/views/views.py:67
|
||||
msgid "A user with that username already exists."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:93
|
||||
#: accounts/views/views.py:95
|
||||
msgid "Email already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:99
|
||||
#: accounts/views/views.py:101
|
||||
msgid "Username already taken."
|
||||
msgstr ""
|
||||
|
||||
#: accounts/views/views.py:103 events/views/teams.py:122
|
||||
#: accounts/views/views.py:105 events/views/teams.py:122
|
||||
msgid "Updated."
|
||||
msgstr ""
|
||||
|
||||
|
@ -477,23 +485,23 @@ msgstr ""
|
|||
msgid "Russian"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:36
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:38
|
||||
msgid "First"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:37
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:39
|
||||
msgid "Previous"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:41
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:43
|
||||
msgid "Page "
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:45
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:47
|
||||
msgid "Next"
|
||||
msgstr ""
|
||||
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:46
|
||||
#: scoreboard/templates/scoreboard/scoreboard.html:48
|
||||
msgid "Last"
|
||||
msgstr ""
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: resources/templates/resources/42ctf.html:9
|
||||
#: resources/templates/resources/resources.html:12
|
||||
msgid "What is 42CTF ?"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: resources/templates/resources/42ctf.html:9
|
||||
#: resources/templates/resources/resources.html:12
|
||||
msgid "What is 42CTF ?"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: resources/templates/resources/42ctf.html:9
|
||||
#: resources/templates/resources/resources.html:12
|
||||
msgid "What is 42CTF ?"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -136,7 +136,9 @@ msgstr "42CTF est une association loi 1901 (loi française)."
|
|||
|
||||
#: resources/templates/resources/donate.html:14
|
||||
msgid "You can support us by becoming a member and paying a fee of 15 euros."
|
||||
msgstr "Vous pouvez nous aider financièrement en devenant membre, au cout de 15 euros."
|
||||
msgstr ""
|
||||
"Vous pouvez nous aider financièrement en devenant membre, au cout de 15 "
|
||||
"euros."
|
||||
|
||||
#: resources/templates/resources/donate.html:15
|
||||
msgid "Membership is then granted for 1 year."
|
||||
|
@ -151,21 +153,25 @@ msgid ""
|
|||
"A different color for your pseudo in the scoreboard, to let everyone know "
|
||||
"you're a member. (not yet implemented but coming soon)"
|
||||
msgstr ""
|
||||
"Une couleur différente pour votre pseudo sur le scoreboard, pour que tout le monde sache que vous êtes membre (en cours de développement)."
|
||||
"Une couleur différente pour votre pseudo sur le scoreboard, pour que tout le "
|
||||
"monde sache que vous êtes membre (en cours de développement)."
|
||||
|
||||
#: resources/templates/resources/donate.html:19
|
||||
msgid ""
|
||||
"The possibility to play again past CTF, with challenges no longer available, "
|
||||
"in the form of private events with the people of your choice."
|
||||
msgstr ""
|
||||
"La possibilité de jouer de nouveau aux CTF passés, avec des challenges qui ne sont plus disponibles, "
|
||||
"sous la forme d'un événement privé avec les personnes de votre choix."
|
||||
"La possibilité de jouer de nouveau aux CTF passés, avec des challenges qui "
|
||||
"ne sont plus disponibles, sous la forme d'un événement privé avec les "
|
||||
"personnes de votre choix."
|
||||
|
||||
#: resources/templates/resources/donate.html:20
|
||||
msgid ""
|
||||
"Ex: you played Welcome CTF 2021, and want to play it again with your friends "
|
||||
"during one weekend."
|
||||
msgstr "Ex: vous avez joué au Welcome CTF 2021, et vous voulez renouveler l'expérience avec vos amis le temps d'un weekend."
|
||||
msgstr ""
|
||||
"Ex: vous avez joué au Welcome CTF 2021, et vous voulez renouveler "
|
||||
"l'expérience avec vos amis le temps d'un weekend."
|
||||
|
||||
#: resources/templates/resources/donate.html:21
|
||||
msgid "Or you didn't play Welcome CTF 2021 because you were not eligible."
|
||||
|
@ -173,7 +179,9 @@ msgstr "Ou au contraire vous n'avez pas joué car vous n'étiez pas éligible."
|
|||
|
||||
#: resources/templates/resources/donate.html:24
|
||||
msgid "More advantages may come later, and you can submit us your ideas."
|
||||
msgstr "Plus d'avantages pourraient être disponibles plus tard, et vous pouvez nous soumettre vos idées."
|
||||
msgstr ""
|
||||
"Plus d'avantages pourraient être disponibles plus tard, et vous pouvez nous "
|
||||
"soumettre vos idées."
|
||||
|
||||
#: resources/templates/resources/donate.html:25
|
||||
msgid ""
|
||||
|
@ -181,8 +189,9 @@ msgid ""
|
|||
"will be equivalent to organize paid events, and we want 42CTF to remain FREE "
|
||||
"for all."
|
||||
msgstr ""
|
||||
"Cependant, nous n'organiserons pas de CTF en temps limité réservé aux membres, "
|
||||
"car cela serait équivalent à organiser des événements payants, and nous voulons que 42CTF reste GRATUIT pour tous."
|
||||
"Cependant, nous n'organiserons pas de CTF en temps limité réservé aux "
|
||||
"membres, car cela serait équivalent à organiser des événements payants, and "
|
||||
"nous voulons que 42CTF reste GRATUIT pour tous."
|
||||
|
||||
#: resources/templates/resources/donate.html:28
|
||||
msgid "Donate to 42CTF"
|
||||
|
@ -207,17 +216,17 @@ msgid ""
|
|||
"If you're paying for your membership, don't forget to send us your first and "
|
||||
"last name, as well as your 42CTF pseudo."
|
||||
msgstr ""
|
||||
"Si vous payez pour l'adhesion, n'oubliez pas de nous envoyer vos noms et prénoms, "
|
||||
"ainsi que votre pseudo 42CTF."
|
||||
|
||||
"Si vous payez pour l'adhesion, n'oubliez pas de nous envoyer vos noms et "
|
||||
"prénoms, ainsi que votre pseudo 42CTF."
|
||||
|
||||
#: resources/templates/resources/donate.html:46
|
||||
msgid ""
|
||||
"We will only use thoe data to keep track of our members and grant you "
|
||||
"advantages, and we will never communicate them to any third party."
|
||||
msgstr ""
|
||||
"Nous utiliserons ces données exclusivement pour tenir compte de nos membres et vous accorder "
|
||||
"des avantages, nous ne transmettrons jamais ces données à des tierces parties."
|
||||
"Nous utiliserons ces données exclusivement pour tenir compte de nos membres "
|
||||
"et vous accorder des avantages, nous ne transmettrons jamais ces données à "
|
||||
"des tierces parties."
|
||||
|
||||
#: resources/templates/resources/edit.html:9
|
||||
#: resources/templates/resources/resources.html:30
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -17,6 +17,7 @@ msgstr ""
|
|||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#: resources/templates/resources/42ctf.html:9
|
||||
#: resources/templates/resources/resources.html:12
|
||||
msgid "What is 42CTF ?"
|
||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-23 15:54+0000\n"
|
||||
"POT-Creation-Date: 2022-01-23 17:31+0000\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -19,6 +19,7 @@ msgstr ""
|
|||
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n"
|
||||
"%100>=11 && n%100<=14)? 2 : 3);\n"
|
||||
|
||||
#: resources/templates/resources/42ctf.html:9
|
||||
#: resources/templates/resources/resources.html:12
|
||||
msgid "What is 42CTF ?"
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{% extends 'base.html' %}
|
||||
{% load i18n %}
|
||||
{% block content %}
|
||||
{% load is_member %}
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div>
|
||||
|
@ -16,9 +17,10 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{% for s in scores %}
|
||||
{% ismember s.user.userprofileinfo as is_member %}
|
||||
<tr>
|
||||
<th scope="row"># {{ forloop.counter0|add:scores.start_index }}</th>
|
||||
<th><a class="profile_link" href="{% url 'accounts:profile' user_name=s.user.username %}"> {{ s.user.username }}</a></th>
|
||||
<th><a class="profile_link {{is_member}}" href="{% url 'accounts:profile' user_name=s.user.username %}"> {{ s.user.username }}</a></th>
|
||||
<td>
|
||||
{% if s.user.userprofileinfo.portfolio_site %}
|
||||
<a href="{{ s.user.userprofileinfo.portfolio_site }}" target="_blank">{{ s.user.userprofileinfo.portfolio_site }}</a>
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
from django import template
|
||||
from django.contrib.auth.models import timezone
|
||||
|
||||
register = template.Library()
|
||||
|
||||
@register.simple_tag
|
||||
def ismember(user):
|
||||
if user.member and user.member_until > timezone.now():
|
||||
return "is-member"
|
||||
return ""
|
|
@ -31,9 +31,6 @@ a:hover {
|
|||
border: none;
|
||||
background-color: #1d1d1d;
|
||||
}
|
||||
a {
|
||||
color: #4375aa;
|
||||
}
|
||||
.list-group-item:first-child {
|
||||
border-radius: 0;
|
||||
background-color: #2d2d2d;
|
||||
|
@ -362,3 +359,6 @@ footer {
|
|||
width: unset;
|
||||
cursor: unset;
|
||||
}
|
||||
.is-member {
|
||||
color: #2b908f;
|
||||
}
|
Loading…
Reference in New Issue