diff --git a/CHANGELOG.md b/CHANGELOG.md
index 639a9a0b..bec3bfde 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,9 @@ Liste des changements notables dans GestioCOF depuis la version 0.1 (septembre
### Problèmes corrigés
+- Bug d'affichage quand on a beaucoup de clubs dans le cadre "Accès rapide" sur
+ la page des clubs
+- Version mobile plus ergonimique sur le nouveau site du COF
- Cliquer sur "visualiser" sur les pages de clubs dans wagtail ne provoque plus
d'erreurs 500.
- L'historique des ventes des articles fonctionne à nouveau
@@ -25,6 +28,8 @@ Liste des changements notables dans GestioCOF depuis la version 0.1 (septembre
### Nouvelles fonctionnalités
+- On n'affiche que 4 articles sur la pages "nouveautés"
+- Plus de traductions sur le nouveau site du COF
- Les transferts apparaissent maintenant dans l'historique K-Fêt et l'historique
personnel.
- les statistiques K-Fêt remontent à plus d'un an (et le code est simplifié)
diff --git a/gestioncof/cms/fixtures/examplesite0.json b/gestioncof/cms/fixtures/examplesite0.json
new file mode 100644
index 00000000..816ebe82
--- /dev/null
+++ b/gestioncof/cms/fixtures/examplesite0.json
@@ -0,0 +1,641 @@
+[
+{
+ "model": "wagtailcore.page",
+ "pk": 27,
+ "fields": {
+ "path": "000100010002",
+ "depth": 3,
+ "numchild": 3,
+ "title": "Site du COF",
+ "title_fr": "Site du COF",
+ "title_en": null,
+ "draft_title": "Site du COF",
+ "slug": "site",
+ "slug_fr": "site",
+ "slug_en": null,
+ "content_type": 89,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/",
+ "url_path_fr": "/global/site/",
+ "url_path_en": "/global/site/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": false,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T20:54:14.724Z",
+ "last_published_at": "2019-02-04T20:54:14.724Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 28,
+ "fields": {
+ "path": "0001000100020001",
+ "depth": 4,
+ "numchild": 0,
+ "title": "Pr\u00e9sentation",
+ "title_fr": "Pr\u00e9sentation",
+ "title_en": "Presentation",
+ "draft_title": "Pr\u00e9sentation",
+ "slug": "pr\u00e9sentation",
+ "slug_fr": "pr\u00e9sentation",
+ "slug_en": null,
+ "content_type": 88,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/pr\u00e9sentation/",
+ "url_path_fr": "/global/site/pr\u00e9sentation/",
+ "url_path_en": "/global/site/pr\u00e9sentation/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": true,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T20:55:06.574Z",
+ "last_published_at": "2019-02-04T21:42:00.461Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 29,
+ "fields": {
+ "path": "0001000100020002",
+ "depth": 4,
+ "numchild": 2,
+ "title": "Actualit\u00e9s",
+ "title_fr": "Actualit\u00e9s",
+ "title_en": "News",
+ "draft_title": "Actualit\u00e9s",
+ "slug": "actualit\u00e9s",
+ "slug_fr": "actualit\u00e9s",
+ "slug_en": "news",
+ "content_type": 92,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/actualit\u00e9s/",
+ "url_path_fr": "/global/site/actualit\u00e9s/",
+ "url_path_en": "/global/site/news/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": true,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T20:58:47.657Z",
+ "last_published_at": "2019-02-04T21:43:55.575Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 30,
+ "fields": {
+ "path": "00010001000200020001",
+ "depth": 5,
+ "numchild": 0,
+ "title": "Grosse teuf en K-F\u00eat",
+ "title_fr": "Grosse teuf en K-F\u00eat",
+ "title_en": "Big feast in K-F\u00eat",
+ "draft_title": "Grosse teuf en K-F\u00eat",
+ "slug": "grosse-teuf-en-k-f\u00eat",
+ "slug_fr": "grosse-teuf-en-k-f\u00eat",
+ "slug_en": "big-feast-in-k-f\u00eat",
+ "content_type": 93,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/actualit\u00e9s/grosse-teuf-en-k-f\u00eat/",
+ "url_path_fr": "/global/site/actualit\u00e9s/grosse-teuf-en-k-f\u00eat/",
+ "url_path_en": "/global/site/news/big-feast-in-k-f\u00eat/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": false,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T21:04:39.422Z",
+ "last_published_at": "2019-02-04T21:04:39.422Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 31,
+ "fields": {
+ "path": "00010001000200020002",
+ "depth": 5,
+ "numchild": 0,
+ "title": "Les 48h des Arts",
+ "title_fr": "Les 48h des Arts",
+ "title_en": null,
+ "draft_title": "Les 48h des Arts",
+ "slug": "les-48h-des-arts",
+ "slug_fr": "les-48h-des-arts",
+ "slug_en": null,
+ "content_type": 93,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/actualit\u00e9s/les-48h-des-arts/",
+ "url_path_fr": "/global/site/actualit\u00e9s/les-48h-des-arts/",
+ "url_path_en": "/global/site/news/les-48h-des-arts/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": false,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T21:05:27.190Z",
+ "last_published_at": "2019-02-04T21:05:27.190Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 32,
+ "fields": {
+ "path": "0001000100020003",
+ "depth": 4,
+ "numchild": 1,
+ "title": "Clubs",
+ "title_fr": "Clubs",
+ "title_en": null,
+ "draft_title": "Clubs",
+ "slug": "clubs",
+ "slug_fr": "clubs",
+ "slug_en": null,
+ "content_type": 87,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/clubs/",
+ "url_path_fr": "/global/site/clubs/",
+ "url_path_en": "/global/site/clubs/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": true,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T21:44:23.382Z",
+ "last_published_at": "2019-02-04T21:44:23.382Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.page",
+ "pk": 33,
+ "fields": {
+ "path": "00010001000200030001",
+ "depth": 5,
+ "numchild": 0,
+ "title": "Arts Plastiques",
+ "title_fr": "Arts Plastiques",
+ "title_en": null,
+ "draft_title": "Arts Plastiques",
+ "slug": "arts-plastiques",
+ "slug_fr": "arts-plastiques",
+ "slug_en": null,
+ "content_type": 90,
+ "live": true,
+ "has_unpublished_changes": false,
+ "url_path": "/global/site/clubs/arts-plastiques/",
+ "url_path_fr": "/global/site/clubs/arts-plastiques/",
+ "url_path_en": "/global/site/clubs/arts-plastiques/",
+ "owner": 165,
+ "seo_title": "",
+ "seo_title_fr": null,
+ "seo_title_en": null,
+ "show_in_menus": false,
+ "search_description": "",
+ "search_description_fr": "",
+ "search_description_en": "",
+ "go_live_at": null,
+ "expire_at": null,
+ "expired": false,
+ "locked": false,
+ "first_published_at": "2019-02-04T21:48:58.013Z",
+ "last_published_at": "2019-02-04T21:48:58.013Z",
+ "latest_revision_created_at": null,
+ "live_revision": null
+ }
+},
+{
+ "model": "wagtailcore.collection",
+ "pk": 3,
+ "fields": {
+ "path": "00010002",
+ "depth": 2,
+ "numchild": 0,
+ "name": "COF"
+ }
+},
+ {
+ "model": "wagtailimages.image",
+ "pk": 33,
+ "fields": {
+ "collection": 3,
+ "title": "COF-17",
+ "file": "original_images/cof-768x576.jpg",
+ "width": 768,
+ "height": 576,
+ "created_at": "2018-01-22T18:49:25.647Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": 132330,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 34,
+ "fields": {
+ "collection": 3,
+ "title": "Singin in the RENS",
+ "file": "original_images/singin.jpg",
+ "width": 682,
+ "height": 361,
+ "created_at": "2018-01-22T19:13:49.753Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 35,
+ "fields": {
+ "collection": 3,
+ "title": "Retour du Bur\u00f4",
+ "file": "original_images/retour.jpg",
+ "width": 614,
+ "height": 211,
+ "created_at": "2018-01-22T19:16:25.375Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 36,
+ "fields": {
+ "collection": 3,
+ "title": "elections 18",
+ "file": "original_images/elections.png",
+ "width": 850,
+ "height": 406,
+ "created_at": "2018-01-22T19:21:31.954Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 37,
+ "fields": {
+ "collection": 3,
+ "title": "Arts Plastiques",
+ "file": "original_images/ArtsPla.png",
+ "width": 150,
+ "height": 150,
+ "created_at": "2018-01-22T20:11:56.461Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 38,
+ "fields": {
+ "collection": 3,
+ "title": "MGEN",
+ "file": "original_images/MGEN.jpg",
+ "width": 300,
+ "height": 204,
+ "created_at": "2018-01-22T20:20:41.712Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "wagtailimages.image",
+ "pk": 39,
+ "fields": {
+ "collection": 3,
+ "title": "MAIF",
+ "file": "original_images/Logo-MAIF.gif",
+ "width": 300,
+ "height": 290,
+ "created_at": "2018-01-28T16:20:13.828Z",
+ "uploaded_by_user": 165,
+ "focal_point_x": null,
+ "focal_point_y": null,
+ "focal_point_width": null,
+ "focal_point_height": null,
+ "file_size": null,
+ "file_hash": ""
+ }
+},
+{
+ "model": "cofcms.cofrootpage",
+ "pk": 27,
+ "fields": {
+ "introduction": "
Bienvenue sur le site du COF !
",
+ "introduction_fr": "Bienvenue sur le site du COF !
",
+ "introduction_en": ""
+ }
+},
+{
+ "model": "cofcms.cofpage",
+ "pk": 28,
+ "fields": {
+ "body": "[{\"value\": \"On est le COF on est tout gentil
\", \"type\": \"paragraph\", \"id\": \"0b3a92bd-1e27-433b-842c-ab4f0a2750ad\"}]",
+ "body_fr": "[{\"value\": \"On est le COF on est tout gentil
\", \"type\": \"paragraph\", \"id\": \"0b3a92bd-1e27-433b-842c-ab4f0a2750ad\"}]",
+ "body_en": "[]"
+ }
+},
+{
+ "model": "cofcms.cofactuindexpage",
+ "pk": 29,
+ "fields": {}
+},
+{
+ "model": "cofcms.cofactupage",
+ "pk": 30,
+ "fields": {
+ "chapo": "Grosse teuf en K-F\u00eat",
+ "chapo_fr": "Grosse teuf en K-F\u00eat",
+ "chapo_en": "Big typar in K-F\u00eat",
+ "body": "Viens boire en K-F\u00eat
",
+ "body_fr": "Viens boire en K-F\u00eat
",
+ "body_en": "",
+ "image": 34,
+ "is_event": true,
+ "date_start": "2019-02-07T21:00:00Z",
+ "date_end": "2019-02-08T03:00:00Z",
+ "all_day": false
+ }
+},
+{
+ "model": "cofcms.cofactupage",
+ "pk": 31,
+ "fields": {
+ "chapo": "",
+ "chapo_fr": "",
+ "chapo_en": "",
+ "body": "C'est l'art
",
+ "body_fr": "C'est l'art
",
+ "body_en": "",
+ "image": 37,
+ "is_event": true,
+ "date_start": "2019-03-16T21:05:00Z",
+ "date_end": "2019-03-24T21:05:00Z",
+ "all_day": true
+ }
+},
+{
+ "model": "cofcms.cofdirectorypage",
+ "pk": 32,
+ "fields": {
+ "introduction": "Ce sont les clubs
",
+ "introduction_fr": "Ce sont les clubs
",
+ "introduction_en": "",
+ "alphabetique": true
+ }
+},
+{
+ "model": "cofcms.cofdirectoryentrypage",
+ "pk": 33,
+ "fields": {
+ "body": "Club Arts Plastiques
",
+ "body_fr": "Club Arts Plastiques
",
+ "body_en": "",
+ "links": "[{\"value\": {\"texte\": \"Liste Mails\", \"email\": \"artsplastiques@ens.fr\"}, \"type\": \"contact\", \"id\": \"cf198b98-0b84-4f38-ac00-6d883cfd60a4\"}]",
+ "links_fr": "[{\"value\": {\"texte\": \"Liste Mails\", \"email\": \"artsplastiques@ens.fr\"}, \"type\": \"contact\", \"id\": \"cf198b98-0b84-4f38-ac00-6d883cfd60a4\"}]",
+ "links_en": "[]",
+ "image": 37
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 7,
+ "fields": {
+ "sort_order": 0,
+ "link_page": null,
+ "link_url": "https://www.cof.ens.fr/bda/",
+ "url_append": "",
+ "handle": "",
+ "link_text": "BdA",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 8,
+ "fields": {
+ "sort_order": 1,
+ "link_page": null,
+ "link_url": "https://www.cof.ens.fr/bds/",
+ "url_append": "",
+ "handle": "",
+ "link_text": "BdS",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 9,
+ "fields": {
+ "sort_order": 2,
+ "link_page": null,
+ "link_url": "https://www.cof.ens.fr/gestion",
+ "url_append": "",
+ "handle": "",
+ "link_text": "GestioCOF",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 10,
+ "fields": {
+ "sort_order": 3,
+ "link_page": null,
+ "link_url": "https://www.cof.ens.fr/bocal",
+ "url_append": "",
+ "handle": "",
+ "link_text": "Le BOcal",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 11,
+ "fields": {
+ "sort_order": 4,
+ "link_page": null,
+ "link_url": "https://photos.cof.ens.fr/",
+ "url_append": "",
+ "handle": "",
+ "link_text": "Serveur photos",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 12,
+ "fields": {
+ "sort_order": 5,
+ "link_page": null,
+ "link_url": "https://www.eleves.ens.fr",
+ "url_append": "",
+ "handle": "",
+ "link_text": "Services \u00e9l\u00e8ves ENS",
+ "allow_subnav": false,
+ "menu": 2
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 20,
+ "fields": {
+ "sort_order": 0,
+ "link_page": 28,
+ "link_url": null,
+ "url_append": "",
+ "handle": "",
+ "link_text": "",
+ "allow_subnav": false,
+ "menu": 4
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 21,
+ "fields": {
+ "sort_order": 1,
+ "link_page": 29,
+ "link_url": null,
+ "url_append": "",
+ "handle": "",
+ "link_text": "",
+ "allow_subnav": false,
+ "menu": 4
+ }
+},
+{
+ "model": "wagtailmenus.flatmenuitem",
+ "pk": 22,
+ "fields": {
+ "sort_order": 2,
+ "link_page": 32,
+ "link_url": null,
+ "url_append": "",
+ "handle": "",
+ "link_text": "",
+ "allow_subnav": false,
+ "menu": 4
+ }
+},
+{
+ "model": "wagtailmenus.flatmenu",
+ "pk": 2,
+ "fields": {
+ "site": 2,
+ "title": "COF - liens externes",
+ "handle": "cof-nav-ext",
+ "heading": "",
+ "max_levels": 1,
+ "use_specific": 1
+ }
+},
+{
+ "model": "wagtailmenus.flatmenu",
+ "pk": 4,
+ "fields": {
+ "site": 2,
+ "title": "COF - liens internes",
+ "handle": "cof-nav-int",
+ "heading": "",
+ "max_levels": 1,
+ "use_specific": 1
+ }
+}
+]
diff --git a/gestioncof/cms/locale/en/LC_MESSAGES/django.mo b/gestioncof/cms/locale/en/LC_MESSAGES/django.mo
new file mode 100644
index 00000000..ad390d63
Binary files /dev/null and b/gestioncof/cms/locale/en/LC_MESSAGES/django.mo differ
diff --git a/gestioncof/cms/locale/en/LC_MESSAGES/django.po b/gestioncof/cms/locale/en/LC_MESSAGES/django.po
new file mode 100644
index 00000000..5c854f43
--- /dev/null
+++ b/gestioncof/cms/locale/en/LC_MESSAGES/django.po
@@ -0,0 +1,117 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR , YEAR.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2020-03-29 16:04+0200\n"
+"PO-Revision-Date: 2020-03-29 16:08+0200\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: en\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 1.8.7.1\n"
+
+#: templates/cofcms/base.html:7
+msgid "Association des élèves de l'ENS Ulm"
+msgstr "Student Association of the École Normale Supérieure"
+
+#: templates/cofcms/calendar.html:9
+msgid "L | M | M | J | V | S | D | "
+msgstr ""
+"M | Tu | W | Th | F | Sa | Su | "
+
+#: templates/cofcms/calendar.html:17
+msgid "Le "
+msgstr "On "
+
+#: templates/cofcms/cof_actu_index_page.html:10
+msgid "Calendrier"
+msgstr "Calendar"
+
+#: templates/cofcms/cof_actu_index_page.html:25
+#: templates/cofcms/cof_actu_index_page.html:47
+msgid "Actualités plus récentes"
+msgstr "Newer"
+
+#: templates/cofcms/cof_actu_index_page.html:28
+#: templates/cofcms/cof_actu_index_page.html:50
+msgid "Actualités plus anciennes"
+msgstr "Older"
+
+#: templates/cofcms/cof_actu_index_page.html:41
+msgid "Lire plus"
+msgstr "Read more"
+
+#: templates/cofcms/cof_actu_page.html:7
+msgid "A lieu"
+msgstr "Happens"
+
+#: templates/cofcms/cof_directory_page.html:9
+msgid "Accès rapide"
+msgstr "Quick access"
+
+#: templates/cofcms/cof_directory_page.html:39
+msgid "Afficher l'adresse mail"
+msgstr "Show mail address"
+
+#: templates/cofcms/cof_root_page.html:11
+msgid "Agenda"
+msgstr "Agenda"
+
+#: templates/cofcms/sympa.html:6
+msgid "Listes mail"
+msgstr "Mailing lists"
+
+#: templates/cofcms/sympa.html:11
+msgid ""
+"\n"
+" Tous les abonnements aux listes de diffusion de mail à l'ENS "
+"se gèrent sur le serveur de mail SYMPA\n"
+"\n"
+" Pour y accéder : Merci de répondre à cette question anti-"
+"robots.\n"
+" "
+msgstr ""
+"\n"
+" All the mailing list subscriptions can be managed through "
+"the SYMPA mail server\n"
+"\n"
+" In order to access it, please answer this antispam "
+"question.\n"
+" "
+
+#: templates/cofcms/sympa.html:21
+msgid "Comment s'appellent les poissons du bassin ?"
+msgstr "How are called the fish in the school's pond?"
+
+#: templatetags/cofcms_tags.py:134 templatetags/cofcms_tags.py:162
+#, python-brace-format
+msgid "le {datestart}"
+msgstr "on {datestart}"
+
+#: templatetags/cofcms_tags.py:136
+#, python-brace-format
+msgid "le {datestart} de {timestart} à {timeend}"
+msgstr "on {datestart} from {timestart} to {timeend}"
+
+#: templatetags/cofcms_tags.py:147
+#, python-brace-format
+msgid "du {datestart} au {dateend}{common}"
+msgstr "from {datestart} to {dateend}{common}"
+
+#: templatetags/cofcms_tags.py:153
+#, python-brace-format
+msgid "du {datestart}{common} à {timestart} au {dateend} à {timeend}"
+msgstr "from {datestart}{common} {timestart} to {dateend} {timeend}"
+
+#: templatetags/cofcms_tags.py:164
+#, python-brace-format
+msgid "le {datestart} à {timestart}"
+msgstr "on {datestart} at {timestart}"
diff --git a/gestioncof/cms/models.py b/gestioncof/cms/models.py
index 3bb757b7..1c88cccf 100644
--- a/gestioncof/cms/models.py
+++ b/gestioncof/cms/models.py
@@ -31,6 +31,10 @@ class COFRootPage(RoutablePageMixin, Page, COFActuIndexMixin):
verbose_name = "Racine site du COF"
verbose_name_plural = "Racines site du COF"
+ @property
+ def actus(self):
+ return super().actus[:4]
+
# Mini calendrier
@route(r"^calendar/(\d+)/(\d+)/$")
def calendar(self, request, year, month):
diff --git a/gestioncof/cms/static/cofcms/css/screen.css b/gestioncof/cms/static/cofcms/css/screen.css
index 7d15b36b..5065be39 100644
--- a/gestioncof/cms/static/cofcms/css/screen.css
+++ b/gestioncof/cms/static/cofcms/css/screen.css
@@ -2,7 +2,7 @@
* In this file you should write your main styles. (or centralize your imports)
* Import this file using the following HTML or equivalent:
* */
-/* line 5, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 5, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
@@ -24,45 +24,45 @@ time, mark, audio, video {
vertical-align: baseline;
}
-/* line 22, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 22, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
html {
line-height: 1;
}
-/* line 24, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 24, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none;
}
-/* line 26, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 26, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0;
}
-/* line 28, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 28, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle;
}
-/* line 30, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 30, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none;
}
-/* line 103, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 103, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none;
}
-/* line 32, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 32, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
a img {
border: none;
}
-/* line 116, ../../../../../../../../../../var/lib/gems/2.5.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
+/* line 116, ../../../../../../../../../../var/lib/gems/2.3.0/gems/compass-core-1.0.3/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
display: block;
}
@@ -240,22 +240,39 @@ article:last-child {
}
/* line 162, ../sass/screen.scss */
.container .aside-wrap .aside a {
- color: #997000;
+ color: #805d00;
}
-/* line 168, ../sass/screen.scss */
+/* line 164, ../sass/screen.scss */
+.container .aside-wrap .aside a:hover {
+ text-decoration: underline;
+}
+/* line 169, ../sass/screen.scss */
+.container .aside-wrap .aside .aside-content {
+ max-height: 70vh;
+ max-height: calc(80vh - 150px);
+ overflow-y: auto;
+}
+/* line 176, ../sass/screen.scss */
+.container .aside-wrap .aside ul.directory li {
+ list-style: "." inside;
+ padding-left: 10px;
+ text-indent: -10px;
+ margin-bottom: 5px;
+}
+/* line 186, ../sass/screen.scss */
.container .content {
max-width: 900px;
margin-left: auto;
margin-right: 6px;
}
-/* line 173, ../sass/screen.scss */
+/* line 191, ../sass/screen.scss */
.container .content .intro {
border-bottom: 3px solid #7f7f7f;
margin: 20px 0;
margin-top: 5px;
padding: 15px 5px;
}
-/* line 182, ../sass/screen.scss */
+/* line 200, ../sass/screen.scss */
.container .content section article {
background: #fff;
padding: 20px 30px;
@@ -263,31 +280,31 @@ article:last-child {
border: 1px solid rgba(153, 118, 0, 0.1);
border-radius: 2px;
}
-/* line 188, ../sass/screen.scss */
+/* line 206, ../sass/screen.scss */
.container .content section article a {
color: #CC9500;
}
-/* line 193, ../sass/screen.scss */
+/* line 211, ../sass/screen.scss */
.container .content section article + h2 {
margin-top: 15px;
}
-/* line 197, ../sass/screen.scss */
+/* line 215, ../sass/screen.scss */
.container .content section article + article {
margin-top: 25px;
}
-/* line 201, ../sass/screen.scss */
+/* line 219, ../sass/screen.scss */
.container .content section .image {
margin: 15px 0;
text-align: center;
padding: 20px;
}
-/* line 206, ../sass/screen.scss */
+/* line 224, ../sass/screen.scss */
.container .content section .image img {
max-width: 100%;
height: auto;
box-shadow: -7px 7px 1px rgba(153, 118, 0, 0.2);
}
-/* line 214, ../sass/screen.scss */
+/* line 232, ../sass/screen.scss */
.container .content section.directory article.entry {
width: 80%;
max-width: 600px;
@@ -295,7 +312,7 @@ article:last-child {
position: relative;
margin-left: 6%;
}
-/* line 221, ../sass/screen.scss */
+/* line 239, ../sass/screen.scss */
.container .content section.directory article.entry .entry-image {
display: block;
float: right;
@@ -310,31 +327,31 @@ article:last-child {
margin-bottom: 10px;
transform: translateX(10px);
}
-/* line 235, ../sass/screen.scss */
+/* line 253, ../sass/screen.scss */
.container .content section.directory article.entry .entry-image img {
width: auto;
height: auto;
max-width: 100%;
max-height: 100%;
}
-/* line 243, ../sass/screen.scss */
+/* line 261, ../sass/screen.scss */
.container .content section.directory article.entry ul.links {
margin-top: 10px;
border-top: 1px solid #90001C;
padding-top: 10px;
}
-/* line 251, ../sass/screen.scss */
+/* line 269, ../sass/screen.scss */
.container .content section.actuhome {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
align-items: top;
}
-/* line 257, ../sass/screen.scss */
+/* line 275, ../sass/screen.scss */
.container .content section.actuhome article + article {
margin: 0;
}
-/* line 261, ../sass/screen.scss */
+/* line 279, ../sass/screen.scss */
.container .content section.actuhome article.actu {
position: relative;
background: none;
@@ -344,7 +361,7 @@ article:last-child {
min-width: 300px;
flex: 1;
}
-/* line 270, ../sass/screen.scss */
+/* line 288, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-header {
position: relative;
box-shadow: -4px 5px 1px rgba(153, 118, 0, 0.3);
@@ -358,7 +375,7 @@ article:last-child {
background-position: center center;
background-repeat: no-repeat;
}
-/* line 283, ../sass/screen.scss */
+/* line 301, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-header h2 {
position: absolute;
width: 100%;
@@ -368,11 +385,11 @@ article:last-child {
text-shadow: 0 0 5px rgba(153, 118, 0, 0.8);
background: linear-gradient(to top, rgba(0, 0, 0, 0.7), transparent);
}
-/* line 291, ../sass/screen.scss */
+/* line 309, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-header h2 a {
color: #fff;
}
-/* line 297, ../sass/screen.scss */
+/* line 315, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-misc {
background: white;
box-shadow: -2px 2px 1px rgba(153, 118, 0, 0.2);
@@ -382,17 +399,17 @@ article:last-child {
padding: 15px;
padding-top: 5px;
}
-/* line 306, ../sass/screen.scss */
+/* line 324, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-misc .actu-minical {
display: block;
}
-/* line 309, ../sass/screen.scss */
+/* line 327, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-misc .actu-dates {
display: block;
text-align: right;
font-size: 0.9em;
}
-/* line 316, ../sass/screen.scss */
+/* line 334, ../sass/screen.scss */
.container .content section.actuhome article.actu .actu-overlay {
display: block;
background: none;
@@ -404,81 +421,81 @@ article:last-child {
z-index: 5;
opacity: 0;
}
-/* line 332, ../sass/screen.scss */
+/* line 350, ../sass/screen.scss */
.container .content section.actulist article.actu {
display: flex;
width: 100%;
padding: 0;
}
-/* line 337, ../sass/screen.scss */
+/* line 355, ../sass/screen.scss */
.container .content section.actulist article.actu .actu-image {
width: 30%;
max-width: 200px;
background-size: cover;
background-position: center center;
}
-/* line 343, ../sass/screen.scss */
+/* line 361, ../sass/screen.scss */
.container .content section.actulist article.actu .actu-infos {
padding: 15px;
flex: 1;
}
-/* line 347, ../sass/screen.scss */
+/* line 365, ../sass/screen.scss */
.container .content section.actulist article.actu .actu-infos .actu-dates {
font-weight: bold;
font-size: 0.9em;
}
-/* line 357, ../sass/screen.scss */
+/* line 375, ../sass/screen.scss */
.container .aside-wrap + .content {
max-width: 70%;
}
-/* line 362, ../sass/screen.scss */
+/* line 380, ../sass/screen.scss */
.calendar {
color: rgba(0, 0, 0, 0.8);
width: 200px;
}
-/* line 366, ../sass/screen.scss */
+/* line 384, ../sass/screen.scss */
.calendar td, .calendar th {
text-align: center;
vertical-align: middle;
border: 2px solid transparent;
padding: 1px;
}
-/* line 373, ../sass/screen.scss */
+/* line 391, ../sass/screen.scss */
.calendar th {
font-weight: bold;
}
-/* line 377, ../sass/screen.scss */
+/* line 395, ../sass/screen.scss */
.calendar td {
font-size: 0.8em;
width: 28px;
height: 28px;
}
-/* line 382, ../sass/screen.scss */
+/* line 400, ../sass/screen.scss */
.calendar td.out {
opacity: 0.3;
}
-/* line 385, ../sass/screen.scss */
+/* line 403, ../sass/screen.scss */
.calendar td.today {
border-bottom-color: #000;
}
-/* line 388, ../sass/screen.scss */
+/* line 406, ../sass/screen.scss */
.calendar td:nth-child(7), .calendar td:nth-child(6) {
background: rgba(0, 0, 0, 0.2);
}
-/* line 391, ../sass/screen.scss */
+/* line 409, ../sass/screen.scss */
.calendar td.hasevent {
position: relative;
font-weight: bold;
color: #90001C;
font-size: 1em;
}
-/* line 397, ../sass/screen.scss */
+/* line 415, ../sass/screen.scss */
.calendar td.hasevent > a {
padding: 3px;
color: #90001C !important;
}
-/* line 402, ../sass/screen.scss */
+/* line 420, ../sass/screen.scss */
.calendar td.hasevent ul.cal-events {
text-align: left;
display: none;
@@ -491,11 +508,11 @@ article:last-child {
padding: 5px;
background-color: #90001C;
}
-/* line 415, ../sass/screen.scss */
+/* line 433, ../sass/screen.scss */
.calendar td.hasevent ul.cal-events .datename {
display: none;
}
-/* line 418, ../sass/screen.scss */
+/* line 436, ../sass/screen.scss */
.calendar td.hasevent ul.cal-events:before {
top: -12px;
left: 38px;
@@ -504,33 +521,33 @@ article:last-child {
border: 6px solid transparent;
border-bottom-color: #90001C;
}
-/* line 426, ../sass/screen.scss */
+/* line 444, ../sass/screen.scss */
.calendar td.hasevent ul.cal-events a {
color: #fff;
}
-/* line 431, ../sass/screen.scss */
+/* line 449, ../sass/screen.scss */
.calendar td.hasevent > a:hover {
background-color: #90001C;
color: #fff !important;
}
-/* line 435, ../sass/screen.scss */
+/* line 453, ../sass/screen.scss */
.calendar td.hasevent > a:hover + ul.cal-events {
display: block;
}
-/* line 443, ../sass/screen.scss */
+/* line 461, ../sass/screen.scss */
#calendar-wrap .details {
border-top: 1px solid #90001C;
margin-top: 15px;
padding-top: 10px;
}
-/* line 448, ../sass/screen.scss */
+/* line 466, ../sass/screen.scss */
#calendar-wrap .details li.datename {
font-weight: bold;
font-size: 1.1em;
margin-bottom: 5px;
}
-/* line 449, ../sass/screen.scss */
+/* line 467, ../sass/screen.scss */
#calendar-wrap .details li.datename:after {
content: " :";
}
@@ -665,4 +682,8 @@ header .minimenu {
display: block;
padding: 15px;
}
+ /* line 122, ../sass/_responsive.scss */
+ .container .aside-wrap .aside .aside-content {
+ max-height: calc(100vh - 110px);
+ }
}
diff --git a/gestioncof/cms/static/cofcms/sass/_responsive.scss b/gestioncof/cms/static/cofcms/sass/_responsive.scss
index 28216a98..7cf4cb29 100644
--- a/gestioncof/cms/static/cofcms/sass/_responsive.scss
+++ b/gestioncof/cms/static/cofcms/sass/_responsive.scss
@@ -118,6 +118,10 @@ header .minimenu {
}
}
}
+
+ .aside-content {
+ max-height: calc(100vh - 110px);
+ }
}
}
}
diff --git a/gestioncof/cms/static/cofcms/sass/screen.scss b/gestioncof/cms/static/cofcms/sass/screen.scss
index 5b532373..0f2001f8 100644
--- a/gestioncof/cms/static/cofcms/sass/screen.scss
+++ b/gestioncof/cms/static/cofcms/sass/screen.scss
@@ -160,7 +160,25 @@ article {
}
a {
- color: darken($lien, 10%);
+ color: darken($lien, 15%);
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+
+ .aside-content {
+ max-height: 70vh;
+ max-height: calc(80vh - 150px);
+ overflow-y: auto;
+ }
+
+ ul.directory {
+ li {
+ list-style: "." inside;
+ padding-left: 10px;
+ text-indent: -10px;
+ margin-bottom: 5px;
+ }
}
}
}
diff --git a/gestioncof/cms/templates/cofcms/base.html b/gestioncof/cms/templates/cofcms/base.html
index ec3e51d5..f5d3a3f8 100644
--- a/gestioncof/cms/templates/cofcms/base.html
+++ b/gestioncof/cms/templates/cofcms/base.html
@@ -4,11 +4,13 @@
- {% block title %}Association des élèves de l'ENS Ulm{% endblock %}
+ {% block title %}{% trans "Association des élèves de l'ENS Ulm" %}{% endblock %}
{% block extra_head %}{% endblock %}
+
+
diff --git a/gestioncof/cms/templates/cofcms/cof_actu_index_page.html b/gestioncof/cms/templates/cofcms/cof_actu_index_page.html
index 7a6e1c7c..9ddd4550 100644
--- a/gestioncof/cms/templates/cofcms/cof_actu_index_page.html
+++ b/gestioncof/cms/templates/cofcms/cof_actu_index_page.html
@@ -7,7 +7,7 @@
{% endblock %}
-{% block aside_title %}Calendrier{% endblock %}
+{% block aside_title %}{% trans "Calendrier" %}{% endblock %}
{% block aside %}
{% calendar %}
@@ -22,10 +22,10 @@
{% endfor %}
{% if actus.has_previous %}
- Actualités plus récentes
+ {% trans "Actualités plus récentes" %}
{% endif %}
{% if actus.has_next %}
- Actualités plus anciennes
+ {% trans "Actualités plus anciennes" %}
{% endif %}
{% endblock %}
diff --git a/gestioncof/cms/templates/cofcms/cof_actu_page.html b/gestioncof/cms/templates/cofcms/cof_actu_page.html
index b531aedc..09e42e91 100644
--- a/gestioncof/cms/templates/cofcms/cof_actu_page.html
+++ b/gestioncof/cms/templates/cofcms/cof_actu_page.html
@@ -4,7 +4,7 @@
{% block content %}
{{ page.title }}
- A lieu {{ page|dates }}
+ {% trans "A lieu" %} {{ page|dates }}
{{ page.chapo }}
diff --git a/gestioncof/cms/templates/cofcms/cof_directory_page.html b/gestioncof/cms/templates/cofcms/cof_directory_page.html
index 8fe69bc5..595848c9 100644
--- a/gestioncof/cms/templates/cofcms/cof_directory_page.html
+++ b/gestioncof/cms/templates/cofcms/cof_directory_page.html
@@ -1,14 +1,14 @@
{% extends "cofcms/base_aside.html" %}
-{% load wagtailimages_tags cofcms_tags static %}
+{% load wagtailimages_tags cofcms_tags static i18n %}
{% block extra_head %}
{{ block.super }}
{% endblock %}
-{% block aside_title %}Accès rapide{% endblock %}
+{% block aside_title %}{% trans "Accès rapide" %}{% endblock %}
{% block aside %}
-
+
{% for entry in page.entries %}
- {{ entry.title }}
{% endfor %}
@@ -36,7 +36,7 @@
{% if block.block_type == "lien" %}
{{ block.value.texte }}
{% else %}
- {{ block.value.texte }} :