diff --git a/src/home/templates/cgu.html b/src/home/templates/cgu.html
new file mode 100644
index 0000000..4bbae9b
--- /dev/null
+++ b/src/home/templates/cgu.html
@@ -0,0 +1,11 @@
+{% extends 'base.html' %}
+{% block content %}
+{% load i18n %}
+{% get_current_language as lang %}
+
+{% endblock %}
+
diff --git a/src/home/urls.py b/src/home/urls.py
index 30bcbbf..9de950d 100644
--- a/src/home/urls.py
+++ b/src/home/urls.py
@@ -3,4 +3,5 @@ from . import views
urlpatterns = [
path('', views.home, name='home'),
+ path('CGU', views.cgu, name='cgu'),
]
diff --git a/src/home/views.py b/src/home/views.py
index e9c4f08..8960df3 100644
--- a/src/home/views.py
+++ b/src/home/views.py
@@ -38,6 +38,10 @@ def home(request):
nb_users = UserProfileInfo.objects.count()
return render(request, 'home/home.html', {'news' : news, 'ctfs' : latest_ctfs, 'top' : top10, 'flags' : nb_flags})
+def cgu(request):
+ return render(request, 'cgu.html')
+
+
def set_language(request, lang_code):
next = '/'
if request.GET.get('next'):
diff --git a/src/locale/de/LC_MESSAGES/django.po b/src/locale/de/LC_MESSAGES/django.po
index 42ec53a..51735f3 100644
--- a/src/locale/de/LC_MESSAGES/django.po
+++ b/src/locale/de/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -22,6 +22,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr ""
@@ -32,6 +34,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr ""
@@ -44,6 +48,7 @@ msgstr ""
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr ""
@@ -68,7 +73,7 @@ msgid "Reset password"
msgstr ""
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -104,11 +109,12 @@ msgstr ""
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr ""
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr ""
#: accounts/templates/accounts/register.html:13
@@ -157,48 +163,60 @@ msgstr ""
msgid "Updated."
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr ""
@@ -218,6 +236,108 @@ msgstr ""
msgid "No category available."
msgstr ""
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+msgid "Challenges"
+msgstr ""
+
+#: events/templates/events/event_info.html:46
+msgid "No challenges available."
+msgstr ""
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+msgid "ScoreBoard"
+msgstr ""
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr ""
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+msgid "No events available."
+msgstr ""
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr ""
@@ -234,26 +354,22 @@ msgstr ""
msgid "Flags counter"
msgstr ""
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr ""
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr ""
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr ""
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr ""
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr ""
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr ""
@@ -278,14 +394,18 @@ msgstr ""
msgid "Scoreboard"
msgstr ""
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr ""
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr ""
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr ""
diff --git a/src/locale/en/LC_MESSAGES/django.po b/src/locale/en/LC_MESSAGES/django.po
index 42ec53a..51735f3 100644
--- a/src/locale/en/LC_MESSAGES/django.po
+++ b/src/locale/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -22,6 +22,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr ""
@@ -32,6 +34,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr ""
@@ -44,6 +48,7 @@ msgstr ""
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr ""
@@ -68,7 +73,7 @@ msgid "Reset password"
msgstr ""
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -104,11 +109,12 @@ msgstr ""
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr ""
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr ""
#: accounts/templates/accounts/register.html:13
@@ -157,48 +163,60 @@ msgstr ""
msgid "Updated."
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr ""
@@ -218,6 +236,108 @@ msgstr ""
msgid "No category available."
msgstr ""
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+msgid "Challenges"
+msgstr ""
+
+#: events/templates/events/event_info.html:46
+msgid "No challenges available."
+msgstr ""
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+msgid "ScoreBoard"
+msgstr ""
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr ""
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+msgid "No events available."
+msgstr ""
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr ""
@@ -234,26 +354,22 @@ msgstr ""
msgid "Flags counter"
msgstr ""
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr ""
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr ""
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr ""
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr ""
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr ""
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr ""
@@ -278,14 +394,18 @@ msgstr ""
msgid "Scoreboard"
msgstr ""
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr ""
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr ""
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr ""
diff --git a/src/locale/es/LC_MESSAGES/django.po b/src/locale/es/LC_MESSAGES/django.po
index 42ec53a..51735f3 100644
--- a/src/locale/es/LC_MESSAGES/django.po
+++ b/src/locale/es/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -22,6 +22,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr ""
@@ -32,6 +34,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr ""
@@ -44,6 +48,7 @@ msgstr ""
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr ""
@@ -68,7 +73,7 @@ msgid "Reset password"
msgstr ""
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -104,11 +109,12 @@ msgstr ""
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr ""
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr ""
#: accounts/templates/accounts/register.html:13
@@ -157,48 +163,60 @@ msgstr ""
msgid "Updated."
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr ""
@@ -218,6 +236,108 @@ msgstr ""
msgid "No category available."
msgstr ""
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+msgid "Challenges"
+msgstr ""
+
+#: events/templates/events/event_info.html:46
+msgid "No challenges available."
+msgstr ""
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+msgid "ScoreBoard"
+msgstr ""
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr ""
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+msgid "No events available."
+msgstr ""
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr ""
@@ -234,26 +354,22 @@ msgstr ""
msgid "Flags counter"
msgstr ""
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr ""
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr ""
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr ""
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr ""
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr ""
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr ""
@@ -278,14 +394,18 @@ msgstr ""
msgid "Scoreboard"
msgstr ""
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr ""
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr ""
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr ""
diff --git a/src/locale/fr/LC_MESSAGES/django.po b/src/locale/fr/LC_MESSAGES/django.po
index 0bf84de..f9c9cd3 100644
--- a/src/locale/fr/LC_MESSAGES/django.po
+++ b/src/locale/fr/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -22,6 +22,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr "Pseudo"
@@ -32,6 +34,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr "Site internet"
@@ -44,6 +48,7 @@ msgstr "Appliquer"
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr "Score"
@@ -68,7 +73,7 @@ msgid "Reset password"
msgstr "Réinitialiser le mot de passe"
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -106,11 +111,14 @@ msgstr "Points"
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr "Date"
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+#, fuzzy
+#| msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr "Il semble que {{ user.username }} n'a pas encore résolu de CTF..."
#: accounts/templates/accounts/register.html:13
@@ -161,48 +169,60 @@ msgstr "Le pseudo est déjà utilisé."
msgid "Updated."
msgstr "Mis à jour."
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr "Date de publication"
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr "Félicitations !"
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr "Déjà résolu"
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr "Démarrer le challenge"
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr "Télécharger"
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr "Mauvais flag ! Vous pouvez le faire !"
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr "Résolu par"
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr "Personne n'a résolu ce CTF."
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr "Auteur"
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr "Points"
@@ -222,6 +242,116 @@ msgstr "Catégories"
msgid "No category available."
msgstr "Il n'y a pas de catégorie disponible."
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+#, fuzzy
+#| msgid "Challenge Name"
+msgid "Challenges"
+msgstr "Nom du challenge"
+
+#: events/templates/events/event_info.html:46
+#, fuzzy
+#| msgid "No category available."
+msgid "No challenges available."
+msgstr "Il n'y a pas de catégorie disponible."
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+#, fuzzy
+#| msgid "Scoreboard"
+msgid "ScoreBoard"
+msgstr "Classement"
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr "Rang"
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+#, fuzzy
+#| msgid "No ctf available."
+msgid "No events available."
+msgstr "Pas de challenge disponible"
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr "Il n'y a pas d'article disponible."
@@ -238,26 +368,22 @@ msgstr "Pas de challenge disponible"
msgid "Flags counter"
msgstr "Compteur de flags"
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr "Anglais"
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr "Allemand"
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr "Français"
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr "Russe"
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr "Rang"
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr "Début"
@@ -282,14 +408,18 @@ msgstr "Fin"
msgid "Scoreboard"
msgstr "Classement"
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr "Déconnexion"
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr "Inscription"
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr "Votre mot de passe a été mis à jour."
diff --git a/src/locale/it/LC_MESSAGES/django.po b/src/locale/it/LC_MESSAGES/django.po
index 42ec53a..51735f3 100644
--- a/src/locale/it/LC_MESSAGES/django.po
+++ b/src/locale/it/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -22,6 +22,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr ""
@@ -32,6 +34,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr ""
@@ -44,6 +48,7 @@ msgstr ""
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr ""
@@ -68,7 +73,7 @@ msgid "Reset password"
msgstr ""
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -104,11 +109,12 @@ msgstr ""
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr ""
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr ""
#: accounts/templates/accounts/register.html:13
@@ -157,48 +163,60 @@ msgstr ""
msgid "Updated."
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr ""
@@ -218,6 +236,108 @@ msgstr ""
msgid "No category available."
msgstr ""
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+msgid "Challenges"
+msgstr ""
+
+#: events/templates/events/event_info.html:46
+msgid "No challenges available."
+msgstr ""
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+msgid "ScoreBoard"
+msgstr ""
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr ""
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+msgid "No events available."
+msgstr ""
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr ""
@@ -234,26 +354,22 @@ msgstr ""
msgid "Flags counter"
msgstr ""
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr ""
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr ""
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr ""
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr ""
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr ""
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr ""
@@ -278,14 +394,18 @@ msgstr ""
msgid "Scoreboard"
msgstr ""
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr ""
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr ""
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr ""
diff --git a/src/locale/ru/LC_MESSAGES/django.po b/src/locale/ru/LC_MESSAGES/django.po
index 7f48d57..2ba2388 100644
--- a/src/locale/ru/LC_MESSAGES/django.po
+++ b/src/locale/ru/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-09-08 19:35+0000\n"
+"POT-Creation-Date: 2021-10-24 14:23+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -24,6 +24,8 @@ msgstr ""
#: accounts/templates/accounts/login.html:18
#: accounts/templates/accounts/register.html:22
#: ctfs/templates/ctfs/ctf_info.html:54 ctfs/templates/ctfs/ctfs_list.html:12
+#: events/templates/events/ctf_info.html:70
+#: events/templates/events/event_info.html:62
#: scoreboard/templates/scoreboard/scoreboard.html:12
msgid "Username"
msgstr ""
@@ -34,6 +36,8 @@ msgstr ""
#: accounts/templates/accounts/edit.html:30
#: ctfs/templates/ctfs/ctf_info.html:55
+#: events/templates/events/ctf_info.html:71
+#: events/templates/events/event_info.html:63
#: scoreboard/templates/scoreboard/scoreboard.html:13
msgid "Website"
msgstr ""
@@ -46,6 +50,7 @@ msgstr ""
#: accounts/templates/accounts/profile.html:10
#: accounts/templates/accounts/profile.html:70
#: ctfs/templates/ctfs/ctf_info.html:56 ctfs/templates/ctfs/ctfs_list.html:13
+#: events/templates/events/event_info.html:64
#: scoreboard/templates/scoreboard/scoreboard.html:14
msgid "Score"
msgstr "счет"
@@ -70,7 +75,7 @@ msgid "Reset password"
msgstr ""
#: accounts/templates/accounts/login.html:31
-#: accounts/templates/accounts/register.html:38 templates/base.html:84
+#: accounts/templates/accounts/register.html:38 templates/base.html:100
#: templates/registration/password_reset_complete.html:18
#: templates/registration/password_reset_confirm.html:38
#: templates/registration/password_reset_done.html:18
@@ -106,11 +111,12 @@ msgstr ""
#: accounts/templates/accounts/profile.html:48
#: ctfs/templates/ctfs/ctf_info.html:57
+#: events/templates/events/ctf_info.html:72
msgid "Date"
msgstr ""
#: accounts/templates/accounts/profile.html:63
-msgid "It's seem {{ user.username }} have never solved any CTF yet..."
+msgid "It seems that this user has not solved any challenge yet..."
msgstr ""
#: accounts/templates/accounts/register.html:13
@@ -159,48 +165,60 @@ msgstr ""
msgid "Updated."
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:9
+#: ctfs/templates/ctfs/ctf_info.html:9 events/templates/events/ctf_info.html:11
msgid "Published date"
msgstr ""
-#: ctfs/templates/ctfs/ctf_info.html:15 home/templates/home/home.html:22
+#: ctfs/templates/ctfs/ctf_info.html:15
+#: events/templates/events/ctf_info.html:17 home/templates/home/home.html:22
msgid ""
"No translation available. Please try another language (English or French)."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:21
+#: events/templates/events/ctf_info.html:31
msgid "Congratulation !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:23
+#: events/templates/events/ctf_info.html:33
msgid "Already flagged"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:25 ctfs/templates/ctfs/ctf_info.html:34
+#: events/templates/events/ctf_info.html:41
+#: events/templates/events/ctf_info.html:50
msgid "Start the challenge"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:27 ctfs/templates/ctfs/ctf_info.html:36
+#: events/templates/events/ctf_info.html:43
+#: events/templates/events/ctf_info.html:52
msgid "Download"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:31
+#: events/templates/events/ctf_info.html:47
msgid "Wrong flag ! You can do it !"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:49
+#: events/templates/events/ctf_info.html:65
msgid "Solved by"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:72
+#: events/templates/events/ctf_info.html:86
msgid "Nobody have solved this CTF."
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:78
+#: events/templates/events/ctf_info.html:92
msgid "Author"
msgstr ""
#: ctfs/templates/ctfs/ctf_info.html:79
+#: events/templates/events/ctf_info.html:93
msgid "Point reward"
msgstr ""
@@ -220,6 +238,114 @@ msgstr ""
msgid "No category available."
msgstr ""
+#: events/templates/events/ctf_info.html:9
+msgid "Event"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:24
+#: events/templates/events/event_info.html:8
+msgid "Subscriptions is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:27
+#: events/templates/events/event_info.html:11
+#: events/templates/events/event_pwd.html:18
+msgid "You're already registered to this event."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:35
+#: events/templates/events/event_info.html:17
+msgid "This event is over."
+msgstr ""
+
+#: events/templates/events/ctf_info.html:37
+msgid "Error while processing your request. (Invalid Form)"
+msgstr ""
+
+#: events/templates/events/ctf_info.html:39
+msgid ""
+"Error: you're not registered to this event, so you can't register scores, "
+"fucking logic."
+msgstr ""
+
+#: events/templates/events/event_info.html:19
+#: events/templates/events/event_pwd.html:9
+msgid "This event start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:29
+msgid "Challenges"
+msgstr ""
+
+#: events/templates/events/event_info.html:46
+#, fuzzy
+#| msgid "No article available."
+msgid "No challenges available."
+msgstr "Нет доступных статей."
+
+#: events/templates/events/event_info.html:50
+msgid "The event has not started yet."
+msgstr ""
+
+#: events/templates/events/event_info.html:56
+#, fuzzy
+#| msgid "Score"
+msgid "ScoreBoard"
+msgstr "счет"
+
+#: events/templates/events/event_info.html:61
+#: scoreboard/templates/scoreboard/scoreboard.html:11
+msgid "Rank"
+msgstr ""
+
+#: events/templates/events/event_info.html:81
+msgid "No one have earn point yet, you gonna be the first ?"
+msgstr ""
+
+#: events/templates/events/event_info.html:88
+#: events/templates/events/event_pwd.html:36
+msgid "Start at"
+msgstr ""
+
+#: events/templates/events/event_info.html:89
+#: events/templates/events/event_pwd.html:37
+msgid "End at"
+msgstr ""
+
+#: events/templates/events/event_info.html:94
+msgid "Subscribe"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:15
+msgid "Wrong password submited."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:20
+msgid "This event is password protected"
+msgstr ""
+
+#: events/templates/events/event_pwd.html:21
+msgid "You need to submit the event password to gain access to this event."
+msgstr ""
+
+#: events/templates/events/event_pwd.html:28
+msgid "You need to be logged to access this event."
+msgstr ""
+
+#: events/templates/events/events_list.html:6 templates/base.html:63
+msgid "Events"
+msgstr ""
+
+#: events/templates/events/events_list.html:38
+msgid "See more"
+msgstr ""
+
+#: events/templates/events/events_list.html:44
+#, fuzzy
+#| msgid "No article available."
+msgid "No events available."
+msgstr "Нет доступных статей."
+
#: home/templates/home/home.html:32
msgid "No article available."
msgstr "Нет доступных статей."
@@ -236,26 +362,22 @@ msgstr ""
msgid "Flags counter"
msgstr ""
-#: project/settings.py:113
+#: project/settings.py:114
msgid "English"
msgstr ""
-#: project/settings.py:114
+#: project/settings.py:115
msgid "German"
msgstr ""
-#: project/settings.py:115
+#: project/settings.py:116
msgid "French"
msgstr ""
-#: project/settings.py:116
+#: project/settings.py:117
msgid "Russian"
msgstr ""
-#: scoreboard/templates/scoreboard/scoreboard.html:11
-msgid "Rank"
-msgstr ""
-
#: scoreboard/templates/scoreboard/scoreboard.html:36
msgid "First"
msgstr ""
@@ -280,14 +402,18 @@ msgstr ""
msgid "Scoreboard"
msgstr ""
-#: templates/base.html:80
+#: templates/base.html:96
msgid "Logout"
msgstr "Выйти"
-#: templates/base.html:87
+#: templates/base.html:103
msgid "Sign Up"
msgstr ""
+#: templates/base.html:131
+msgid "Become a Patron!"
+msgstr ""
+
#: templates/registration/password_reset_complete.html:11
msgid "Your new password has been set."
msgstr ""
diff --git a/src/static/css/style.css b/src/static/css/style.css
index b9a6c75..0980997 100644
--- a/src/static/css/style.css
+++ b/src/static/css/style.css
@@ -1,77 +1 @@
-body {background-color: #121212;color: #D9D9D9}
-.card-body {background-color: #1D1D1D;}
-a{color:#4375aa;}
-a:hover{color:#a9a9a9;text-decoration: none;}
-.main-div{margin-top: 40px;}
-footer {text-align: center;}
-.news-card {margin-bottom: 20px; border: none;}
-.news-card .card-header {padding: 3px; background-color: #1D1D1D;}
-.news-card .card-footer {padding: 0; background-color: #1D1D1D;}
-.list-group-item {border: none;background-color: #1D1D1D}
-.list-group-item:first-child {border-radius: 0 ; background-color: #2D2D2D;}
-.list-group-item:last-child {border-radius: 0 ;}
-.navbar-dark {background-color: #1D1D1D}
-/*nav .nav-link {color: #BB86FC}*/
-.right-sidebar .list-group {margin-bottom: 20px;}
-pre {background-color: #000; color: #cecece; padding-left: 15px; font-weight: bolder;}
-.dropdown-menu {background-color: #1D1D1D;border: none; border-radius: 0}
-.dropdown-item {color: #D9D9D9;}
-.dropdown-item:hover {background-color: #1D1D1D; color: #FFFFFF}
-
-.flag_link {margin-right: 6px}
-.flag_img {margin-top: 10px;width: 28px;}
-
-.table-dark {background-color: #1D1D1D}
-.table-dark td, .table-dark th, .table-dark thead th {border: none}
-.list-group a { text-decoration: none; color: #D9D9D9}
-.list-group a:hover { text-decoration: none; color: white}
-.ctf-block {background-color: #1D1D1D; min-height: 235px; padding: 15px; margin-bottom: 20px;}
-.ctf-body {margin-top: 50px;}
-.bloc-body {margin-top: 25px;}
-.ctf-footer {margin-top: 15px;text-align: center;}
-.event-block{background-color: #1D1D1D; min-height: 235px; margin-bottom: 20px;}
-.event-body {padding:15px;margin-top: 50px;}
-.event-footer{margin-top: 15px;text-align: center; padding: 15px;}
-input[type=text], input[type=password], input[type=url], input[type=email] {transition: 0.2s;border: 2px solid #2d2d2d;background-color: #2d2d2d;padding: 3px; border-radius: 4px;}
-input[type=submit] {padding: 0px; margin-left: 5px; border-bottom: 3px solid #000;}
-.begin-ctf-link {display:inline-block;margin-bottom: 15px;text-align:center;text-transform: uppercase;text-decoration:none;font-weight: bold;color:#fff;background-color:#121212; width: 125px; border-bottom: 3px solid #000;padding:5px;}
-.begin-ctf-link:hover {text-decoration:none;color: #fff;background-color: #000; transition-duration: 0.3s;}
-.submitflag-form {display:block;text-align:center;}
-input[type=text] {display:block; margin:0px;}
-input[type=submit]{font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
-input[type=submit]:hover {background-color:#000}
-.submitflag-form {display:block;text-align:center;}
-.submitflag-form input[type=text] {display:inline-block; margin:0px; border-radius: 0px;margin-right:-4px}
-.submitflag-form input[type=submit]{width: 40px;font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
-.submitflag-form input[type=submit]:hover {background-color:#000}
-.edit-infos-grp input{width: 100%;}
-.message {display: block; padding:5px; text-align:center;margin-bottom: 10px;}
-.success-msg {background-color: #42b35e4f!important;}
-.error-msg {background-color: #9542428c;}
-.progress {background-color: #2d2d2d;}
-.bg-success {
- background-color: #d9d9d9 !important;color: #000;
-}
-
-.event-card {
- background-color: #1d1d1d;
- min-height: 30vh;
- margin-bottom: 13.37px;
-}
-.card-img-top{
- height:150px;
-}
-.chall-card{
- background-color: #131313;
- min-height: 100px;
- border-radius: 2px;
- margin-bottom: 13.37px;
-}
-.is-over {opacity: 50%;}
-.event-head{
- height: 20vh;
- background-size: cover;
- color: white;
- padding: 20px;
- padding-top: 40px;
-}
\ No newline at end of file
+body{background-color:#121212;color:#d9d9d9}.card-body{background-color:#1d1d1d}a{color:#4375aa}a:hover{color:#a9a9a9;text-decoration:none}.main-div{margin-top:40px}.news-card{margin-bottom:20px;border:none}.news-card .card-header{padding:3px;background-color:#1d1d1d}.news-card .card-footer{padding:0;background-color:#1d1d1d}.list-group-item{border:none;background-color:#1d1d1d}.list-group-item:first-child{border-radius:0;background-color:#2d2d2d}.list-group-item:last-child{border-radius:0}.navbar-dark{background-color:#1d1d1d}.right-sidebar .list-group{margin-bottom:20px}pre{background-color:#000;color:#cecece;padding-left:15px;font-weight:bolder}.dropdown-menu{background-color:#1d1d1d;border:none;border-radius:0}.dropdown-item{color:#d9d9d9}.dropdown-item:hover{background-color:#1d1d1d;color:#fff}.flag_link{margin-right:6px}.flag_img{margin-top:10px;width:28px}.table-dark{background-color:#1d1d1d}.table-dark td,.table-dark th,.table-dark thead th{border:none}.list-group a{text-decoration:none;color:#d9d9d9}.list-group a:hover{text-decoration:none;color:#fff}.ctf-block{background-color:#1d1d1d;min-height:235px;padding:15px;margin-bottom:20px}.ctf-body{margin-top:50px}.bloc-body{margin-top:25px}.ctf-footer{margin-top:15px;text-align:center}.event-block{background-color:#1d1d1d;min-height:235px;margin-bottom:20px}.event-body{padding:15px;margin-top:50px}.event-footer{margin-top:15px;text-align:center;padding:15px}input[type=email],input[type=password],input[type=text],input[type=url]{transition:.2s;border:2px solid #2d2d2d;background-color:#2d2d2d;padding:3px;border-radius:4px}input[type=submit]{padding:0;margin-left:5px;border-bottom:3px solid #000}.begin-ctf-link{display:inline-block;margin-bottom:15px;text-align:center;text-transform:uppercase;text-decoration:none;font-weight:700;color:#fff;background-color:#121212;width:125px;border-bottom:3px solid #000;padding:5px}.begin-ctf-link:hover{text-decoration:none;color:#fff;background-color:#000;transition-duration:.3s}.submitflag-form{display:block;text-align:center}input[type=text]{display:block;margin:0}input[type=submit]{font-weight:700;color:#fff;transition:.3s;display:inline-block;text-align:center;margin:0;height:34px;border-radius:0;background-color:#121212;border-left:None;border-right:None;border-top:None;border-bottom:3px solid #000}input[type=submit]:hover{background-color:#000}.submitflag-form{display:block;text-align:center}.submitflag-form input[type=text]{display:inline-block;margin:0;border-radius:0;margin-right:-4px}.submitflag-form input[type=submit]{width:40px;font-weight:700;color:#fff;transition:.3s;display:inline-block;text-align:center;margin:0;height:34px;border-radius:0;background-color:#121212;border-left:None;border-right:None;border-top:None;border-bottom:3px solid #000}.submitflag-form input[type=submit]:hover{background-color:#000}.edit-infos-grp input{width:100%}.message{display:block;padding:5px;text-align:center;margin-bottom:10px}.success-msg{background-color:#42b35e4f!important}.error-msg{background-color:#9542428c}.progress{background-color:#2d2d2d}.bg-success{background-color:#d9d9d9!important;color:#000}.event-card{background-color:#1d1d1d;min-height:30vh;margin-bottom:13.37px}.card-img-top{height:150px}.chall-card{background-color:#131313;min-height:100px;border-radius:2px;margin-bottom:13.37px}.is-over{opacity:50%}.event-head{height:20vh;background-size:cover;color:#fff;padding:20px;padding-top:40px}footer{border-top:1px solid #333;margin-top:1em;padding-top:1em;padding-bottom:1em;text-align:center}.footer-text{-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;display:inline-flex;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;-moz-box-align:center;align-items:center;display:flex;-moz-box-pack:center;justify-content:center;visibility:visible;padding-top:5px}.patreon{width:250px;height:59px;background-color:#ff6363;font-family:America,'GT America',Lato,'Helvetica Neue',Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;padding:.46875rem 1rem;position:relative;pointer-events:unset;text-align:center;text-decoration:none;text-transform:none;transition:all .3s cubic-bezier(.19,1,.22,1) 0s;user-select:none;white-space:unset;align-items:center;color:#fff}.li-patreon{width:120px;height:37px;background-color:#ff6363;font-family:America,'GT America',Lato,'Helvetica Neue',Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;cursor:pointer;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;padding:.46875rem 1rem;text-align:center;text-decoration:none;text-transform:none;transition:all .3s cubic-bezier(.19,1,.22,1) 0s;user-select:none;align-items:center;color:#fff;margin-top:4px;margin-right:13px}.patreon:hover{background-color:#ff4a4a;color:#fff}.patreon-text{padding-left:1em}.patreon svg{height:1.3rem;width:1.3rem;fill:#fff}.patreon-content{-moz-box-align:center;align-items:center;display:flex;-moz-box-pack:center;justify-content:center;visibility:visible}.svg-box{align-self:center;-moz-box-align:center;align-items:center;display:inline-flex;filter:none;vertical-align:unset;height:unset;width:unset;cursor:unset}
\ No newline at end of file
diff --git a/src/static/css/style.dev.css b/src/static/css/style.dev.css
new file mode 100644
index 0000000..eb2fd15
--- /dev/null
+++ b/src/static/css/style.dev.css
@@ -0,0 +1,190 @@
+body {background-color: #121212;color: #D9D9D9}
+.card-body {background-color: #1D1D1D;}
+a{color:#4375aa;}
+a:hover{color:#a9a9a9;text-decoration: none;}
+.main-div{margin-top: 40px;}
+.news-card {margin-bottom: 20px; border: none;}
+.news-card .card-header {padding: 3px; background-color: #1D1D1D;}
+.news-card .card-footer {padding: 0; background-color: #1D1D1D;}
+.list-group-item {border: none;background-color: #1D1D1D}
+.list-group-item:first-child {border-radius: 0 ; background-color: #2D2D2D;}
+.list-group-item:last-child {border-radius: 0 ;}
+.navbar-dark {background-color: #1D1D1D}
+/*nav .nav-link {color: #BB86FC}*/
+.right-sidebar .list-group {margin-bottom: 20px;}
+pre {background-color: #000; color: #cecece; padding-left: 15px; font-weight: bolder;}
+.dropdown-menu {background-color: #1D1D1D;border: none; border-radius: 0}
+.dropdown-item {color: #D9D9D9;}
+.dropdown-item:hover {background-color: #1D1D1D; color: #FFFFFF}
+
+.flag_link {margin-right: 6px}
+.flag_img {margin-top: 10px;width: 28px;}
+
+.table-dark {background-color: #1D1D1D}
+.table-dark td, .table-dark th, .table-dark thead th {border: none}
+.list-group a { text-decoration: none; color: #D9D9D9}
+.list-group a:hover { text-decoration: none; color: white}
+.ctf-block {background-color: #1D1D1D; min-height: 235px; padding: 15px; margin-bottom: 20px;}
+.ctf-body {margin-top: 50px;}
+.bloc-body {margin-top: 25px;}
+.ctf-footer {margin-top: 15px;text-align: center;}
+.event-block{background-color: #1D1D1D; min-height: 235px; margin-bottom: 20px;}
+.event-body {padding:15px;margin-top: 50px;}
+.event-footer{margin-top: 15px;text-align: center; padding: 15px;}
+input[type=text], input[type=password], input[type=url], input[type=email] {transition: 0.2s;border: 2px solid #2d2d2d;background-color: #2d2d2d;padding: 3px; border-radius: 4px;}
+input[type=submit] {padding: 0px; margin-left: 5px; border-bottom: 3px solid #000;}
+.begin-ctf-link {display:inline-block;margin-bottom: 15px;text-align:center;text-transform: uppercase;text-decoration:none;font-weight: bold;color:#fff;background-color:#121212; width: 125px; border-bottom: 3px solid #000;padding:5px;}
+.begin-ctf-link:hover {text-decoration:none;color: #fff;background-color: #000; transition-duration: 0.3s;}
+.submitflag-form {display:block;text-align:center;}
+input[type=text] {display:block; margin:0px;}
+input[type=submit]{font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
+input[type=submit]:hover {background-color:#000}
+.submitflag-form {display:block;text-align:center;}
+.submitflag-form input[type=text] {display:inline-block; margin:0px; border-radius: 0px;margin-right:-4px}
+.submitflag-form input[type=submit]{width: 40px;font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
+.submitflag-form input[type=submit]:hover {background-color:#000}
+.edit-infos-grp input{width: 100%;}
+.message {display: block; padding:5px; text-align:center;margin-bottom: 10px;}
+.success-msg {background-color: #42b35e4f!important;}
+.error-msg {background-color: #9542428c;}
+.progress {background-color: #2d2d2d;}
+.bg-success {
+ background-color: #d9d9d9 !important;color: #000;
+}
+
+.event-card {
+ background-color: #1d1d1d;
+ min-height: 30vh;
+ margin-bottom: 13.37px;
+}
+.card-img-top{
+ height:150px;
+}
+.chall-card{
+ background-color: #131313;
+ min-height: 100px;
+ border-radius: 2px;
+ margin-bottom: 13.37px;
+}
+.is-over {opacity: 50%;}
+.event-head{
+ height: 20vh;
+ background-size: cover;
+ color: white;
+ padding: 20px;
+ padding-top: 40px;
+}
+
+footer {
+ border-top:1px solid #333;
+ margin-top:1em;
+ padding-top:1em;
+ padding-bottom:1em;
+ text-align: center;
+}
+
+.footer-text{
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ display: inline-flex;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ -moz-box-align: center;
+ align-items: center;
+ display: flex;
+ -moz-box-pack: center;
+ justify-content: center;
+ visibility: visible;
+ padding-top:5px;
+}
+
+.patreon {
+ width: 250px;
+ height: 59px;
+ background-color:rgb(255, 99, 99);
+ font-family: 'America', 'GT America', 'Lato', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
+ text-rendering: optimizeLegibility;
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ cursor: pointer;
+ display: inline-flex;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ padding: 0.46875rem 1rem;
+ position: relative;
+ pointer-events: unset;
+ text-align: center;
+ text-decoration: none;
+ text-transform: none;
+ transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
+ user-select: none;
+ white-space: unset;
+ align-items: center;
+ color: #fff;
+}
+
+.li-patreon{
+ width: 120px;
+ height: 37px;
+ background-color:rgb(255, 99, 99);
+ font-family: 'America', 'GT America', 'Lato', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
+ text-rendering: optimizeLegibility;
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ cursor: pointer;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ padding: 0.46875rem 1rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: none;
+ transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
+ user-select: none;
+ align-items: center;
+ color: #fff;
+ margin-top: 4px;
+ margin-right: 13px;
+}
+
+.patreon:hover {
+ background-color:rgb(255, 74, 74);
+ color: #fff;
+}
+
+.patreon-text {padding-left:1em;}
+
+.patreon svg {
+ height: 1.3rem;
+ width: 1.3rem;
+ fill:#fff;
+}
+
+.patreon-content{
+ -moz-box-align: center;
+ align-items: center;
+ display: flex;
+ -moz-box-pack: center;
+ justify-content: center;
+ visibility: visible;
+}
+.svg-box {
+ align-self: center;
+ -moz-box-align: center;
+ align-items: center;
+ display: inline-flex;
+ filter: none;
+ vertical-align: unset;
+ height: unset;
+ width: unset;
+ cursor: unset;
+
+}
\ No newline at end of file
diff --git a/src/statics/css/style.css b/src/statics/css/style.css
index b9a6c75..0980997 100644
--- a/src/statics/css/style.css
+++ b/src/statics/css/style.css
@@ -1,77 +1 @@
-body {background-color: #121212;color: #D9D9D9}
-.card-body {background-color: #1D1D1D;}
-a{color:#4375aa;}
-a:hover{color:#a9a9a9;text-decoration: none;}
-.main-div{margin-top: 40px;}
-footer {text-align: center;}
-.news-card {margin-bottom: 20px; border: none;}
-.news-card .card-header {padding: 3px; background-color: #1D1D1D;}
-.news-card .card-footer {padding: 0; background-color: #1D1D1D;}
-.list-group-item {border: none;background-color: #1D1D1D}
-.list-group-item:first-child {border-radius: 0 ; background-color: #2D2D2D;}
-.list-group-item:last-child {border-radius: 0 ;}
-.navbar-dark {background-color: #1D1D1D}
-/*nav .nav-link {color: #BB86FC}*/
-.right-sidebar .list-group {margin-bottom: 20px;}
-pre {background-color: #000; color: #cecece; padding-left: 15px; font-weight: bolder;}
-.dropdown-menu {background-color: #1D1D1D;border: none; border-radius: 0}
-.dropdown-item {color: #D9D9D9;}
-.dropdown-item:hover {background-color: #1D1D1D; color: #FFFFFF}
-
-.flag_link {margin-right: 6px}
-.flag_img {margin-top: 10px;width: 28px;}
-
-.table-dark {background-color: #1D1D1D}
-.table-dark td, .table-dark th, .table-dark thead th {border: none}
-.list-group a { text-decoration: none; color: #D9D9D9}
-.list-group a:hover { text-decoration: none; color: white}
-.ctf-block {background-color: #1D1D1D; min-height: 235px; padding: 15px; margin-bottom: 20px;}
-.ctf-body {margin-top: 50px;}
-.bloc-body {margin-top: 25px;}
-.ctf-footer {margin-top: 15px;text-align: center;}
-.event-block{background-color: #1D1D1D; min-height: 235px; margin-bottom: 20px;}
-.event-body {padding:15px;margin-top: 50px;}
-.event-footer{margin-top: 15px;text-align: center; padding: 15px;}
-input[type=text], input[type=password], input[type=url], input[type=email] {transition: 0.2s;border: 2px solid #2d2d2d;background-color: #2d2d2d;padding: 3px; border-radius: 4px;}
-input[type=submit] {padding: 0px; margin-left: 5px; border-bottom: 3px solid #000;}
-.begin-ctf-link {display:inline-block;margin-bottom: 15px;text-align:center;text-transform: uppercase;text-decoration:none;font-weight: bold;color:#fff;background-color:#121212; width: 125px; border-bottom: 3px solid #000;padding:5px;}
-.begin-ctf-link:hover {text-decoration:none;color: #fff;background-color: #000; transition-duration: 0.3s;}
-.submitflag-form {display:block;text-align:center;}
-input[type=text] {display:block; margin:0px;}
-input[type=submit]{font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
-input[type=submit]:hover {background-color:#000}
-.submitflag-form {display:block;text-align:center;}
-.submitflag-form input[type=text] {display:inline-block; margin:0px; border-radius: 0px;margin-right:-4px}
-.submitflag-form input[type=submit]{width: 40px;font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
-.submitflag-form input[type=submit]:hover {background-color:#000}
-.edit-infos-grp input{width: 100%;}
-.message {display: block; padding:5px; text-align:center;margin-bottom: 10px;}
-.success-msg {background-color: #42b35e4f!important;}
-.error-msg {background-color: #9542428c;}
-.progress {background-color: #2d2d2d;}
-.bg-success {
- background-color: #d9d9d9 !important;color: #000;
-}
-
-.event-card {
- background-color: #1d1d1d;
- min-height: 30vh;
- margin-bottom: 13.37px;
-}
-.card-img-top{
- height:150px;
-}
-.chall-card{
- background-color: #131313;
- min-height: 100px;
- border-radius: 2px;
- margin-bottom: 13.37px;
-}
-.is-over {opacity: 50%;}
-.event-head{
- height: 20vh;
- background-size: cover;
- color: white;
- padding: 20px;
- padding-top: 40px;
-}
\ No newline at end of file
+body{background-color:#121212;color:#d9d9d9}.card-body{background-color:#1d1d1d}a{color:#4375aa}a:hover{color:#a9a9a9;text-decoration:none}.main-div{margin-top:40px}.news-card{margin-bottom:20px;border:none}.news-card .card-header{padding:3px;background-color:#1d1d1d}.news-card .card-footer{padding:0;background-color:#1d1d1d}.list-group-item{border:none;background-color:#1d1d1d}.list-group-item:first-child{border-radius:0;background-color:#2d2d2d}.list-group-item:last-child{border-radius:0}.navbar-dark{background-color:#1d1d1d}.right-sidebar .list-group{margin-bottom:20px}pre{background-color:#000;color:#cecece;padding-left:15px;font-weight:bolder}.dropdown-menu{background-color:#1d1d1d;border:none;border-radius:0}.dropdown-item{color:#d9d9d9}.dropdown-item:hover{background-color:#1d1d1d;color:#fff}.flag_link{margin-right:6px}.flag_img{margin-top:10px;width:28px}.table-dark{background-color:#1d1d1d}.table-dark td,.table-dark th,.table-dark thead th{border:none}.list-group a{text-decoration:none;color:#d9d9d9}.list-group a:hover{text-decoration:none;color:#fff}.ctf-block{background-color:#1d1d1d;min-height:235px;padding:15px;margin-bottom:20px}.ctf-body{margin-top:50px}.bloc-body{margin-top:25px}.ctf-footer{margin-top:15px;text-align:center}.event-block{background-color:#1d1d1d;min-height:235px;margin-bottom:20px}.event-body{padding:15px;margin-top:50px}.event-footer{margin-top:15px;text-align:center;padding:15px}input[type=email],input[type=password],input[type=text],input[type=url]{transition:.2s;border:2px solid #2d2d2d;background-color:#2d2d2d;padding:3px;border-radius:4px}input[type=submit]{padding:0;margin-left:5px;border-bottom:3px solid #000}.begin-ctf-link{display:inline-block;margin-bottom:15px;text-align:center;text-transform:uppercase;text-decoration:none;font-weight:700;color:#fff;background-color:#121212;width:125px;border-bottom:3px solid #000;padding:5px}.begin-ctf-link:hover{text-decoration:none;color:#fff;background-color:#000;transition-duration:.3s}.submitflag-form{display:block;text-align:center}input[type=text]{display:block;margin:0}input[type=submit]{font-weight:700;color:#fff;transition:.3s;display:inline-block;text-align:center;margin:0;height:34px;border-radius:0;background-color:#121212;border-left:None;border-right:None;border-top:None;border-bottom:3px solid #000}input[type=submit]:hover{background-color:#000}.submitflag-form{display:block;text-align:center}.submitflag-form input[type=text]{display:inline-block;margin:0;border-radius:0;margin-right:-4px}.submitflag-form input[type=submit]{width:40px;font-weight:700;color:#fff;transition:.3s;display:inline-block;text-align:center;margin:0;height:34px;border-radius:0;background-color:#121212;border-left:None;border-right:None;border-top:None;border-bottom:3px solid #000}.submitflag-form input[type=submit]:hover{background-color:#000}.edit-infos-grp input{width:100%}.message{display:block;padding:5px;text-align:center;margin-bottom:10px}.success-msg{background-color:#42b35e4f!important}.error-msg{background-color:#9542428c}.progress{background-color:#2d2d2d}.bg-success{background-color:#d9d9d9!important;color:#000}.event-card{background-color:#1d1d1d;min-height:30vh;margin-bottom:13.37px}.card-img-top{height:150px}.chall-card{background-color:#131313;min-height:100px;border-radius:2px;margin-bottom:13.37px}.is-over{opacity:50%}.event-head{height:20vh;background-size:cover;color:#fff;padding:20px;padding-top:40px}footer{border-top:1px solid #333;margin-top:1em;padding-top:1em;padding-bottom:1em;text-align:center}.footer-text{-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;display:inline-flex;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;-moz-box-align:center;align-items:center;display:flex;-moz-box-pack:center;justify-content:center;visibility:visible;padding-top:5px}.patreon{width:250px;height:59px;background-color:#ff6363;font-family:America,'GT America',Lato,'Helvetica Neue',Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;padding:.46875rem 1rem;position:relative;pointer-events:unset;text-align:center;text-decoration:none;text-transform:none;transition:all .3s cubic-bezier(.19,1,.22,1) 0s;user-select:none;white-space:unset;align-items:center;color:#fff}.li-patreon{width:120px;height:37px;background-color:#ff6363;font-family:America,'GT America',Lato,'Helvetica Neue',Helvetica,Arial,sans-serif;text-rendering:optimizeLegibility;-moz-box-align:center;backface-visibility:hidden;box-sizing:border-box;cursor:pointer;font-size:.875rem!important;font-weight:500;-moz-box-pack:center;justify-content:center;padding:.46875rem 1rem;text-align:center;text-decoration:none;text-transform:none;transition:all .3s cubic-bezier(.19,1,.22,1) 0s;user-select:none;align-items:center;color:#fff;margin-top:4px;margin-right:13px}.patreon:hover{background-color:#ff4a4a;color:#fff}.patreon-text{padding-left:1em}.patreon svg{height:1.3rem;width:1.3rem;fill:#fff}.patreon-content{-moz-box-align:center;align-items:center;display:flex;-moz-box-pack:center;justify-content:center;visibility:visible}.svg-box{align-self:center;-moz-box-align:center;align-items:center;display:inline-flex;filter:none;vertical-align:unset;height:unset;width:unset;cursor:unset}
\ No newline at end of file
diff --git a/src/statics/css/style.dev.css b/src/statics/css/style.dev.css
new file mode 100644
index 0000000..eb2fd15
--- /dev/null
+++ b/src/statics/css/style.dev.css
@@ -0,0 +1,190 @@
+body {background-color: #121212;color: #D9D9D9}
+.card-body {background-color: #1D1D1D;}
+a{color:#4375aa;}
+a:hover{color:#a9a9a9;text-decoration: none;}
+.main-div{margin-top: 40px;}
+.news-card {margin-bottom: 20px; border: none;}
+.news-card .card-header {padding: 3px; background-color: #1D1D1D;}
+.news-card .card-footer {padding: 0; background-color: #1D1D1D;}
+.list-group-item {border: none;background-color: #1D1D1D}
+.list-group-item:first-child {border-radius: 0 ; background-color: #2D2D2D;}
+.list-group-item:last-child {border-radius: 0 ;}
+.navbar-dark {background-color: #1D1D1D}
+/*nav .nav-link {color: #BB86FC}*/
+.right-sidebar .list-group {margin-bottom: 20px;}
+pre {background-color: #000; color: #cecece; padding-left: 15px; font-weight: bolder;}
+.dropdown-menu {background-color: #1D1D1D;border: none; border-radius: 0}
+.dropdown-item {color: #D9D9D9;}
+.dropdown-item:hover {background-color: #1D1D1D; color: #FFFFFF}
+
+.flag_link {margin-right: 6px}
+.flag_img {margin-top: 10px;width: 28px;}
+
+.table-dark {background-color: #1D1D1D}
+.table-dark td, .table-dark th, .table-dark thead th {border: none}
+.list-group a { text-decoration: none; color: #D9D9D9}
+.list-group a:hover { text-decoration: none; color: white}
+.ctf-block {background-color: #1D1D1D; min-height: 235px; padding: 15px; margin-bottom: 20px;}
+.ctf-body {margin-top: 50px;}
+.bloc-body {margin-top: 25px;}
+.ctf-footer {margin-top: 15px;text-align: center;}
+.event-block{background-color: #1D1D1D; min-height: 235px; margin-bottom: 20px;}
+.event-body {padding:15px;margin-top: 50px;}
+.event-footer{margin-top: 15px;text-align: center; padding: 15px;}
+input[type=text], input[type=password], input[type=url], input[type=email] {transition: 0.2s;border: 2px solid #2d2d2d;background-color: #2d2d2d;padding: 3px; border-radius: 4px;}
+input[type=submit] {padding: 0px; margin-left: 5px; border-bottom: 3px solid #000;}
+.begin-ctf-link {display:inline-block;margin-bottom: 15px;text-align:center;text-transform: uppercase;text-decoration:none;font-weight: bold;color:#fff;background-color:#121212; width: 125px; border-bottom: 3px solid #000;padding:5px;}
+.begin-ctf-link:hover {text-decoration:none;color: #fff;background-color: #000; transition-duration: 0.3s;}
+.submitflag-form {display:block;text-align:center;}
+input[type=text] {display:block; margin:0px;}
+input[type=submit]{font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
+input[type=submit]:hover {background-color:#000}
+.submitflag-form {display:block;text-align:center;}
+.submitflag-form input[type=text] {display:inline-block; margin:0px; border-radius: 0px;margin-right:-4px}
+.submitflag-form input[type=submit]{width: 40px;font-weight:bold;color:#fff;transition:0.3s;display:inline-block;text-align:center;margin:0px;height: 34px;border-radius: 0; background-color: #121212; border-left: None; border-right: None; border-top: None;border-bottom: 3px solid #000;}
+.submitflag-form input[type=submit]:hover {background-color:#000}
+.edit-infos-grp input{width: 100%;}
+.message {display: block; padding:5px; text-align:center;margin-bottom: 10px;}
+.success-msg {background-color: #42b35e4f!important;}
+.error-msg {background-color: #9542428c;}
+.progress {background-color: #2d2d2d;}
+.bg-success {
+ background-color: #d9d9d9 !important;color: #000;
+}
+
+.event-card {
+ background-color: #1d1d1d;
+ min-height: 30vh;
+ margin-bottom: 13.37px;
+}
+.card-img-top{
+ height:150px;
+}
+.chall-card{
+ background-color: #131313;
+ min-height: 100px;
+ border-radius: 2px;
+ margin-bottom: 13.37px;
+}
+.is-over {opacity: 50%;}
+.event-head{
+ height: 20vh;
+ background-size: cover;
+ color: white;
+ padding: 20px;
+ padding-top: 40px;
+}
+
+footer {
+ border-top:1px solid #333;
+ margin-top:1em;
+ padding-top:1em;
+ padding-bottom:1em;
+ text-align: center;
+}
+
+.footer-text{
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ display: inline-flex;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ -moz-box-align: center;
+ align-items: center;
+ display: flex;
+ -moz-box-pack: center;
+ justify-content: center;
+ visibility: visible;
+ padding-top:5px;
+}
+
+.patreon {
+ width: 250px;
+ height: 59px;
+ background-color:rgb(255, 99, 99);
+ font-family: 'America', 'GT America', 'Lato', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
+ text-rendering: optimizeLegibility;
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ cursor: pointer;
+ display: inline-flex;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ padding: 0.46875rem 1rem;
+ position: relative;
+ pointer-events: unset;
+ text-align: center;
+ text-decoration: none;
+ text-transform: none;
+ transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
+ user-select: none;
+ white-space: unset;
+ align-items: center;
+ color: #fff;
+}
+
+.li-patreon{
+ width: 120px;
+ height: 37px;
+ background-color:rgb(255, 99, 99);
+ font-family: 'America', 'GT America', 'Lato', 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif;
+ text-rendering: optimizeLegibility;
+ -moz-box-align: center;
+ backface-visibility: hidden;
+ box-sizing: border-box;
+ cursor: pointer;
+ font-size: 0.875rem !important;
+ font-weight: 500;
+ -moz-box-pack: center;
+ justify-content: center;
+ padding: 0.46875rem 1rem;
+ text-align: center;
+ text-decoration: none;
+ text-transform: none;
+ transition: all 300ms cubic-bezier(0.19, 1, 0.22, 1) 0s;
+ user-select: none;
+ align-items: center;
+ color: #fff;
+ margin-top: 4px;
+ margin-right: 13px;
+}
+
+.patreon:hover {
+ background-color:rgb(255, 74, 74);
+ color: #fff;
+}
+
+.patreon-text {padding-left:1em;}
+
+.patreon svg {
+ height: 1.3rem;
+ width: 1.3rem;
+ fill:#fff;
+}
+
+.patreon-content{
+ -moz-box-align: center;
+ align-items: center;
+ display: flex;
+ -moz-box-pack: center;
+ justify-content: center;
+ visibility: visible;
+}
+.svg-box {
+ align-self: center;
+ -moz-box-align: center;
+ align-items: center;
+ display: inline-flex;
+ filter: none;
+ vertical-align: unset;
+ height: unset;
+ width: unset;
+ cursor: unset;
+
+}
\ No newline at end of file
diff --git a/src/templates/base.html b/src/templates/base.html
index 1d80305..0e41596 100644
--- a/src/templates/base.html
+++ b/src/templates/base.html
@@ -64,6 +64,18 @@
+
+
+
+
+
+
+
+ Patreon
+
+
+
+
{% get_current_language as LANGUAGE_CODE %}
{% get_available_languages as languages %}
{% for lang_code, lang_name in languages %}
@@ -99,11 +111,29 @@
{% block content %}
{% endblock %}
-