diff --git a/cof/settings/common.py b/cof/settings/common.py index 003cd6ce..92263ba9 100644 --- a/cof/settings/common.py +++ b/cof/settings/common.py @@ -65,6 +65,12 @@ INSTALLED_APPS = [ "django.contrib.sites", "django.contrib.messages", "django.contrib.staticfiles", + # Must be before django admin + # https://github.com/infoportugal/wagtail-modeltranslation/issues/193 + "wagtail_modeltranslation", + "wagtail_modeltranslation.makemigrations", + "wagtail_modeltranslation.migrate", + "modeltranslation", "django.contrib.admin", "django.contrib.admindocs", "bda", @@ -78,21 +84,20 @@ INSTALLED_APPS = [ "widget_tweaks", "custommail", "djconfig", - "wagtail.wagtailforms", - "wagtail.wagtailredirects", - "wagtail.wagtailembeds", - "wagtail.wagtailsites", - "wagtail.wagtailusers", - "wagtail.wagtailsnippets", - "wagtail.wagtaildocs", - "wagtail.wagtailimages", - "wagtail.wagtailsearch", - "wagtail.wagtailadmin", - "wagtail.wagtailcore", + "wagtail.contrib.forms", + "wagtail.contrib.redirects", + "wagtail.embeds", + "wagtail.sites", + "wagtail.users", + "wagtail.snippets", + "wagtail.documents", + "wagtail.images", + "wagtail.search", + "wagtail.admin", + "wagtail.core", "wagtail.contrib.modeladmin", - "wagtail.contrib.wagtailroutablepage", + "wagtail.contrib.routable_page", "wagtailmenus", - "wagtail_modeltranslation", "modelcluster", "taggit", "kfet.auth", @@ -113,8 +118,8 @@ MIDDLEWARE = [ "django.middleware.clickjacking.XFrameOptionsMiddleware", "django.middleware.security.SecurityMiddleware", "djconfig.middleware.DjConfigMiddleware", - "wagtail.wagtailcore.middleware.SiteMiddleware", - "wagtail.wagtailredirects.middleware.RedirectMiddleware", + "wagtail.core.middleware.SiteMiddleware", + "wagtail.contrib.redirects.middleware.RedirectMiddleware", "django.middleware.locale.LocaleMiddleware", ] diff --git a/cof/urls.py b/cof/urls.py index 19a0581f..aab91130 100644 --- a/cof/urls.py +++ b/cof/urls.py @@ -10,9 +10,9 @@ from django.contrib import admin from django.contrib.auth import views as django_views from django.views.generic.base import TemplateView from django_cas_ng import views as django_cas_views -from wagtail.wagtailadmin import urls as wagtailadmin_urls -from wagtail.wagtailcore import urls as wagtail_urls -from wagtail.wagtaildocs import urls as wagtaildocs_urls +from wagtail.admin import urls as wagtailadmin_urls +from wagtail.core import urls as wagtail_urls +from wagtail.documents import urls as wagtaildocs_urls from gestioncof import csv_views, views as gestioncof_views from gestioncof.autocomplete import autocomplete diff --git a/gestioncof/cms/fixtures/cofcms.json b/gestioncof/cms/fixtures/cofcms.json deleted file mode 100644 index 5517b4f7..00000000 --- a/gestioncof/cms/fixtures/cofcms.json +++ /dev/null @@ -1,1193 +0,0 @@ -[ -{ - "model": "wagtailcore.page", - "pk": 11, - "fields": { - "path": "000100010002", - "depth": 3, - "numchild": 6, - "title": "Site du COF", - "slug": "site", - "content_type": [ - "cofcms", - "cofrootpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/", - "owner": [ - "root" - ], - "seo_title": "Accueil", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T18:43:08.377Z", - "last_published_at": "2018-01-28T21:08:40.416Z", - "latest_revision_created_at": "2018-01-28T21:08:38.791Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 12, - "fields": { - "path": "0001000100020001", - "depth": 4, - "numchild": 3, - "title": "Actualit\u00e9s", - "slug": "actualites", - "content_type": [ - "cofcms", - "cofactuindexpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/actualites/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T18:45:07.969Z", - "last_published_at": "2018-01-22T18:45:07.752Z", - "latest_revision_created_at": "2018-01-22T18:45:07.752Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 13, - "fields": { - "path": "0001000100020002", - "depth": 4, - "numchild": 0, - "title": "Pr\u00e9sentation", - "slug": "pr\u00e9sentation", - "content_type": [ - "cofcms", - "cofpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/pr\u00e9sentation/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T18:47:15.337Z", - "last_published_at": "2018-01-22T20:10:37.728Z", - "latest_revision_created_at": "2018-01-22T20:10:37.728Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 14, - "fields": { - "path": "0001000100020003", - "depth": 4, - "numchild": 2, - "title": "Clubs", - "slug": "clubs", - "content_type": [ - "cofcms", - "cofdirectorypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/clubs/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T18:58:18.232Z", - "last_published_at": "2018-01-22T19:02:50.157Z", - "latest_revision_created_at": "2018-01-22T19:02:50.157Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 15, - "fields": { - "path": "0001000100020004", - "depth": 4, - "numchild": 3, - "title": "Partenaires", - "slug": "partenaires", - "content_type": [ - "cofcms", - "cofdirectorypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/partenaires/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T18:59:44.708Z", - "last_published_at": "2018-01-28T16:19:18.663Z", - "latest_revision_created_at": "2018-01-28T16:19:18.663Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 16, - "fields": { - "path": "0001000100020005", - "depth": 4, - "numchild": 1, - "title": "Cours Particuliers", - "slug": "cours-particuliers", - "content_type": [ - "cofcms", - "cofpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/cours-particuliers/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": true, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T19:00:35.984Z", - "last_published_at": "2018-01-22T19:02:23.524Z", - "latest_revision_created_at": "2018-01-22T19:02:23.524Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 17, - "fields": { - "path": "00010001000200010001", - "depth": 5, - "numchild": 0, - "title": "Singin' in the R'ENS", - "slug": "singin-in-the-rens", - "content_type": [ - "cofcms", - "cofactupage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/actualites/singin-in-the-rens/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T19:14:34.348Z", - "last_published_at": "2018-01-22T19:14:34.060Z", - "latest_revision_created_at": "2018-01-22T19:14:34.060Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 18, - "fields": { - "path": "00010001000200010002", - "depth": 5, - "numchild": 0, - "title": "Le Retour du Bur\u00f4", - "slug": "le-retour-du-bur\u00f4", - "content_type": [ - "cofcms", - "cofactupage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/actualites/le-retour-du-bur\u00f4/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T19:17:07.870Z", - "last_published_at": "2018-01-22T19:17:07.603Z", - "latest_revision_created_at": "2018-01-22T19:17:07.603Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 19, - "fields": { - "path": "00010001000200010003", - "depth": 5, - "numchild": 0, - "title": "\u00c9lection du Bur\u00f4 2018", - "slug": "\u00e9lection-du-bur\u00f4-2018", - "content_type": [ - "cofcms", - "cofactupage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/actualites/\u00e9lection-du-bur\u00f4-2018/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T19:22:34.232Z", - "last_published_at": "2018-01-22T19:22:33.946Z", - "latest_revision_created_at": "2018-01-22T19:22:33.946Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 20, - "fields": { - "path": "00010001000200030001", - "depth": 5, - "numchild": 0, - "title": "Arts Plastiques", - "slug": "arts-plastiques", - "content_type": [ - "cofcms", - "cofdirectoryentrypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/clubs/arts-plastiques/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T20:12:40.652Z", - "last_published_at": "2018-01-22T20:12:40.395Z", - "latest_revision_created_at": "2018-01-22T20:12:40.395Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 21, - "fields": { - "path": "00010001000200030002", - "depth": 5, - "numchild": 0, - "title": "B\u00e9d\u00e9th\u00e8que", - "slug": "b\u00e9d\u00e9th\u00e8que", - "content_type": [ - "cofcms", - "cofdirectoryentrypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/clubs/b\u00e9d\u00e9th\u00e8que/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T20:14:00.475Z", - "last_published_at": "2018-01-22T20:14:00.222Z", - "latest_revision_created_at": "2018-01-22T20:14:00.222Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 22, - "fields": { - "path": "00010001000200040001", - "depth": 5, - "numchild": 0, - "title": "MGEN", - "slug": "mgen", - "content_type": [ - "cofcms", - "cofdirectoryentrypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/partenaires/mgen/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T20:20:46.919Z", - "last_published_at": "2018-01-22T20:20:46.667Z", - "latest_revision_created_at": "2018-01-22T20:20:46.667Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 23, - "fields": { - "path": "00010001000200040002", - "depth": 5, - "numchild": 0, - "title": "Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", - "slug": "soci\u00e9t\u00e9-g\u00e9n\u00e9rale", - "content_type": [ - "cofcms", - "cofdirectoryentrypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/partenaires/soci\u00e9t\u00e9-g\u00e9n\u00e9rale/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-22T20:21:19.043Z", - "last_published_at": "2018-01-22T20:21:18.752Z", - "latest_revision_created_at": "2018-01-22T20:21:18.752Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 24, - "fields": { - "path": "00010001000200040003", - "depth": 5, - "numchild": 0, - "title": "MAIF", - "slug": "maif", - "content_type": [ - "cofcms", - "cofdirectoryentrypage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/partenaires/maif/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-28T16:20:33.653Z", - "last_published_at": "2018-01-28T16:20:33.392Z", - "latest_revision_created_at": "2018-01-28T16:20:33.392Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 25, - "fields": { - "path": "0001000100020006", - "depth": 4, - "numchild": 0, - "title": "Ne pas supprimer", - "slug": "utils", - "content_type": [ - "cofcms", - "cofutilpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-01-28T21:16:04.989Z", - "last_published_at": "2018-01-28T21:16:19.180Z", - "latest_revision_created_at": "2018-01-28T21:16:18.887Z", - "live_revision": null - } -}, -{ - "model": "wagtailcore.page", - "pk": 26, - "fields": { - "path": "00010001000200050001", - "depth": 5, - "numchild": 0, - "title": "Demande de petit cours", - "slug": "demande-de-petit-cours", - "content_type": [ - "cofcms", - "cofpage" - ], - "live": true, - "has_unpublished_changes": false, - "url_path": "/global/site/cours-particuliers/demande-de-petit-cours/", - "owner": [ - "root" - ], - "seo_title": "", - "show_in_menus": false, - "search_description": "", - "go_live_at": null, - "expire_at": null, - "expired": false, - "locked": false, - "first_published_at": "2018-03-21T19:54:20.527Z", - "last_published_at": "2018-03-21T19:54:20.527Z", - "latest_revision_created_at": "2018-03-21T19:54:20.302Z", - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": 132330 - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "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": [ - "root" - ], - "focal_point_x": null, - "focal_point_y": null, - "focal_point_width": null, - "focal_point_height": null, - "file_size": null - } -}, -{ - "model": "wagtailmenus.mainmenu", - "pk": 1, - "fields": { - "site": [ - "localhost", - 8000 - ], - "max_levels": 2, - "use_specific": 1 - } -}, -{ - "model": "wagtailmenus.flatmenu", - "pk": 2, - "fields": { - "site": [ - "localhost", - 8000 - ], - "title": "COF - liens externes", - "handle": "cof-nav-ext", - "heading": "", - "max_levels": 1, - "use_specific": 1 - } -}, -{ - "model": "wagtailmenus.flatmenu", - "pk": 3, - "fields": { - "site": [ - "localhost", - 8000 - ], - "title": "COF - liens internes", - "handle": "cof-nav-int", - "heading": "", - "max_levels": 1, - "use_specific": 1 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 7, - "fields": { - "sort_order": 0, - "link_page": null, - "link_url": "https://www.cof.ens.fr/bda/", - "link_text": "BdA", - "handle": "", - "url_append": "", - "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/", - "link_text": "BdS", - "handle": "", - "url_append": "", - "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", - "link_text": "GestioCOF", - "handle": "", - "url_append": "", - "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", - "link_text": "Le BOcal", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 2 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 11, - "fields": { - "sort_order": 4, - "link_page": null, - "link_url": "https://photos.cof.ens.fr/", - "link_text": "Serveur photos", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 2 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 12, - "fields": { - "sort_order": 5, - "link_page": null, - "link_url": "https://www.eleves.ens.fr", - "link_text": "Services élèves ENS", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 2 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 13, - "fields": { - "sort_order": 0, - "link_page": 13, - "link_url": null, - "link_text": "", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 3 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 14, - "fields": { - "sort_order": 1, - "link_page": 12, - "link_url": null, - "link_text": "", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 3 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 15, - "fields": { - "sort_order": 2, - "link_page": 14, - "link_url": null, - "link_text": "", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 3 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 16, - "fields": { - "sort_order": 3, - "link_page": 15, - "link_url": null, - "link_text": "", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 3 - } -}, -{ - "model": "wagtailmenus.flatmenuitem", - "pk": 17, - "fields": { - "sort_order": 4, - "link_page": 16, - "link_url": null, - "link_text": "", - "handle": "", - "url_append": "", - "allow_subnav": false, - "menu": 3 - } -}, -{ - "model": "cofcms.cofrootpage", - "pk": 11, - "fields": { - "title_fr": "Site du COF", - "title_en": "COF's website", - "slug_fr": "site", - "slug_en": null, - "url_path_fr": "/global/site/", - "url_path_en": "/global/site/", - "seo_title_fr": "Accueil", - "seo_title_en": "Home", - "search_description_fr": "", - "search_description_en": "", - "introduction": "

Bienvenue sur le site du COF

", - "introduction_fr": "

Bienvenue sur le site du COF

", - "introduction_en": "

Welcome to the COF's website

" - } -}, -{ - "model": "cofcms.cofpage", - "pk": 13, - "fields": { - "title_fr": "Pr\u00e9sentation", - "title_en": "Presentation", - "slug_fr": "pr\u00e9sentation", - "slug_en": "presentation", - "url_path_fr": "/global/site/pr\u00e9sentation/", - "url_path_en": "/global/site/presentation/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "[{\"id\": \"344a0786-f540-4d77-bbf5-59ab96bb529b\", \"value\": \"Quoi ?\", \"type\": \"heading\"}, {\"id\": \"6f46dd11-a7a8-4491-9b98-7adc56a75e42\", \"value\": \"

Le COF (Comit\\u00e9 d\\u2019Organisation des F\\u00eates), c\\u2019est le petit nom de \\nl\\u2019AEENS, l\\u2019Association des \\u00c9l\\u00e8ves de l\\u2019ENS (association de loi 1901). \\nC\\u2019est lui qui organise les\\u00a0\\u00e9v\\u00e8nements\\u00a0culturels, associatifs et bien s\\u00fbr\\n festifs, de l\\u2019\\u00c9cole normale.

\\n

Ses principales responsabilit\\u00e9s sont entre autres :

\\n\\n

Il est bien s\\u00fbr tr\\u00e8s li\\u00e9 au BDS (Bureau des Sports) avec qui il pr\\u00e9pare les InterENS sportives, mais qui est\\u00a0n\\u00e9anmoins\\u00a0une entit\\u00e9 distincte du COF.

\", \"type\": \"paragraph\"}, {\"id\": \"c02ba930-48ab-4f1f-8e3a-e8edeed1346d\", \"value\": \"Qui ?\", \"type\": \"heading\"}, {\"id\": \"6a1db5e4-06b3-44ae-bef1-2be9b049dc35\", \"value\": \"

Le COF c\\u2019est avant tout ses membres (environ 700 chaque ann\\u00e9e) et ses\\n clubs (entre 20 et 40 selon les ann\\u00e9es). Chaque club est g\\u00e9r\\u00e9 par un \\nresponsable (voir les pages des clubs).

\\n

Comme dans toute association il y a un bureau \\u2013 compos\\u00e9 de 12 personnes r\\u00e9\\u00e9lues tous les 6 mois.

\\n

Le COF organise au moins 3 Assembl\\u00e9es G\\u00e9n\\u00e9rales par an, une en \\noctobre pour attribuer les budgets annuels, une en f\\u00e9vrier pour \\nr\\u00e9ajuster les budgets, discuter des projets, des affaires courantes ; et\\n la derni\\u00e8re en juin pour faire un bilan de l\\u2019ann\\u00e9e, voter les \\ncotisations et les partenariats. C\\u2019est l\\u2019occasion pour tous les membres \\nde se rassembler et de faire entendre leur voix, pour les clubs de se \\npr\\u00e9senter et pour le Bur\\u00f4\\u2026 et de vous rendre des comptes ! Il y en a \\naussi une avant chaque \\u00e9lection afin d\\u2019\\u00e9couter la pr\\u00e9sentation des \\ncandidats au Bur\\u00f4.

\", \"type\": \"paragraph\"}, {\"id\": \"224a0c75-eb3c-4088-9091-cb1178e6f550\", \"value\": 33, \"type\": \"image\"}, {\"id\": \"0213e74b-321a-4357-a5f5-47aca37df908\", \"value\": \"Poste / Nom\\n\\n\\n\\n\\n\\t
Pr\\u00e9sident : Valentin Cocco
Vice-pr\\u00e9sident : Th\\u00e9o Mathevet
Tr\\u00e9sorier : Mathias Penot\\n\\n\\n\\t
Sous-tr\\u00e9sorier : Octave Tessiot
Secr\\u00e9taire : L\\u00e9na Gurriaran
Charg\\u00e9 de comm' : Cl\\u00e9ment de Mecquenem
Charg\\u00e9 de comm' adjoint : Charles Giroudot
Pr\\u00e9sidente du Bureau des Arts : Caroline Delattre
Bureau des Arts : Bryan Rimbault
Bureau des Arts : Philippe Danr\\u00e9
Bureau des Arts : Louise Garrigou
Bureau des Arts : Emile Laymand

Bureau des Arts : Cl\\u00e9mence Elmira

\", \"type\": \"paragraph\"}, {\"id\": \"7c37c61e-cff5-4b6b-9b5f-8c54120a9c75\", \"value\": \"O\\u00f9 ?\", \"type\": \"heading\"}, {\"id\": \"61a65072-1eb2-4f99-bad1-045c03594318\", \"value\": \"

Le COF dispose d\\u2019un local dans l\\u2019\\u00e9cole, au 45 rue d\\u2019Ulm. Il suffit de\\n traverser la cour aux Ernest puis de tourner tout de suite \\u00e0 gauche.

\", \"type\": \"paragraph\"}, {\"id\": \"3d399310-d415-47be-b9c6-7b01a4a3ffd3\", \"value\": \"Quand ?\", \"type\": \"heading\"}, {\"id\": \"c7bdee8c-6833-47a2-b4f0-ac9a21c6cf90\", \"value\": \"

Le COF assure deux permanences tous les jours (sauf samedi et dimanche) : une de 12h \\u00e0 14h, et une de 18h \\u00e0 20h.

\", \"type\": \"paragraph\"}, {\"id\": \"53358653-c518-4120-925a-5e314f064cf2\", \"value\": \"Des questions ?\", \"type\": \"heading\"}, {\"id\": \"6e6ac1b2-9eaf-44cd-a6f0-1c497148ee84\", \"value\": \"

Vous pouvez nous contacter facilement !

\\n\", \"type\": \"paragraph\"}]", - "body_fr": "[{\"id\": \"344a0786-f540-4d77-bbf5-59ab96bb529b\", \"value\": \"Quoi ?\", \"type\": \"heading\"}, {\"id\": \"6f46dd11-a7a8-4491-9b98-7adc56a75e42\", \"value\": \"

Le COF (Comit\\u00e9 d\\u2019Organisation des F\\u00eates), c\\u2019est le petit nom de \\nl\\u2019AEENS, l\\u2019Association des \\u00c9l\\u00e8ves de l\\u2019ENS (association de loi 1901). \\nC\\u2019est lui qui organise les\\u00a0\\u00e9v\\u00e8nements\\u00a0culturels, associatifs et bien s\\u00fbr\\n festifs, de l\\u2019\\u00c9cole normale.

\\n

Ses principales responsabilit\\u00e9s sont entre autres :

\\n\\n

Il est bien s\\u00fbr tr\\u00e8s li\\u00e9 au BDS (Bureau des Sports) avec qui il pr\\u00e9pare les InterENS sportives, mais qui est\\u00a0n\\u00e9anmoins\\u00a0une entit\\u00e9 distincte du COF.

\", \"type\": \"paragraph\"}, {\"id\": \"c02ba930-48ab-4f1f-8e3a-e8edeed1346d\", \"value\": \"Qui ?\", \"type\": \"heading\"}, {\"id\": \"6a1db5e4-06b3-44ae-bef1-2be9b049dc35\", \"value\": \"

Le COF c\\u2019est avant tout ses membres (environ 700 chaque ann\\u00e9e) et ses\\n clubs (entre 20 et 40 selon les ann\\u00e9es). Chaque club est g\\u00e9r\\u00e9 par un \\nresponsable (voir les pages des clubs).

\\n

Comme dans toute association il y a un bureau \\u2013 compos\\u00e9 de 12 personnes r\\u00e9\\u00e9lues tous les 6 mois.

\\n

Le COF organise au moins 3 Assembl\\u00e9es G\\u00e9n\\u00e9rales par an, une en \\noctobre pour attribuer les budgets annuels, une en f\\u00e9vrier pour \\nr\\u00e9ajuster les budgets, discuter des projets, des affaires courantes ; et\\n la derni\\u00e8re en juin pour faire un bilan de l\\u2019ann\\u00e9e, voter les \\ncotisations et les partenariats. C\\u2019est l\\u2019occasion pour tous les membres \\nde se rassembler et de faire entendre leur voix, pour les clubs de se \\npr\\u00e9senter et pour le Bur\\u00f4\\u2026 et de vous rendre des comptes ! Il y en a \\naussi une avant chaque \\u00e9lection afin d\\u2019\\u00e9couter la pr\\u00e9sentation des \\ncandidats au Bur\\u00f4.

\", \"type\": \"paragraph\"}, {\"id\": \"224a0c75-eb3c-4088-9091-cb1178e6f550\", \"value\": 33, \"type\": \"image\"}, {\"id\": \"0213e74b-321a-4357-a5f5-47aca37df908\", \"value\": \"Poste / Nom\\n\\n\\n\\n\\n\\t
Pr\\u00e9sident : Valentin Cocco
Vice-pr\\u00e9sident : Th\\u00e9o Mathevet
Tr\\u00e9sorier : Mathias Penot\\n\\n\\n\\t
Sous-tr\\u00e9sorier : Octave Tessiot
Secr\\u00e9taire : L\\u00e9na Gurriaran
Charg\\u00e9 de comm' : Cl\\u00e9ment de Mecquenem
Charg\\u00e9 de comm' adjoint : Charles Giroudot
Pr\\u00e9sidente du Bureau des Arts : Caroline Delattre
Bureau des Arts : Bryan Rimbault
Bureau des Arts : Philippe Danr\\u00e9
Bureau des Arts : Louise Garrigou
Bureau des Arts : Emile Laymand

Bureau des Arts : Cl\\u00e9mence Elmira

\", \"type\": \"paragraph\"}, {\"id\": \"7c37c61e-cff5-4b6b-9b5f-8c54120a9c75\", \"value\": \"O\\u00f9 ?\", \"type\": \"heading\"}, {\"id\": \"61a65072-1eb2-4f99-bad1-045c03594318\", \"value\": \"

Le COF dispose d\\u2019un local dans l\\u2019\\u00e9cole, au 45 rue d\\u2019Ulm. Il suffit de\\n traverser la cour aux Ernest puis de tourner tout de suite \\u00e0 gauche.

\", \"type\": \"paragraph\"}, {\"id\": \"3d399310-d415-47be-b9c6-7b01a4a3ffd3\", \"value\": \"Quand ?\", \"type\": \"heading\"}, {\"id\": \"c7bdee8c-6833-47a2-b4f0-ac9a21c6cf90\", \"value\": \"

Le COF assure deux permanences tous les jours (sauf samedi et dimanche) : une de 12h \\u00e0 14h, et une de 18h \\u00e0 20h.

\", \"type\": \"paragraph\"}, {\"id\": \"53358653-c518-4120-925a-5e314f064cf2\", \"value\": \"Des questions ?\", \"type\": \"heading\"}, {\"id\": \"6e6ac1b2-9eaf-44cd-a6f0-1c497148ee84\", \"value\": \"

Vous pouvez nous contacter facilement !

\\n\", \"type\": \"paragraph\"}]", - "body_en": "[]" - } -}, -{ - "model": "cofcms.cofpage", - "pk": 16, - "fields": { - "title_fr": "Cours Particuliers", - "title_en": null, - "slug_fr": "cours-particuliers", - "slug_en": null, - "url_path_fr": "/global/site/cours-particuliers/", - "url_path_en": "/global/site/cours-particuliers/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "[{\"id\": \"dbf9f940-51a6-43d1-89ff-1bf0648cead8\", \"value\": \"

Les \\u00e9l\\u00e8ves de l'ENS peuvent donner des cours particuliers. Si vous \\n\\u00eates int\\u00e9ress\\u00e9 pour en prendre, merci de faire une demande de petits \\ncours sur cette page.

\\n \\n \\n\\t\\n\\t
\\n\\tSi vous \\u00eates \\u00e9l\\u00e8ve de l'\\u00e9cole, vous pouvez g\\u00e9rer vos petits cours sur GestioCOF.\", \"type\": \"paragraph\"}]", - "body_fr": "[{\"id\": \"dbf9f940-51a6-43d1-89ff-1bf0648cead8\", \"value\": \"

Les \\u00e9l\\u00e8ves de l'ENS peuvent donner des cours particuliers. Si vous \\n\\u00eates int\\u00e9ress\\u00e9 pour en prendre, merci de faire une demande de petits \\ncours sur cette page.

\\n \\n \\n\\t\\n\\t
\\n\\tSi vous \\u00eates \\u00e9l\\u00e8ve de l'\\u00e9cole, vous pouvez g\\u00e9rer vos petits cours sur GestioCOF.\", \"type\": \"paragraph\"}]", - "body_en": "[]" - } -}, -{ - "model": "cofcms.cofpage", - "pk": 26, - "fields": { - "title_fr": "Demande de petit cours", - "title_en": null, - "slug_fr": "demande-de-petit-cours", - "slug_en": null, - "url_path_fr": "/global/site/cours-particuliers/demande-de-petit-cours/", - "url_path_en": "/global/site/cours-particuliers/demande-de-petit-cours/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "[{\"value\": {\"url\": \"https://www.cof.ens.fr/gestion/petitcours/demande-raw\", \"height\": \"1050\"}, \"id\": \"397ff222-6c1b-4e5c-a971-a50621dd83b3\", \"type\": \"iframe\"}]", - "body_fr": "[{\"value\": {\"url\": \"https://www.cof.ens.fr/gestion/petitcours/demande-raw\", \"height\": \"1050\"}, \"id\": \"397ff222-6c1b-4e5c-a971-a50621dd83b3\", \"type\": \"iframe\"}]", - "body_en": "[]" - } -}, -{ - "model": "cofcms.cofactuindexpage", - "pk": 12, - "fields": { - "title_fr": "Actualit\u00e9s", - "title_en": "News", - "slug_fr": "actualites", - "slug_en": "news", - "url_path_fr": "/global/site/actualites/", - "url_path_en": "/global/site/news/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "" - } -}, -{ - "model": "cofcms.cofactupage", - "pk": 17, - "fields": { - "title_fr": "Singin' in the R'ENS", - "title_en": null, - "slug_fr": "singin-in-the-rens", - "slug_en": null, - "url_path_fr": "/global/site/actualites/singin-in-the-rens/", - "url_path_en": "/global/site/news/singin-in-the-rens/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "chapo": "Soir\u00e9e com\u00e9die musicale", - "chapo_fr": "Soir\u00e9e com\u00e9die musicale", - "chapo_en": "", - "body": "Je chante dans l'ENS
Je chante dans l'ENS
Cette glorieuse soir\u00e9e
Me rendra le sourire
Je tournoie sur la piste
Lumi\u00e8re noire au plafond
Vibrations dans mon coeur
Et j'suis pr\u00eat\u00b7e \u00e0 chanter
Que la foule endiabl\u00e9e
Chasse tous mes tracassins
Viens \u00e0 notre soir\u00e9e
On va bien s'amuser
Oui descends en K-F\u00eat
Avec le sourire aux l\u00e8vres
Et puis chante
Chante dans l'ENS !

\n Une ambiance de com\u00e9die musicale, de la danse, du chant, et beaucoup de\n bonne humeur : venez nombreux\u00b7ses jeudi 25 janvier pour notre soir\u00e9e \nSingin' in the R'ENS, qui aura lieu en K-F\u00eat d\u00e8s 23h !

", - "body_fr": "Je chante dans l'ENS
Je chante dans l'ENS
Cette glorieuse soir\u00e9e
Me rendra le sourire
Je tournoie sur la piste
Lumi\u00e8re noire au plafond
Vibrations dans mon coeur
Et j'suis pr\u00eat\u00b7e \u00e0 chanter
Que la foule endiabl\u00e9e
Chasse tous mes tracassins
Viens \u00e0 notre soir\u00e9e
On va bien s'amuser
Oui descends en K-F\u00eat
Avec le sourire aux l\u00e8vres
Et puis chante
Chante dans l'ENS !

\n Une ambiance de com\u00e9die musicale, de la danse, du chant, et beaucoup de\n bonne humeur : venez nombreux\u00b7ses jeudi 25 janvier pour notre soir\u00e9e \nSingin' in the R'ENS, qui aura lieu en K-F\u00eat d\u00e8s 23h !

", - "body_en": "", - "image": 34, - "is_event": true, - "date_start": "2018-01-25T21:00:00Z", - "date_end": null, - "all_day": false - } -}, -{ - "model": "cofcms.cofactupage", - "pk": 18, - "fields": { - "title_fr": "Le Retour du Bur\u00f4", - "title_en": null, - "slug_fr": "le-retour-du-bur\u00f4", - "slug_en": null, - "url_path_fr": "/global/site/actualites/le-retour-du-bur\u00f4/", - "url_path_en": "/global/site/news/le-retour-du-bur\u00f4/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "chapo": "Premi\u00e8re soir\u00e9e du nouveau COF", - "chapo_fr": "Premi\u00e8re soir\u00e9e du nouveau COF", - "chapo_en": "", - "body": "Le Retour du \nBur\u00f4, qu'est-ce que c'est donc ? La premi\u00e8re soir\u00e9e du nouveau COF pardi\n ! Le th\u00e8me ? Top : je suis une saga cin\u00e9matographique \u00e0 grand succ\u00e8s, \nje compte actuellement huit \u00e9pisodes (et demi) \u00e0 mon actif, j'ai fait \nr\u00eaver des g\u00e9n\u00e9rations enti\u00e8res depuis 1977, m\u00eame sans m'avoir vu vous me\n connaissez sans doute pour une c\u00e9l\u00e8bre r\u00e9plique, je suis, je suis... Je\n suis ton p\u00e8re ! Hum hum, je suis : Star Wars !
Au programme, bracelets-lasers, \u00e9toiles dans les yeux, et voyage musical interstellaire.

Rendez-vous jeudi 18 janvier en K-F\u00eat, \u00e0 partir de 22h ! Venez du COFt\u00e9 obscur, on a des cookies !

", - "body_fr": "Le Retour du \nBur\u00f4, qu'est-ce que c'est donc ? La premi\u00e8re soir\u00e9e du nouveau COF pardi\n ! Le th\u00e8me ? Top : je suis une saga cin\u00e9matographique \u00e0 grand succ\u00e8s, \nje compte actuellement huit \u00e9pisodes (et demi) \u00e0 mon actif, j'ai fait \nr\u00eaver des g\u00e9n\u00e9rations enti\u00e8res depuis 1977, m\u00eame sans m'avoir vu vous me\n connaissez sans doute pour une c\u00e9l\u00e8bre r\u00e9plique, je suis, je suis... Je\n suis ton p\u00e8re ! Hum hum, je suis : Star Wars !
Au programme, bracelets-lasers, \u00e9toiles dans les yeux, et voyage musical interstellaire.

Rendez-vous jeudi 18 janvier en K-F\u00eat, \u00e0 partir de 22h ! Venez du COFt\u00e9 obscur, on a des cookies !

", - "body_en": "", - "image": 35, - "is_event": true, - "date_start": "2018-01-18T21:00:00Z", - "date_end": null, - "all_day": false - } -}, -{ - "model": "cofcms.cofactupage", - "pk": 19, - "fields": { - "title_fr": "\u00c9lection du Bur\u00f4 2018", - "title_en": null, - "slug_fr": "\u00e9lection-du-bur\u00f4-2018", - "slug_en": null, - "url_path_fr": "/global/site/actualites/\u00e9lection-du-bur\u00f4-2018/", - "url_path_en": "/global/site/news/\u00e9lection-du-bur\u00f4-2018/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "chapo": "", - "chapo_fr": "", - "chapo_en": "", - "body": "Les campagnes battent leurs pleins rythm\u00e9es par de nombreux petits \nd\u00e9jeuners, soir\u00e9es et autres \u00e9v\u00e9nements organis\u00e9s par les diff\u00e9rentes \nlistes et ces deux semaines se finiront par l\u2019\u00e9lection du nouveau Bur\u00f4.\n

\u00a0

\n

\u00a0

\n

Passez donc en aquarium pour le premier tour des \u00e9lections du Bur\u00f4 du\n COF 2018 ! Si vous ne pouvez pas venir en personne, un vote \n\u00e9lectronique sera mis en place !

", - "body_fr": "Les campagnes battent leurs pleins rythm\u00e9es par de nombreux petits \nd\u00e9jeuners, soir\u00e9es et autres \u00e9v\u00e9nements organis\u00e9s par les diff\u00e9rentes \nlistes et ces deux semaines se finiront par l\u2019\u00e9lection du nouveau Bur\u00f4.\n

\u00a0

\n

\u00a0

\n

Passez donc en aquarium pour le premier tour des \u00e9lections du Bur\u00f4 du\n COF 2018 ! Si vous ne pouvez pas venir en personne, un vote \n\u00e9lectronique sera mis en place !

", - "body_en": "", - "image": 36, - "is_event": false, - "date_start": "2017-12-18T19:22:00Z", - "date_end": "2018-01-25T19:22:00Z", - "all_day": true - } -}, -{ - "model": "cofcms.cofdirectorypage", - "pk": 14, - "fields": { - "title_fr": "Clubs", - "title_en": null, - "slug_fr": "clubs", - "slug_en": null, - "url_path_fr": "/global/site/clubs/", - "url_path_en": "/global/site/clubs/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "introduction": "
\nVoici tous les clubs du COF !\n

La plupart de ces clubs ont des mailing lists, auxquelles il est souvent possible de s\u2019inscrire via le serveur mail sympa.

", - "introduction_fr": "
\nVoici tous les clubs du COF !\n

La plupart de ces clubs ont des mailing lists, auxquelles il est souvent possible de s\u2019inscrire via le serveur mail sympa.

", - "introduction_en": "", - "alphabetique": true - } -}, -{ - "model": "cofcms.cofdirectorypage", - "pk": 15, - "fields": { - "title_fr": "Partenaires", - "title_en": null, - "slug_fr": "partenaires", - "slug_en": null, - "url_path_fr": "/global/site/partenaires/", - "url_path_en": "/global/site/partenaires/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "introduction": "

Le COF a n\u00e9goci\u00e9 pour vous de nombreux partenariats ! Bien s\u00fbr, il faut \u00eatre membre du COF pour en b\u00e9n\u00e9ficier.

", - "introduction_fr": "

Le COF a n\u00e9goci\u00e9 pour vous de nombreux partenariats ! Bien s\u00fbr, il faut \u00eatre membre du COF pour en b\u00e9n\u00e9ficier.

", - "introduction_en": "", - "alphabetique": false - } -}, -{ - "model": "cofcms.cofdirectoryentrypage", - "pk": 20, - "fields": { - "title_fr": "Arts Plastiques", - "title_en": null, - "slug_fr": "arts-plastiques", - "slug_en": null, - "url_path_fr": "/global/site/clubs/arts-plastiques/", - "url_path_en": "/global/site/clubs/arts-plastiques/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "Le club Arts Plastiques te propose un lieu de rencontre entre \npersonnes int\u00e9ress\u00e9es par les arts plastiques, le dessin ou la peinture.
\nMais, que faisons-nous au club Arts Plastiques ? D\u2019abord, des s\u00e9ances \nd\u2019initiation; et puis des s\u00e9ances \u00e0 th\u00e8me, avec des intervenants; des \nprojets communs; des sorties croquis\u2026

\nQue tu n\u2019aies jamais touch\u00e9 \u00e0 un pinceau, ou que tu sois d\u00e9j\u00e0 un-e grand-e artiste, n\u2019h\u00e9site pas \u00e0 venir nous rejoindre !

", - "body_fr": "Le club Arts Plastiques te propose un lieu de rencontre entre \npersonnes int\u00e9ress\u00e9es par les arts plastiques, le dessin ou la peinture.
\nMais, que faisons-nous au club Arts Plastiques ? D\u2019abord, des s\u00e9ances \nd\u2019initiation; et puis des s\u00e9ances \u00e0 th\u00e8me, avec des intervenants; des \nprojets communs; des sorties croquis\u2026

\nQue tu n\u2019aies jamais touch\u00e9 \u00e0 un pinceau, ou que tu sois d\u00e9j\u00e0 un-e grand-e artiste, n\u2019h\u00e9site pas \u00e0 venir nous rejoindre !

", - "body_en": "", - "links": "[{\"id\": \"8988ae9e-7b34-4d76-957b-04892697ff98\", \"value\": {\"texte\": \"Mailing-liste\", \"email\": \"artsplastiques@ens.fr\"}, \"type\": \"contact\"}]", - "links_fr": "[{\"id\": \"8988ae9e-7b34-4d76-957b-04892697ff98\", \"value\": {\"texte\": \"Mailing-liste\", \"email\": \"artsplastiques@ens.fr\"}, \"type\": \"contact\"}]", - "links_en": "[]", - "image": 37 - } -}, -{ - "model": "cofcms.cofdirectoryentrypage", - "pk": 21, - "fields": { - "title_fr": "B\u00e9d\u00e9th\u00e8que", - "title_en": null, - "slug_fr": "b\u00e9d\u00e9th\u00e8que", - "slug_en": null, - "url_path_fr": "/global/site/clubs/b\u00e9d\u00e9th\u00e8que/", - "url_path_en": "/global/site/clubs/b\u00e9d\u00e9th\u00e8que/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "De Riad Sattouf \u00e0 Katsuhiro Otomo, en passant par Andr\u00e9 Franquin, \nJacques Tardi, Didier Tarquin et Georges Wolinski, la BDth\u00e8que poss\u00e8de \nune collection de quatre mille bandes dessin\u00e9es sur une cinquantaine \nd\u2019\u00e9tag\u00e8res, en constante croissance. Class\u00e9es par dessinateur et \ncatalogu\u00e9es, toutes ces oeuvres offrent un large panorama du XXe si\u00e8cle \net sont librement consultables sur place sans mod\u00e9ration ! \u00c0 cela \ns\u2019ajoutent des milliers de p\u00e9riodiques sp\u00e9cialis\u00e9s datant de l\u2019\u00e2ge d\u2019or \nde la BD franco-belge, un Enfer cach\u00e9, et quelques conseils de lecture \n\u00e9crits par des fans.

\nLe club organise ausis des \u00e9v\u00e9nements divers par exemple un s\u00e9minaire \nsur la bande dessin\u00e9e, qui ne demande qu\u2019\u00e0 \u00eatre relanc\u00e9. \u00c0 l\u2019ordre du \njour, la mise en place d\u2019une exp\u00e9dition \u00e0 Angoul\u00eame avec le BDA en \njanvier 2017 pourrait m\u00eame se faire avec ton aide. Tous les \ndons et suggestions d\u2019achats sont les bienvenus. Pour participer aux \nd\u00e9cisions d\u2019achats, \u00e9crire des suggesions de lecture dans le BOcal, \nchoisir les bandes dessin\u00e9es \u00e0 mettre en valeur, n\u2019h\u00e9site pas \u00e0 \nrejoindre le club!

", - "body_fr": "De Riad Sattouf \u00e0 Katsuhiro Otomo, en passant par Andr\u00e9 Franquin, \nJacques Tardi, Didier Tarquin et Georges Wolinski, la BDth\u00e8que poss\u00e8de \nune collection de quatre mille bandes dessin\u00e9es sur une cinquantaine \nd\u2019\u00e9tag\u00e8res, en constante croissance. Class\u00e9es par dessinateur et \ncatalogu\u00e9es, toutes ces oeuvres offrent un large panorama du XXe si\u00e8cle \net sont librement consultables sur place sans mod\u00e9ration ! \u00c0 cela \ns\u2019ajoutent des milliers de p\u00e9riodiques sp\u00e9cialis\u00e9s datant de l\u2019\u00e2ge d\u2019or \nde la BD franco-belge, un Enfer cach\u00e9, et quelques conseils de lecture \n\u00e9crits par des fans.

\nLe club organise ausis des \u00e9v\u00e9nements divers par exemple un s\u00e9minaire \nsur la bande dessin\u00e9e, qui ne demande qu\u2019\u00e0 \u00eatre relanc\u00e9. \u00c0 l\u2019ordre du \njour, la mise en place d\u2019une exp\u00e9dition \u00e0 Angoul\u00eame avec le BDA en \njanvier 2017 pourrait m\u00eame se faire avec ton aide. Tous les \ndons et suggestions d\u2019achats sont les bienvenus. Pour participer aux \nd\u00e9cisions d\u2019achats, \u00e9crire des suggesions de lecture dans le BOcal, \nchoisir les bandes dessin\u00e9es \u00e0 mettre en valeur, n\u2019h\u00e9site pas \u00e0 \nrejoindre le club!

", - "body_en": "", - "links": "[{\"id\": \"9708004f-5d09-4cef-a60a-31b63fe5f377\", \"value\": {\"texte\": \"Mailing-liste\", \"email\": \"bdtheque@ens.fr\"}, \"type\": \"contact\"}]", - "links_fr": "[{\"id\": \"9708004f-5d09-4cef-a60a-31b63fe5f377\", \"value\": {\"texte\": \"Mailing-liste\", \"email\": \"bdtheque@ens.fr\"}, \"type\": \"contact\"}]", - "links_en": "[]", - "image": null - } -}, -{ - "model": "cofcms.cofdirectoryentrypage", - "pk": 22, - "fields": { - "title_fr": "MGEN", - "title_en": null, - "slug_fr": "mgen", - "slug_en": null, - "url_path_fr": "/global/site/partenaires/mgen/", - "url_path_en": "/global/site/partenaires/mgen/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "

La MGEN est un des \nprincipaux partenaires du COF. Elle\u00a0participe au financement des \nprincipaux \u00e9v\u00e9nements (Jour le plus court, 48h des Arts) et \u00e0 \nl\u2019impression de la Plakette Alpha.

\n

Elle dispose \u00e9galement d\u2019un stand chaque ann\u00e9e au moment de la \nrentr\u00e9e, afin de proposer ses prestations aux pensionnaires de l\u2019Ecole.

", - "body_fr": "

La MGEN est un des \nprincipaux partenaires du COF. Elle\u00a0participe au financement des \nprincipaux \u00e9v\u00e9nements (Jour le plus court, 48h des Arts) et \u00e0 \nl\u2019impression de la Plakette Alpha.

\n

Elle dispose \u00e9galement d\u2019un stand chaque ann\u00e9e au moment de la \nrentr\u00e9e, afin de proposer ses prestations aux pensionnaires de l\u2019Ecole.

", - "body_en": "", - "links": "[{\"id\": \"031dc9b4-9ac6-411c-8131-a3021c4edd0c\", \"value\": {\"url\": \"https://www.mgen.fr/accueil/\", \"texte\": \"Site internet\"}, \"type\": \"lien\"}]", - "links_fr": "[{\"id\": \"031dc9b4-9ac6-411c-8131-a3021c4edd0c\", \"value\": {\"url\": \"https://www.mgen.fr/accueil/\", \"texte\": \"Site internet\"}, \"type\": \"lien\"}]", - "links_en": "[]", - "image": 38 - } -}, -{ - "model": "cofcms.cofdirectoryentrypage", - "pk": 23, - "fields": { - "title_fr": "Soci\u00e9t\u00e9 G\u00e9n\u00e9rale", - "title_en": null, - "slug_fr": "soci\u00e9t\u00e9-g\u00e9n\u00e9rale", - "slug_en": null, - "url_path_fr": "/global/site/partenaires/soci\u00e9t\u00e9-g\u00e9n\u00e9rale/", - "url_path_en": "/global/site/partenaires/soci\u00e9t\u00e9-g\u00e9n\u00e9rale/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "

Si vous ouvrez un compte \u00e0 la SoG\u00e9, ils vous versent 140\u20ac et versent \naussi une somme au bureau, nous permettant de financer vos clubs et \n\u00e9v\u00e8nements. Vous pouvez donc rembourser votre cotisation au COF (voire \nplus) rien qu\u2019en ouvrant un compte !

\n

Vous devez ouvrir ce compte lors des journ\u00e9es de rentr\u00e9e, lorsque la \nSoG\u00e9 a un stand \u00e0 l\u2019Ecole, ou toute l\u2019ann\u00e9e \u00e0 leur agence au 38 rue \nGay-Lussac.

", - "body_fr": "

Si vous ouvrez un compte \u00e0 la SoG\u00e9, ils vous versent 140\u20ac et versent \naussi une somme au bureau, nous permettant de financer vos clubs et \n\u00e9v\u00e8nements. Vous pouvez donc rembourser votre cotisation au COF (voire \nplus) rien qu\u2019en ouvrant un compte !

\n

Vous devez ouvrir ce compte lors des journ\u00e9es de rentr\u00e9e, lorsque la \nSoG\u00e9 a un stand \u00e0 l\u2019Ecole, ou toute l\u2019ann\u00e9e \u00e0 leur agence au 38 rue \nGay-Lussac.

", - "body_en": "", - "links": "[]", - "links_fr": "[]", - "links_en": "[]", - "image": null - } -}, -{ - "model": "cofcms.cofdirectoryentrypage", - "pk": 24, - "fields": { - "title_fr": "MAIF", - "title_en": null, - "slug_fr": "maif", - "slug_en": null, - "url_path_fr": "/global/site/partenaires/maif/", - "url_path_en": "/global/site/partenaires/maif/", - "seo_title_fr": null, - "seo_title_en": null, - "search_description_fr": "", - "search_description_en": "", - "body": "

La Maif\u00a0est un partenaire important du COF, et participe notamment au financement de la Plakette.

\n

Elle est aussi pr\u00e9sente \u00e0 chaque rentr\u00e9e pour proposer ses services sous la forme d\u2019un stand d\u2019information.

", - "body_fr": "

La Maif\u00a0est un partenaire important du COF, et participe notamment au financement de la Plakette.

\n

Elle est aussi pr\u00e9sente \u00e0 chaque rentr\u00e9e pour proposer ses services sous la forme d\u2019un stand d\u2019information.

", - "body_en": "", - "links": "[{\"id\": \"87e216ff-343e-4f64-aae8-1141809a6631\", \"value\": {\"url\": \"http://www.maif.fr/accueil.html\", \"texte\": \"Site internet\"}, \"type\": \"lien\"}]", - "links_fr": "[{\"id\": \"87e216ff-343e-4f64-aae8-1141809a6631\", \"value\": {\"url\": \"http://www.maif.fr/accueil.html\", \"texte\": \"Site internet\"}, \"type\": \"lien\"}]", - "links_en": "[]", - "image": 39 - } -}, -{ - "model": "cofcms.cofutilpage", - "pk": 25, - "fields": {} -} -] diff --git a/gestioncof/cms/fixtures/examplesite.json b/gestioncof/cms/fixtures/examplesite.json new file mode 100644 index 00000000..67e12161 --- /dev/null +++ b/gestioncof/cms/fixtures/examplesite.json @@ -0,0 +1,696 @@ +[ +{ + "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": [ + "cofcms", + "cofrootpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/site/", + "url_path_fr": "/global/site/", + "url_path_en": "/global/site/", + "owner": [ + "root" + ], + "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": [ + "cofcms", + "cofpage" + ], + "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": [ + "root" + ], + "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": [ + "cofcms", + "cofactuindexpage" + ], + "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": [ + "root" + ], + "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": [ + "cofcms", + "cofactupage" + ], + "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": [ + "root" + ], + "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": [ + "cofcms", + "cofactupage" + ], + "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": [ + "root" + ], + "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": [ + "cofcms", + "cofdirectorypage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/site/clubs/", + "url_path_fr": "/global/site/clubs/", + "url_path_en": "/global/site/clubs/", + "owner": [ + "root" + ], + "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": [ + "cofcms", + "cofdirectoryentrypage" + ], + "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": [ + "root" + ], + "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": "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": "[{\"type\": \"paragraph\", \"id\": \"0b3a92bd-1e27-433b-842c-ab4f0a2750ad\", \"value\": \"

On est le COF on est tout gentil

\"}]", + "body_fr": "[{\"type\": \"paragraph\", \"id\": \"0b3a92bd-1e27-433b-842c-ab4f0a2750ad\", \"value\": \"

On est le COF on est tout gentil

\"}]", + "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": "[{\"type\": \"contact\", \"id\": \"cf198b98-0b84-4f38-ac00-6d883cfd60a4\", \"value\": {\"email\": \"artsplastiques@ens.fr\", \"texte\": \"Liste Mails\"}}]", + "links_fr": "[{\"type\": \"contact\", \"id\": \"cf198b98-0b84-4f38-ac00-6d883cfd60a4\", \"value\": {\"email\": \"artsplastiques@ens.fr\", \"texte\": \"Liste Mails\"}}]", + "links_en": "[]", + "image": 37 + } +}, +{ + "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": [ + "root" + ], + "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": [ + "root" + ], + "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": [ + "root" + ], + "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": [ + "root" + ], + "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": [ + "root" + ], + "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": [ + "root" + ], + "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": [ + "root" + ], + "focal_point_x": null, + "focal_point_y": null, + "focal_point_width": null, + "focal_point_height": null, + "file_size": null, + "file_hash": "" + } +}, +{ + "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": [ + "localhost", + 8000 + ], + "title": "COF - liens externes", + "handle": "cof-nav-ext", + "heading": "", + "max_levels": 1, + "use_specific": 1 + } +}, +{ + "model": "wagtailmenus.flatmenu", + "pk": 4, + "fields": { + "site": [ + "localhost", + 8000 + ], + "title": "COF - liens internes", + "handle": "cof-nav-int", + "heading": "", + "max_levels": 1, + "use_specific": 1 + } +} +] diff --git a/gestioncof/cms/migrations/0001_initial.py b/gestioncof/cms/migrations/0001_initial.py index 27fe51ff..6c6a801e 100644 --- a/gestioncof/cms/migrations/0001_initial.py +++ b/gestioncof/cms/migrations/0001_initial.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.9 on 2018-01-20 19:10 +# Generated by Django 1.11.18 on 2019-02-04 20:45 from __future__ import unicode_literals import django.db.models.deletion -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks +import wagtail.contrib.routable_page.models +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.images.blocks from django.db import migrations, models import gestioncof.cms.models @@ -16,8 +17,8 @@ class Migration(migrations.Migration): initial = True dependencies = [ - ("wagtailcore", "0033_remove_golive_expiry_help_text"), - ("wagtailimages", "0019_delete_filter"), + ("wagtailimages", "0021_image_file_hash"), + ("wagtailcore", "0040_page_draft_title"), ] operations = [ @@ -34,89 +35,7 @@ class Migration(migrations.Migration): serialize=False, to="wagtailcore.Page", ), - ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), + ) ], options={ "verbose_name": "Index des actualités", @@ -138,88 +57,6 @@ class Migration(migrations.Migration): to="wagtailcore.Page", ), ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), ( "chapo", models.TextField(blank=True, verbose_name="Description rapide"), @@ -236,19 +73,16 @@ class Migration(migrations.Migration): blank=True, null=True, verbose_name="Description rapide" ), ), - ( - "body", - wagtail.wagtailcore.fields.RichTextField(verbose_name="Contenu"), - ), + ("body", wagtail.core.fields.RichTextField(verbose_name="Contenu")), ( "body_fr", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Contenu" ), ), ( "body_en", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Contenu" ), ), @@ -286,7 +120,10 @@ class Migration(migrations.Migration): ), ], options={"verbose_name": "Actualité", "verbose_name_plural": "Actualités"}, - bases=("wagtailcore.page",), + bases=( + wagtail.contrib.routable_page.models.RoutablePageMixin, + "wagtailcore.page", + ), ), migrations.CreateModel( name="COFDirectoryEntryPage", @@ -302,228 +139,117 @@ class Migration(migrations.Migration): to="wagtailcore.Page", ), ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "body", - wagtail.wagtailcore.fields.RichTextField( - verbose_name="Description" - ), - ), + ("body", wagtail.core.fields.RichTextField(verbose_name="Description")), ( "body_fr", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Description" ), ), ( "body_en", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Description" ), ), ( "links", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "lien", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "url", - wagtail.wagtailcore.blocks.URLBlock( - required=True - ), + wagtail.core.blocks.URLBlock(required=True), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), ( "contact", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "email", - wagtail.wagtailcore.blocks.EmailBlock( + wagtail.core.blocks.EmailBlock( required=True ), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), - ) + ] ), ), ( "links_fr", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "lien", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "url", - wagtail.wagtailcore.blocks.URLBlock( - required=True - ), + wagtail.core.blocks.URLBlock(required=True), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), ( "contact", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "email", - wagtail.wagtailcore.blocks.EmailBlock( + wagtail.core.blocks.EmailBlock( required=True ), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), - ), + ], null=True, ), ), ( "links_en", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "lien", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "url", - wagtail.wagtailcore.blocks.URLBlock( - required=True - ), + wagtail.core.blocks.URLBlock(required=True), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), ( "contact", - wagtail.wagtailcore.blocks.StructBlock( - ( + wagtail.core.blocks.StructBlock( + [ ( "email", - wagtail.wagtailcore.blocks.EmailBlock( + wagtail.core.blocks.EmailBlock( required=True ), ), - ( - "texte", - wagtail.wagtailcore.blocks.CharBlock(), - ), - ) + ("texte", wagtail.core.blocks.CharBlock()), + ] ), ), - ), + ], null=True, ), ), @@ -540,8 +266,8 @@ class Migration(migrations.Migration): ), ], options={ - "verbose_name": "Éntrée d'annuaire", - "verbose_name_plural": "Éntrées d'annuaire", + "verbose_name": "Entrée d'annuaire", + "verbose_name_plural": "Entrées d'annuaire", }, bases=("wagtailcore.page",), ), @@ -559,106 +285,28 @@ class Migration(migrations.Migration): to="wagtailcore.Page", ), ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), ( "introduction", - wagtail.wagtailcore.fields.RichTextField( - verbose_name="Introduction" - ), + wagtail.core.fields.RichTextField(verbose_name="Introduction"), ), ( "introduction_fr", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Introduction" ), ), ( "introduction_en", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Introduction" ), ), + ( + "alphabetique", + models.BooleanField( + default=True, verbose_name="Tri par ordre alphabétique ?" + ), + ), ], options={ "verbose_name": "Annuaire (clubs, partenaires, bons plans...)", @@ -680,132 +328,101 @@ class Migration(migrations.Migration): to="wagtailcore.Page", ), ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), ( "body", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "heading", - wagtail.wagtailcore.blocks.CharBlock( - classname="full title" + wagtail.core.blocks.CharBlock(classname="full title"), + ), + ("paragraph", wagtail.core.blocks.RichTextBlock()), + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "iframe", + wagtail.core.blocks.StructBlock( + [ + ( + "url", + wagtail.core.blocks.URLBlock( + "Adresse de la page" + ), + ), + ( + "height", + wagtail.core.blocks.CharBlock( + "Hauteur (en pixels)" + ), + ), + ] ), ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ) + ] ), ), ( "body_fr", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "heading", - wagtail.wagtailcore.blocks.CharBlock( - classname="full title" + wagtail.core.blocks.CharBlock(classname="full title"), + ), + ("paragraph", wagtail.core.blocks.RichTextBlock()), + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "iframe", + wagtail.core.blocks.StructBlock( + [ + ( + "url", + wagtail.core.blocks.URLBlock( + "Adresse de la page" + ), + ), + ( + "height", + wagtail.core.blocks.CharBlock( + "Hauteur (en pixels)" + ), + ), + ] ), ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ), + ], null=True, ), ), ( "body_en", - wagtail.wagtailcore.fields.StreamField( - ( + wagtail.core.fields.StreamField( + [ ( "heading", - wagtail.wagtailcore.blocks.CharBlock( - classname="full title" + wagtail.core.blocks.CharBlock(classname="full title"), + ), + ("paragraph", wagtail.core.blocks.RichTextBlock()), + ("image", wagtail.images.blocks.ImageChooserBlock()), + ( + "iframe", + wagtail.core.blocks.StructBlock( + [ + ( + "url", + wagtail.core.blocks.URLBlock( + "Adresse de la page" + ), + ), + ( + "height", + wagtail.core.blocks.CharBlock( + "Hauteur (en pixels)" + ), + ), + ] ), ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ), + ], null=True, ), ), @@ -830,103 +447,19 @@ class Migration(migrations.Migration): to="wagtailcore.Page", ), ), - ( - "title_fr", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "title_en", - models.CharField( - help_text="The page title as you'd like it to be seen by the public", - max_length=255, - null=True, - verbose_name="title", - ), - ), - ( - "slug_fr", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "slug_en", - models.SlugField( - allow_unicode=True, - help_text="The name of the page as it will appear in URLs e.g http://domain.com/blog/[my-slug]/", - max_length=255, - null=True, - verbose_name="slug", - ), - ), - ( - "url_path_fr", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "url_path_en", - models.TextField( - blank=True, editable=False, null=True, verbose_name="URL path" - ), - ), - ( - "seo_title_fr", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "seo_title_en", - models.CharField( - blank=True, - help_text="Optional. 'Search Engine Friendly' title. This will appear at the top of the browser window.", - max_length=255, - null=True, - verbose_name="page title", - ), - ), - ( - "search_description_fr", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), - ( - "search_description_en", - models.TextField( - blank=True, null=True, verbose_name="search description" - ), - ), ( "introduction", - wagtail.wagtailcore.fields.RichTextField( - verbose_name="Introduction" - ), + wagtail.core.fields.RichTextField(verbose_name="Introduction"), ), ( "introduction_fr", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Introduction" ), ), ( "introduction_en", - wagtail.wagtailcore.fields.RichTextField( + wagtail.core.fields.RichTextField( null=True, verbose_name="Introduction" ), ), diff --git a/gestioncof/cms/migrations/0002_utilpage_and_fixes.py b/gestioncof/cms/migrations/0002_utilpage_and_fixes.py deleted file mode 100644 index e628b81f..00000000 --- a/gestioncof/cms/migrations/0002_utilpage_and_fixes.py +++ /dev/null @@ -1,160 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by Django 1.11.9 on 2018-04-28 13:46 -from __future__ import unicode_literals - -import django.db.models.deletion -import wagtail.contrib.wagtailroutablepage.models -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailimages.blocks -from django.db import migrations, models - - -class Migration(migrations.Migration): - - dependencies = [ - ("wagtailcore", "0039_collectionviewrestriction"), - ("cofcms", "0001_initial"), - ] - - operations = [ - migrations.CreateModel( - name="COFUtilPage", - fields=[ - ( - "page_ptr", - models.OneToOneField( - auto_created=True, - on_delete=django.db.models.deletion.CASCADE, - parent_link=True, - primary_key=True, - serialize=False, - to="wagtailcore.Page", - ), - ) - ], - options={ - "verbose_name": "Page utilitaire", - "verbose_name_plural": "Pages utilitaires", - }, - bases=( - wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, - "wagtailcore.page", - ), - ), - migrations.AlterModelOptions( - name="cofdirectoryentrypage", - options={ - "verbose_name": "Entrée d'annuaire", - "verbose_name_plural": "Entrées d'annuaire", - }, - ), - migrations.AddField( - model_name="cofdirectorypage", - name="alphabetique", - field=models.BooleanField( - default=True, verbose_name="Tri par ordre alphabétique ?" - ), - ), - migrations.AlterField( - model_name="cofpage", - name="body", - field=wagtail.wagtailcore.fields.StreamField( - ( - ( - "heading", - wagtail.wagtailcore.blocks.CharBlock(classname="full title"), - ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ( - "iframe", - wagtail.wagtailcore.blocks.StructBlock( - ( - ( - "url", - wagtail.wagtailcore.blocks.URLBlock( - "Adresse de la page" - ), - ), - ( - "height", - wagtail.wagtailcore.blocks.CharBlock( - "Hauteur (en pixels)" - ), - ), - ) - ), - ), - ) - ), - ), - migrations.AlterField( - model_name="cofpage", - name="body_en", - field=wagtail.wagtailcore.fields.StreamField( - ( - ( - "heading", - wagtail.wagtailcore.blocks.CharBlock(classname="full title"), - ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ( - "iframe", - wagtail.wagtailcore.blocks.StructBlock( - ( - ( - "url", - wagtail.wagtailcore.blocks.URLBlock( - "Adresse de la page" - ), - ), - ( - "height", - wagtail.wagtailcore.blocks.CharBlock( - "Hauteur (en pixels)" - ), - ), - ) - ), - ), - ), - null=True, - ), - ), - migrations.AlterField( - model_name="cofpage", - name="body_fr", - field=wagtail.wagtailcore.fields.StreamField( - ( - ( - "heading", - wagtail.wagtailcore.blocks.CharBlock(classname="full title"), - ), - ("paragraph", wagtail.wagtailcore.blocks.RichTextBlock()), - ("image", wagtail.wagtailimages.blocks.ImageChooserBlock()), - ( - "iframe", - wagtail.wagtailcore.blocks.StructBlock( - ( - ( - "url", - wagtail.wagtailcore.blocks.URLBlock( - "Adresse de la page" - ), - ), - ( - "height", - wagtail.wagtailcore.blocks.CharBlock( - "Hauteur (en pixels)" - ), - ), - ) - ), - ), - ), - null=True, - ), - ), - ] diff --git a/gestioncof/cms/models.py b/gestioncof/cms/models.py index 10c090fe..0da0f687 100644 --- a/gestioncof/cms/models.py +++ b/gestioncof/cms/models.py @@ -1,12 +1,12 @@ from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from django.db import models -from wagtail.contrib.wagtailroutablepage.models import RoutablePageMixin, route -from wagtail.wagtailadmin.edit_handlers import FieldPanel, StreamFieldPanel -from wagtail.wagtailcore import blocks -from wagtail.wagtailcore.fields import RichTextField, StreamField -from wagtail.wagtailcore.models import Page -from wagtail.wagtailimages.blocks import ImageChooserBlock -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel +from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel +from wagtail.contrib.routable_page.models import RoutablePageMixin, route +from wagtail.core import blocks +from wagtail.core.fields import RichTextField, StreamField +from wagtail.core.models import Page +from wagtail.images.blocks import ImageChooserBlock +from wagtail.images.edit_handlers import ImageChooserPanel # Page pouvant afficher des actualités @@ -18,19 +18,26 @@ class COFActuIndexMixin: # Racine du site du COF -class COFRootPage(Page, COFActuIndexMixin): +class COFRootPage(RoutablePageMixin, Page, COFActuIndexMixin): introduction = RichTextField("Introduction") content_panels = Page.content_panels + [ FieldPanel("introduction", classname="full") ] - subpage_types = ["COFActuIndexPage", "COFPage", "COFDirectoryPage", "COFUtilPage"] + subpage_types = ["COFActuIndexPage", "COFPage", "COFDirectoryPage"] class Meta: verbose_name = "Racine site du COF" verbose_name_plural = "Racines site du COF" + # Mini calendrier + @route(r"^calendar/(\d+)/(\d+)/$") + def calendar(self, request, year, month): + from .views import raw_calendar_view + + return raw_calendar_view(request, int(year), int(month)) + # Block iframe class IFrameBlock(blocks.StructBlock): @@ -199,36 +206,3 @@ class COFDirectoryEntryPage(Page): class Meta: verbose_name = "Entrée d'annuaire" verbose_name_plural = "Entrées d'annuaire" - - -# Pour le calendrier, ne doit pas être pris par ModelTranslation -class COFUtilPage(RoutablePageMixin, Page): - - # Mini calendrier - @route(r"^calendar/(\d+)/(\d+)/$") - def calendar(self, request, year, month): - from .views import raw_calendar_view - - return raw_calendar_view(request, int(year), int(month)) - - """ - ModelTranslation override le système des @route de wagtail, ce qui empêche - COFUtilPage d'être une page traduite pour pouvoir l'utiliser. - Ce qui fait planter `get_absolute_url` pour des problèmes d'héritage des - pages parentes (qui sont, elles, traduites). - Le seul moyen trouvé pour résoudre ce problème est de faire une autre - fonction à qui on fournit request en argument (donc pas un override de - get_absolute_url). - - TODO : vérifier si ces problèmes ont été résolus dans les màj de wagtail - et modeltranslation - """ - - def debugged_get_url(self, request): - parent = COFRootPage.objects.parent_of(self).live().first() - burl = parent.relative_url(request.site) - return burl + self.slug - - class Meta: - verbose_name = "Page utilitaire" - verbose_name_plural = "Pages utilitaires" diff --git a/gestioncof/cms/templates/cofcms/base_nav.html b/gestioncof/cms/templates/cofcms/base_nav.html index a7a299b0..b7ce4c66 100644 --- a/gestioncof/cms/templates/cofcms/base_nav.html +++ b/gestioncof/cms/templates/cofcms/base_nav.html @@ -3,8 +3,8 @@ {% for item in menu_items %}
  • {% if item.link_page %} - - {{ item.link_page.specific.title }} + + {{ item.link_page.title }} {% else %} diff --git a/gestioncof/cms/templatetags/cofcms_tags.py b/gestioncof/cms/templatetags/cofcms_tags.py index 686f15f6..34b37657 100644 --- a/gestioncof/cms/templatetags/cofcms_tags.py +++ b/gestioncof/cms/templatetags/cofcms_tags.py @@ -4,7 +4,7 @@ from django import template from django.utils import formats, timezone from django.utils.translation import ugettext as _ -from ..models import COFActuPage, COFUtilPage +from ..models import COFActuPage, COFRootPage register = template.Library() @@ -71,11 +71,11 @@ def calendar(context, month=None, year=None): # Calendar next/prev urls try: - utilpage = COFUtilPage.objects.live()[0] - except COFUtilPage.DoesNotExist: + utilpage = COFRootPage.objects.live()[0] + except COFRootPage.DoesNotExist: utilpage = None request = context["request"] - burl = utilpage.debugged_get_url(request) + "/" + burl = utilpage.get_url(request) prev_url = burl + utilpage.reverse_subpage( "calendar", args=[str(prev_month.year), str(prev_month.month)] ) diff --git a/gestioncof/cms/translation.py b/gestioncof/cms/translation.py index 0a11520e..ea5a6c9d 100644 --- a/gestioncof/cms/translation.py +++ b/gestioncof/cms/translation.py @@ -1,5 +1,5 @@ from modeltranslation.decorators import register -from wagtail_modeltranslation.translator import WagtailTranslationOptions +from modeltranslation.translator import TranslationOptions from .models import ( COFActuIndexPage, @@ -12,30 +12,30 @@ from .models import ( @register(COFRootPage) -class COFRootPageTr(WagtailTranslationOptions): +class COFRootPageTr(TranslationOptions): fields = ("introduction",) @register(COFPage) -class COFPageTr(WagtailTranslationOptions): +class COFPageTr(TranslationOptions): fields = ("body",) @register(COFActuIndexPage) -class COFActuIndexPageTr(WagtailTranslationOptions): +class COFActuIndexPageTr(TranslationOptions): fields = () @register(COFActuPage) -class COFActuPageTr(WagtailTranslationOptions): +class COFActuPageTr(TranslationOptions): fields = ("chapo", "body") @register(COFDirectoryPage) -class COFDirectoryPageTr(WagtailTranslationOptions): +class COFDirectoryPageTr(TranslationOptions): fields = ("introduction",) @register(COFDirectoryEntryPage) -class COFDirectoryEntryPageTr(WagtailTranslationOptions): +class COFDirectoryEntryPageTr(TranslationOptions): fields = ("body", "links") diff --git a/kfet/cms/fixtures/kfet_wagtail_02_19.json b/kfet/cms/fixtures/kfet_wagtail_02_19.json new file mode 100644 index 00000000..4d3c4a9b --- /dev/null +++ b/kfet/cms/fixtures/kfet_wagtail_02_19.json @@ -0,0 +1,1620 @@ +[ +{ + "model": "wagtailcore.site", + "pk": 2, + "fields": { + "hostname": "localhost", + "port": 8000, + "site_name": "Global", + "root_page": 9, + "is_default_site": true + } +}, +{ + "model": "wagtailcore.page", + "pk": 1, + "fields": { + "path": "0001", + "depth": 1, + "numchild": 1, + "title": "Root", + "title_fr": "Root", + "title_en": null, + "draft_title": "Root", + "slug": "root", + "slug_fr": "root", + "slug_en": null, + "content_type": [ + "wagtailcore", + "page" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/", + "url_path_fr": "/", + "url_path_en": null, + "owner": null, + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": false, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": null, + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 3, + "fields": { + "path": "000100010001", + "depth": 3, + "numchild": 5, + "title": "Bienvenue en K-F\u00eat", + "title_fr": "Bienvenue en K-F\u00eat", + "title_en": null, + "draft_title": "Bienvenue en K-F\u00eat", + "slug": "k-fet", + "slug_fr": "k-fet", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/", + "url_path_fr": "/global/k-fet/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "Accueil", + "seo_title_fr": "Accueil", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 4, + "fields": { + "path": "0001000100010001", + "depth": 4, + "numchild": 0, + "title": "Mode d'emploi", + "title_fr": "Mode d'emploi", + "title_en": null, + "draft_title": "Mode d'emploi", + "slug": "mode-demploi", + "slug_fr": "mode-demploi", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/mode-demploi/", + "url_path_fr": "/global/k-fet/mode-demploi/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 5, + "fields": { + "path": "0001000100010002", + "depth": 4, + "numchild": 0, + "title": "L'\u00e9quipe", + "title_fr": "L'\u00e9quipe", + "title_en": null, + "draft_title": "L'\u00e9quipe", + "slug": "equipe", + "slug_fr": "equipe", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/equipe/", + "url_path_fr": "/global/k-fet/equipe/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 6, + "fields": { + "path": "0001000100010003", + "depth": 4, + "numchild": 0, + "title": "La carte", + "title_fr": "La carte", + "title_en": null, + "draft_title": "La carte", + "slug": "carte", + "slug_fr": "carte", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/carte/", + "url_path_fr": "/global/k-fet/carte/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 7, + "fields": { + "path": "0001000100010004", + "depth": 4, + "numchild": 0, + "title": "Les soir\u00e9es", + "title_fr": "Les soir\u00e9es", + "title_en": null, + "draft_title": "Les soir\u00e9es", + "slug": "soirees", + "slug_fr": "soirees", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/soirees/", + "url_path_fr": "/global/k-fet/soirees/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 8, + "fields": { + "path": "0001000100010005", + "depth": 4, + "numchild": 0, + "title": "Le flipper", + "title_fr": "Le flipper", + "title_en": null, + "draft_title": "Le flipper", + "slug": "flipper", + "slug_fr": "flipper", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/flipper/", + "url_path_fr": "/global/k-fet/flipper/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 9, + "fields": { + "path": "00010001", + "depth": 2, + "numchild": 2, + "title": "Global", + "title_fr": "Global", + "title_en": null, + "draft_title": "Global", + "slug": "global", + "slug_fr": "global", + "slug_en": null, + "content_type": [ + "wagtailcore", + "page" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/", + "url_path_fr": "/global/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": true, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.page", + "pk": 10, + "fields": { + "path": "0001000100010006", + "depth": 4, + "numchild": 0, + "title": "Mentions l\u00e9gales", + "title_fr": "Mentions l\u00e9gales", + "title_en": null, + "draft_title": "Mentions l\u00e9gales", + "slug": "mentions-legales", + "slug_fr": "mentions-legales", + "slug_en": null, + "content_type": [ + "kfetcms", + "kfetpage" + ], + "live": true, + "has_unpublished_changes": false, + "url_path": "/global/k-fet/mentions-legales/", + "url_path_fr": "/global/k-fet/mentions-legales/", + "url_path_en": null, + "owner": [ + "kfet_genericteam" + ], + "seo_title": "", + "seo_title_fr": "", + "seo_title_en": null, + "show_in_menus": false, + "search_description": "", + "search_description_fr": "", + "search_description_en": null, + "go_live_at": null, + "expire_at": null, + "expired": false, + "locked": false, + "first_published_at": "2017-05-28T04:20:00Z", + "last_published_at": null, + "latest_revision_created_at": null, + "live_revision": null + } +}, +{ + "model": "wagtailcore.collection", + "pk": 1, + "fields": { + "path": "0001", + "depth": 1, + "numchild": 1, + "name": "Root" + } +}, +{ + "model": "wagtailcore.collection", + "pk": 2, + "fields": { + "path": "00010001", + "depth": 2, + "numchild": 0, + "name": "K-F\u00eat" + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 1, + "fields": { + "first_name": "Hugo", + "last_name": "Manet", + "nick_name": "", + "photo": 3 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 2, + "fields": { + "first_name": "Lisa", + "last_name": "Gourdon", + "nick_name": "", + "photo": 4 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 3, + "fields": { + "first_name": "Pierre", + "last_name": "Quesselaire", + "nick_name": "", + "photo": 5 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 4, + "fields": { + "first_name": "Thibault", + "last_name": "Scoquard", + "nick_name": "", + "photo": 6 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 5, + "fields": { + "first_name": "Arnaud", + "last_name": "Fanthomme", + "nick_name": "", + "photo": 7 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 6, + "fields": { + "first_name": "Vincent", + "last_name": "Balerdi", + "nick_name": "", + "photo": 8 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 7, + "fields": { + "first_name": "Nathana\u00ebl", + "last_name": "Willaime", + "nick_name": "", + "photo": 9 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 8, + "fields": { + "first_name": "\u00c9lisabeth", + "last_name": "Miller", + "nick_name": "", + "photo": 10 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 9, + "fields": { + "first_name": "Arthur", + "last_name": "Lesage", + "nick_name": "B2O", + "photo": 11 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 10, + "fields": { + "first_name": "Sarah", + "last_name": "Asset", + "nick_name": "", + "photo": 12 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 11, + "fields": { + "first_name": "Alexandre", + "last_name": "Legrand", + "nick_name": "", + "photo": 13 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 12, + "fields": { + "first_name": "\u00c9tienne", + "last_name": "Baudel", + "nick_name": "", + "photo": 14 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 13, + "fields": { + "first_name": "Marine", + "last_name": "Snape", + "nick_name": "", + "photo": 15 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 14, + "fields": { + "first_name": "Anatole", + "last_name": "Gosset", + "nick_name": "", + "photo": 16 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 15, + "fields": { + "first_name": "Jacko", + "last_name": "Rastikian", + "nick_name": "", + "photo": 17 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 16, + "fields": { + "first_name": "Alexandre", + "last_name": "Jannaud", + "nick_name": "", + "photo": 18 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 17, + "fields": { + "first_name": "Aur\u00e9lien", + "last_name": "Delobelle", + "nick_name": "", + "photo": 19 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 18, + "fields": { + "first_name": "Sylvain", + "last_name": "Douteau", + "nick_name": "", + "photo": 20 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 19, + "fields": { + "first_name": "Rapha\u00ebl", + "last_name": "Lescanne", + "nick_name": "", + "photo": 21 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 20, + "fields": { + "first_name": "Romain", + "last_name": "Gourvil", + "nick_name": "", + "photo": 22 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 21, + "fields": { + "first_name": "Marie", + "last_name": "Labeye", + "nick_name": "", + "photo": 23 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 22, + "fields": { + "first_name": "Oscar", + "last_name": "Blumberg", + "nick_name": "", + "photo": 24 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 23, + "fields": { + "first_name": "Za\u00efd", + "last_name": "Allybokus", + "nick_name": "", + "photo": 25 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 24, + "fields": { + "first_name": "Damien", + "last_name": "Garreau", + "nick_name": "", + "photo": 26 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 25, + "fields": { + "first_name": "Andr\u00e9a", + "last_name": "Londonez-Lopez", + "nick_name": "", + "photo": 27 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 26, + "fields": { + "first_name": "Tristan", + "last_name": "Roussel", + "nick_name": "", + "photo": 28 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 27, + "fields": { + "first_name": "Guillaume", + "last_name": "Vernade", + "nick_name": "", + "photo": 29 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 28, + "fields": { + "first_name": "Lucas", + "last_name": "Mercier", + "nick_name": "", + "photo": 30 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 29, + "fields": { + "first_name": "Fran\u00e7ois", + "last_name": "Maillot", + "nick_name": "M\u00e9talleux", + "photo": 31 + } +}, +{ + "model": "kfetcms.memberteam", + "pk": 30, + "fields": { + "first_name": "Fabrice", + "last_name": "Catoire", + "nick_name": "", + "photo": 32 + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 3, + "fields": { + "content": "[{\"id\": \"2e0c0ac1-68d7-4c86-809b-ba744173091b\", \"type\": \"rich\", \"value\": \"

    La K-F\\u00eat, c'est quoi ?

    \\n\\n

    \\n Eh bien la K-F\\u00eat, c'est le bar des \\u00e9l\\u00e8ves de l'\\u00c9cole normale\\n sup\\u00e9rieure. Elle est situ\\u00e9e dans les locaux de l'\\u00c9cole, au pied de\\n l'escalier C (plan). On y trouve \\u00e0 boire, bien s\\u00fbr,\\n des bi\\u00e8res en nombre pl\\u00e9thorique mais aussi caf\\u00e9s, th\\u00e9s, softs et de quoi\\n grignoter. Ah oui un point important, on ne va pas \\u00e0 la K-F\\u00eat, on va EN K-F\\u00eat.\\n

    \"}, {\"id\": \"f583a378-54ee-44b2-ae28-01abf9d1c90c\", \"type\": \"rich\", \"value\": \"

    Mais on n'y fait que boire et manger ?

    \\n\\n

    \\n Que nenni, \\u00f4 jeune et innocent conscrit-e ! La K-F\\u00eat n'est pas un bouge\\n sordide o\\u00f9 des piliers de bar passent leurs journ\\u00e9es \\u00e0 picoler. Enfin pas\\n uniquement. C'est aussi un lieu de divertissement avec\\n son flipper (la mythique, la seule, l'unique,\\n la g\\u00e9niale Amazon Hunt), son baby-foot et le lieu d'\\u00e9lection des \\nbridgeur-se-s, du club jeux, des joueur-se-s de poker voire des quelques\\n irr\\u00e9ductibles du boulot qui y viennent bosser en profitant du point \\nd'acc\\u00e8s wifi. \\n

    \"}, {\"id\": \"b10fc172-f46c-4244-9f2b-648252a55fae\", \"type\": \"rich\", \"value\": \"

    Ah \\u00e7a a l'air bien mais... qui s'en occupe ? C'est ouvert quand ?

    \\n\\n

    \\n L'\\u00e9quipe d'\\u00e9l\\u00e8ves motiv\\u00e9-e-s qui s'occupent de la K-F\\u00eat s'appelle, en toute logique, l'\\u00e9quipe K-F\\u00eat.\\n Elle est men\\u00e9e par un-e leader charismatique et bien-aim\\u00e9-e, \\naccompagn\\u00e9-e de ses troupes de fid\\u00e8les, les K-F\\u00eat wo-men, boys et girls.\\n Le local de la K-F\\u00eat n'est ouvert que si un-e K-F\\u00eat wo-man est \\npr\\u00e9sente. \\u00c0 savoir la plupart du temps entre 12h et 3h du matin.\\n

    \"}, {\"id\": \"f529e95c-3d36-4cef-b973-9a8768a8f36c\", \"type\": \"rich\", \"value\": \"

    Et je peux y faire ce que je veux ?

    \\n\\n

    \\n Oui et non. Nous ne sommes pas ta grand-m\\u00e8re et nous n'allons\\n certainement pas t'emp\\u00eacher de faire la f\\u00eate, ni de d\\u00e9guster des pintes\\n jusqu'au petit p\\u00f4t. Par contre nous attendons de toi que tu ne sois pas\\n un-e gros-se con-ne. A priori pas de raison de le croire, mais jette tout de m\\u00eame\\n un \\u0153il sur le mode d'emploi de la K-F\\u00eat, \\u00e7a\\n pourrait t'\\u00e9viter de perdre un genoux ou deux...\\n

    \"}, {\"id\": \"d6b5d2cd-20dc-414c-8485-33aa263de948\", \"type\": \"rich\", \"value\": \"

    J'adore la K-F\\u00eat, j'aimerais y organiser une soir\\u00e9e, c'est possible ?

    \\n\\n

    \\n Bien s\\u00fbr\\u00a0! Pour cela commence par lire ce petit\\n guide histoire de savoir dans quoi tu t'engages puis contacte ton-ta chef-fe K-F\\u00eat ador\\u00e9-e pour v\\u00e9rifier que la date de ta\\n soir\\u00e9e n'est pas d\\u00e9j\\u00e0 prise par une autre f\\u00eate et obtenir son\\n accord.\\n

    \"}, {\"id\": \"3fe173eb-fc5f-41ca-8cc0-3dc0263e28a1\", \"type\": \"rich\", \"value\": \"

    J'ai une question \\u00e0 vous poser. O\\u00f9 puis-je vous contacter ?

    \\n\\n

    \\n Commence d\\u00e9j\\u00e0 par jeter un oeil sur le mode\\n d'emploi de la K-F\\u00eat. Si la r\\u00e9ponse \\u00e0 tes interrogations ne s'y\\n trouve pas, rien n'est perdu. En effet le service informatique de \\nl'\\u00c9cole, dans sa grande mansu\\u00e9tude, a mis \\u00e0 disposition de l'\\u00e9quipe \\nK-F\\u00eat une adresse e-mail, k-fet@ens.fr. Mais sinon, passe en K-F\\u00eat, il y aura sans doute un K-F\\u00eat wo-man qui saura r\\u00e9pondre \\u00e0 ta question.\\n

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 4, + "fields": { + "content": "[{\"id\": \"2d5bf7d6-8943-4de1-b4bf-2471b0b83fe5\", \"type\": \"rich\", \"value\": \"

    Article 0 : La K-F\\u00eat n'existe pas.

    \"}, {\"id\": \"cc88d98a-455c-4135-9cf1-cb95204f7bc9\", \"type\": \"rich\", \"value\": \"

    La K-F\\u00eat, c'est magique, comment \\u00e7a marche ?

    La K-F\\u00eat n'a \\nrien de magique, il n'y a pas de petits d\\u00e9mons qui font le m\\u00e9nage, pas \\nplus que d'arbustes g\\u00e9n\\u00e9tiquement modifi\\u00e9s aux OGM sur lesquels poussent\\n les bouteilles de bi\\u00e8res. La K-F\\u00eat c'est avant tout une \\u00e9quipe qui sacrifie une partie de son temps libre pour que tout se passe pour le mieux.

    \"}, {\"id\": \"0d801331-ea10-4af4-a37b-73dc4e0ccf0d\", \"type\": \"rich\", \"value\": \"

    Que puis-je faire pour vous aider un peu ?

    D\\u00e9j\\u00e0 ne pas poser \\nde probl\\u00e8mes, c'est \\u00e0 dire ne pas r\\u00e9veiller tout l'internat en sortant, \\nessayer de ne pas finir dans un \\u00e9tat trop avanc\\u00e9 d'alcoolisation, etc...\\n Mine de rien \\u00e7a nous \\u00e9viterait quelques probl\\u00e8mes.

    Ensuite, comme\\n tu le sais s\\u00fbrement les bi\\u00e8res sont consign\\u00e9es, il est donc pr\\u00e9f\\u00e9rable \\npour nous que tu n'embarques pas les bouteilles en souvenir dans ta \\nthurne. Mieux, tu peux nous faire gagner du temps de rangement en les \\nramenant au bar en partant. Et encore mieux, tu peux jeter tes d\\u00e9chets \\n(gobelets, boite de pringles, etc...). Si tu fais d\\u00e9j\\u00e0 tout \\u00e7a tu nous \\nsimplifieras grandement la vie.

    \"}, {\"id\": \"5bc33436-d3bc-4e86-85aa-5bbaf8605b04\", \"type\": \"rich\", \"value\": \"

    Le syst\\u00e8me mon\\u00e9taire de la K-F\\u00eat

    En bon \\u00e9tat souverain et \\nind\\u00e9pendant, la K-F\\u00eat a sa propre monnaie : l'unit\\u00e9 K-F\\u00eat (UKF). Elle \\nvaut 10 centimes d'euro. La K-F\\u00eat ne battant pas monnaie, les UKF que tu\\n poss\\u00e8des sont not\\u00e9es sur ton compte, identifi\\u00e9 par un trigramme (une \\nsuite de trois caract\\u00e8res) et que tu peux recharger en liquide ou par \\nch\\u00e8que. Note que si tu y tiens vraiment, tu peux payer en liquide, mais \\nposs\\u00e9der un compte est bien plus pratique.

    \"}, {\"id\": \"36c30321-faf8-4e03-9d76-dee83d2b71b5\", \"type\": \"rich\", \"value\": \"

    Comment commander \\u00e0 boire ou \\u00e0 manger ?

    Pour commander \\u00e0 boire ou \\u00e0 manger, il suffit de demander \\u00e0 un membre de l'\\u00e9quipe K-F\\u00eat.\\n Et \\u00e7a marche encore mieux si la demande est effectu\\u00e9e avec le sourire \\nau d\\u00e9but et un merci \\u00e0 la fin : l'\\u00e9quipe est constitu\\u00e9e de volontaires \\nb\\u00e9n\\u00e9voles, et mieux vaut ne pas les prendre pour des chiens. EN AUCUN \\nCAS on ne passe derri\\u00e8re le bar si on n'est pas membre de l'\\u00e9quipe K-F\\u00eat.

    \"}, {\"id\": \"0897b4c2-aacf-4590-b954-7342519eb860\", \"type\": \"rich\", \"value\": \"

    Puis-je fumer en K-F\\u00eat ?

    Non ! Imagine-toi les jours de \\nsoir\\u00e9es, la K-F\\u00eat remplie et tout le monde qui fume... On finirait tous \\navec des poumons aussi crades que le sol de la K-F\\u00eat. Ce serait quand \\nm\\u00eame dommage pour la recherche fran\\u00e7aise qu'on cr\\u00e8ve tous avant 30 ans, \\nnon ?

    Par contre tu peux fumer dehors, il y a m\\u00eame des cendriers \\njuste pour toi, par contre tu remarqueras que les chambres de l'internat\\n se trouvent juste au dessus de toi. T\\u00e2che donc de ne pas faire trop de \\nbruit.

    \"}, {\"id\": \"13400963-d70a-4cca-85fb-9d4fb3488775\", \"type\": \"rich\", \"value\": \"

    Et amener ma propre bouteille ?

    D\\u00e9j\\u00e0 c'est apporter, enfin en\\n tout cas avant de la boire. Ensuite la K-F\\u00eat est un lieu de \\nconvivialit\\u00e9 o\\u00f9 les bi\\u00e8res te sont vendues au prix co\\u00fbtant,\\n franchement ce serait pas fair-play de te la jouer solo. Alors \\n\\u00e9videment il y a des exceptions, par exemple si tu reviens de Belgique \\net que tu veux faire go\\u00fbter de la Wesvleteren \\u00e0 tes amis de l'\\u00e9quipe K-F\\u00eat,\\n ou si tu veux organiser une d\\u00e9gustation de vins avec la charcuterie qui\\n va bien. Tu comprendras qu'un pack de Kro c'est quand m\\u00eame pas la m\\u00eame \\nclasse...

    \"}, {\"id\": \"f12919e2-1e09-4976-a077-74d17248621a\", \"type\": \"rich\", \"value\": \"

    Je peux passer ma musique ?

    Bien s\\u00fbr, nous sommes tr\\u00e8s loin \\nde penser tout conna\\u00eetre en mati\\u00e8re de musique. Mais comme nous sommes \\nentre gens civilis\\u00e9s, et que je te rappelle que tu n'as pas le droit de \\npasser derri\\u00e8re le bar, il convient de demander \\u00e0 un-e membre de l'\\u00e9quipe K-F\\u00eat\\n afin qu'ille t'indique qui est \\u00e0 l'origine de ces chansons que tu \\nn'appr\\u00e9cies apparemment pas. Apr\\u00e8s avoir obtenu son accord tu peux \\ndemander \\u00e0 quelqu'un de mettre ta playlist, qui peut-\\u00eatre sur un lecteur\\n mp3, sur Deezer ou juste sur l'ordi, mais dans ce dernier cas ce sera plus dur puisque tu n'y aura pas acc\\u00e8s directement.

    Le plus simple pour toi (et pour nous) est donc de pr\\u00e9voir des playlists sur Deezer\\n d'avance et de nous les proposer. Par contre, sois gentil-le, n'insiste\\n pas si nous ne voulons pas de ta musique traditionnelle hongroise. Par \\nailleurs, si un trop grand nombre de personnes nous demande de passer de\\n la musique, l'\\u00e9quipe K-F\\u00eat peut ne pas acc\\u00e9der \\u00e0 ta requ\\u00eate.

    \"}, {\"id\": \"18786055-718b-4ca0-8e7c-350d873c3575\", \"type\": \"rich\", \"value\": \"

    Comment organiser une soir\\u00e9e en K-F\\u00eat ?

    Tout membre du COF \\npeut organiser une soir\\u00e9e en K-F\\u00eat \\u00e0 la condition qu'elle soit publique \\net annonc\\u00e9e une semaine \\u00e0 l'avance par des affiches dans l'\\u00e9cole et un \\nmot dans le BOcal. Il faut bien sur aussi l'accord du COF qui s'occupe \\nde voir si \\u00e7a ne pose pas de probl\\u00e8me \\u00e0 l'admin, celui de la K-F\\u00eat team \\npour qu'il y ait des K-F\\u00eat wo-men pour servir et s\\u00fbrement du BOUM pour \\nqu'il s'occupe de la musique. Nous t'avons tout r\\u00e9sum\\u00e9 ici\\n ; merci qui ? Une fois que tu as accompli ces formalit\\u00e9s, il ne te \\nreste plus qu'\\u00e0 imprimer et coller des affiches pour que ta soir\\u00e9e soit \\nun succ\\u00e8s !

    \"}, {\"id\": \"e2b7d070-edfd-484c-8524-d3af83562a9b\", \"type\": \"rich\", \"value\": \"

    D'autres remarques ?

    Des tonnes, en voici quelques unes :

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 5, + "fields": { + "content": "[{\"id\": \"6d2ab3e2-9896-45d6-b595-feb0567b5510\", \"type\": \"group\", \"value\": [{\"id\": \"3c3b20e4-b9f3-4dc7-a4af-5583eff06a42\", \"type\": \"rich\", \"value\": \"

    Les ancien-ne-s Chef-fe-s K-F\\u00eat

    Les ancien-ne-s Chef-fe-s K-F\\u00eat doivent bien \\u00eatre pr\\u00e9sent\\u00e9-e-s avant \\nl'\\u00e9quipe actuelle. C'est gr\\u00e2ce \\u00e0 elleux qu'elle tourne encore, gr\\u00e2ce \\u00e0 \\nelleux qu'elle a bien tourn\\u00e9, et puis, de pr\\u00e8s comme de loin, illes \\nveillent encore sur nous. Ce sont les diff\\u00e9rentes facettes de la K-F\\u00eat \\nhistorique, bien que d'un certain point de vue, illes se ressemblent \\ntou-te-s : les Chef-fe-s K-F\\u00eat sont une dynastie, ils n'ont pas \\u00e9t\\u00e9 \\nChef-fe-s apr\\u00e8s avoir prouv\\u00e9 quoi que ce soit, illes l'ont \\u00e9t\\u00e9 parce que\\n ce r\\u00f4le leur revenait de droit. On na\\u00eet Chef-fe K-F\\u00eat, on ne le devient\\n pas. Et on le reste toujours, dans l'\\u00e2me.

    \"}, {\"id\": \"bf9b257b-78a7-46f9-aa73-9753e8a2adc4\", \"type\": \"group_team\", \"value\": {\"members\": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], \"show_only\": 12}}]}, {\"id\": \"5a3a0c4b-a1f5-4b87-a591-c5fa12b7175a\", \"type\": \"group\", \"value\": [{\"id\": \"a28619e6-e0ff-4f4d-8e6b-03b2f2e8dbac\", \"type\": \"rich\", \"value\": \"

    Le chef

    Le-la chef-fe K-F\\u00eat, celui-celle qui a le droit de vie et de mort sur les \\u00e2mes \\u00e9gar\\u00e9es qui fr\\u00e9quentent la K-F\\u00eat.

    \"}, {\"id\": \"732b5bea-4662-41c1-928e-85d1f59cc109\", \"type\": \"group_team\", \"value\": {\"members\": [1, 2], \"show_only\": null}}]}, {\"id\": \"8ad9c453-9c70-430c-8093-cabb4f06cd3d\", \"type\": \"group\", \"value\": [{\"id\": \"506daca4-8363-4e31-a769-1521a7d6276a\", \"type\": \"rich\", \"value\": \"

    Les K-F\\u00eat Wo-Men

    Les K-F\\u00eat wo-men poss\\u00e8dent les cl\\u00e9s de la K-F\\u00eat. Ce sont elleux qui peuvent d\\u00e9cider ou non d'ouvrir la K-F\\u00eat.

    \"}, {\"id\": \"519cc1a0-6544-46ac-8ed7-51fbb9712df9\", \"type\": \"group_team\", \"value\": {\"members\": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12], \"show_only\": null}}]}, {\"id\": \"4d53b23e-5922-46b5-aade-4f3572cbeb6d\", \"type\": \"group\", \"value\": [{\"id\": \"573c443d-23ed-40bb-87ce-996a5c71a0e4\", \"type\": \"rich\", \"value\": \"

    Les Vieux-illes

    Les vieux-illes sont d'ancien-ne-s K-F\\u00eat wo-men qui ne viennent plus \\naussi souvent qu'avant, illes servent toujours, mais n'ont en g\\u00e9n\\u00e9ral \\nplus les cl\\u00e9s. Illes existent n\\u00e9anmoins, et on les garde (pour \\ncertain-e-s) parce qu'au fond, on les aime quand m\\u00eame, et qu'en plus, \\nilles en savent plus que n'importe qui sur la K-F\\u00eat.

    \"}]}, {\"id\": \"bbf438ac-4692-4add-9950-2d89c265775e\", \"type\": \"rich\", \"value\": \"

    Les K-F\\u00eat boys et girls

    \\n\\n

    Les K-F\\u00eat boys and girls font de main d'\\u0153uvre bon march\\u00e9 pour la \\nK-F\\u00eat, illes peuvent passer derri\\u00e8re le bar, prendre vos commandes et \\nrecharger votre compte si par malheur il est \\u00e0 sec. La liste de \\ncelleux-ci est trop longue pour tou-te-s les citer, pour les reconna\\u00eetre\\n regarde les gens qui passent derri\\u00e8re le bar tout en conservant leur \\nint\\u00e9grit\\u00e9 physique.

    \"}, {\"id\": \"6969df29-a2a1-42b3-93d9-b7bf8624d5e7\", \"type\": \"rich\", \"value\": \"

    Comment devient-on K-F\\u00eat people ?

    Grande question que tout le monde se pose un jour ou l'autre. Pour \\nacc\\u00e9der au titre prestigieux de K-F\\u00eat boy-girl, il est n\\u00e9cessaire mais \\npas suffisant d'\\u00eatre assid\\u00fbment pr\\u00e9sent-e en K-F\\u00eat, et d'\\u00eatre pr\\u00eat-e \\u00e0 \\ntrimer pour elle. Si tu es souvent en K-F\\u00eat, que tu es sympathique et \\nmotiv\\u00e9-e, et surtout en fin de compte si le-la chef-fe le veut bien, tu \\npourras devenir K-F\\u00eat boy-girl et passer derri\\u00e8re le bar pour servir. \\nEnsuite, si tu es motiv\\u00e9-e et efficace, ou simplement si t'es un-e pote \\ndu-de la chef-fe et qu'ille n'a aucun scrupule, tu pourras devenir K-F\\u00eat\\n wo-man et avoir la cl\\u00e9.

    Et comme la K-F\\u00eat c'est avant tout beaucoup d'emmerdes on a pas envie\\n de te forcer la main, on veut que cela vienne de toi. Donc si tu te \\nsens pr\\u00eat-e \\u00e0 participer \\u00e0 la vie mouvement\\u00e9e de la K-F\\u00eat fais-en part \\nau-\\u00e0 la chef-fe. Ille ne va pas te manger.

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 6, + "fields": { + "content": "[{\"id\": \"a2c6afa3-efda-4a1f-ac68-623d6448f642\", \"type\": \"rich\", \"value\": \"

    Le service de la bi\\u00e8re est, historiquement, la mission et le sacerdoce \\ndu K-F\\u00eat people. Ille y est d\\u00e9vou\\u00e9-e corps et \\u00e2me, et accomplit sa t\\u00e2che\\n avec ardeur et passion. Voyons comment se d\\u00e9clinent les occasions \\nd'approcher du nirvana brassicole. Les prix donn\\u00e9s sont en UKF. Si tu \\nn'as pas compris, va voir par ici.

    \"}, {\"id\": \"6e5ca2df-521b-423a-8b25-ab7367c5ad47\", \"type\": \"carte\", \"value\": null}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "column-md-2 column-lg-3" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 7, + "fields": { + "content": "[{\"id\": \"47826c4a-75c3-48f3-a7ba-ebf42d281e66\", \"type\": \"rich\", \"value\": \"

    Tu veux organiser une soir\\u00e9e en K-F\\u00eat ? Pas de probl\\u00e8me !

    \"}, {\"id\": \"4cb0d7d8-ebe6-403c-b578-b2c883f393dc\", \"type\": \"rich\", \"value\": \"

    Quand puis-je organiser une soir\\u00e9e ?

    \\n\\n

    \\n Tu peux organiser une soir\\u00e9e le jour que tu souhaites, \\u00e0 condition que la\\n date ne soit pas d\\u00e9j\\u00e0 prise par quelqu'un d'autre. Sache par contre que la\\n K-F\\u00eat ne te sera pas enti\\u00e8rement d\\u00e9di\\u00e9e et que les utilisateur-rice-s habituel-le-s\\n continueront de la fr\\u00e9quenter (et risquent fortement de squatter ta\\n soir\\u00e9e). Donc si tu veux un peu d'intimit\\u00e9 les soir\\u00e9es du week-end sont plus\\n conseill\\u00e9es (mais l'\\u00e9quipe risque de ne pas \\u00eatre pr\\u00e9sente), mais aussi\\n plus pris\\u00e9es, d\\u00e9p\\u00eache-toi de r\\u00e9server la tienne.\\n

    \"}, {\"id\": \"57cfcef2-0cf7-42b7-8d4f-cb9bad018544\", \"type\": \"rich\", \"value\": \"

    Quelles d\\u00e9marches dois-je effectuer ?

    \\n

    \\n D\\u00e9j\\u00e0 pr\\u00e9venir poliment l'\\u00e9quipe K-F\\u00eat, et\\n surtout le-la chef-fe pour v\\u00e9rifier que la date est encore libre, et qu'il y\\n aura au moins quelqu'un pour t'ouvrir la K-F\\u00eat. Ensuite, si ta soir\\u00e9e\\n n'est pas une simple bouffe qui finit avant minuit il faut pr\\u00e9venir les\\n vigiles via l'administration au moyen d'une demande d'autorisation de\\n soir\\u00e9e qui se trouve sur la section du p\\u00f4le Pr\\u00e9vention et S\\u00e9curit\\u00e9 sur l'intranet : demande d'autorisation de soir\\u00e9e.\\n \\u00c0 faire au moins une semaine avant ta soir\\u00e9e.\\n

    \\n

    \\n Si en plus tu as besoin que le BOUM s'occupe de la musique et/ou PLS des\\n lumi\\u00e8res c'est elleux qu'il faut contacter. Histoire de t'\\u00e9viter\\n d'avoir \\u00e0 chercher voici leur adresse\\u00a0: boum (at) ens (point) fr\\n et pls (at) ens (point) fr.\\n

    \"}, {\"id\": \"4afd4bbe-1dc7-4ac5-b5db-85c290f04ff8\", \"type\": \"rich\", \"value\": \"

    C'est enfin le grand jour, je fais quoi ?

    \\n

    \\n D\\u00e9j\\u00e0 le m\\u00e9nage, oui je sais c'est chiant mais c'est le prix \\u00e0 payer pour\\n profiter du local. Demande \\u00e0 ce qu'un-e K-F\\u00eat wo-man t'ouvre et tu devrais avoir\\n \\u00e0 ta disposition tout ce qu'il faut pour faire briller la K-F\\u00eat (ou au moins on essaiera de\\n trouver ce qu'il faut). Fais par\\n contre attention aux bouteilles de bi\\u00e8re qui sont consign\\u00e9es, s'il n'y a\\n personne pour les ranger contente-toi de les mettre sur le bar, quelqu'un\\n s'en chargera plus tard. Les meubles peuvent \\u00eatre d\\u00e9plac\\u00e9s dans une salle\\n voisine si tu le souhaites, il faudra juste penser \\u00e0 les remettre en place.\\n

    \\n

    \\n Ensuite dans l'id\\u00e9al tu connais tous tes potes, donc en donner une liste \\u00e0\\n la loge permet d'\\u00e9viter quelques probl\\u00e8mes et quelques aller-retours.\\n Au-del\\u00e0 de 21h, les ext\\u00e9rieur-e-s ne peuvent rentrer qu'avec un-e Ulmien-ne ayant sa carte\\n sur lui-elle.\\n

    \"}, {\"id\": \"f38c629e-da20-40c8-aa05-2c97bcee8e98\", \"type\": \"rich\", \"value\": \"

    Je pourrai passer ma musique ?

    \\n\\n

    \\n Si le BOUM est pr\\u00e9sent, faut voir avec elleux : boum (at) ens (point) fr
    \\n Sinon, pr\\u00e9pare ta musique sur un lecteur mp3 ou une playlist\\n Deezer. Lors de la soir\\u00e9e,\\n demande \\u00e0 un-e K-F\\u00eat wo-man de passer ce que tu as pr\\u00e9par\\u00e9.\\n

    \"}, {\"id\": \"b76abb80-f090-47c0-9fe2-1df159269166\", \"type\": \"rich\", \"value\": \"

    Et pour ce qui est de la nourriture, des boissons ?

    \\n

    \\n Tu peux apporter toute la nourriture que tu souhaites\\u00a0; pr\\u00e9vois assez\\n large, il y a beaucoup de K-F\\u00eat people \\u00e0 nourrir. Pour ce qui est de la\\n boisson, il faut te limiter aux boissons de cat\\u00e9gorie 2, c'est \\u00e0 dire\\n bi\\u00e8res, vins et boissons \\u00e0 base de vin, champagne et bien s\\u00fbr les boissons sans alcool.\\n

    \"}, {\"id\": \"0a450952-7c26-4328-a8c6-79722a8434b9\", \"type\": \"rich\", \"value\": \"

    Et pendant la soir\\u00e9e ?

    \\n

    \\n Ce soir c'est ton soir, il est donc bien s\\u00fbr \\u00e9vident que tu dois\\n rester pr\\u00e9sent-e et joignable du d\\u00e9but \\u00e0 la fin de la soir\\u00e9e. Id\\u00e9alement ce\\n doit aussi \\u00eatre le cas de tes \\\"Responsables ordre et discipline\\\". Vous ne serez pas\\n trop de deux ou trois pour r\\u00e9gler les probl\\u00e8mes qui pourraient survenir,\\n tes potes bourr\\u00e9-e-s, tes potes qui fument, tes potes qui font du bordel dans la cage d'escalier,\\n etc... Tous les probl\\u00e8mes qui pourraient survenir te seront imput\\u00e9s donc\\n pr\\u00e9viens-les, c'est tes potes apr\\u00e8s tout, non ?\\n

    \"}, {\"id\": \"4e24f050-0c09-4c45-8c24-0020ce362120\", \"type\": \"rich\", \"value\": \"

    Apr\\u00e8s c'est bon ?

    \\n

    \\n Eh non, pas encore, apr\\u00e8s (ou le lendemain de) ta soir\\u00e9e il te faudra encore ranger,\\n faire le m\\u00e9nage et passer un coup de javel. Oui encore, mais bon, pense \\u00e0 toutes les fois o\\u00f9\\n c'est nous qui le faisons pour le bien de tou-te-s. Une fois n'est pas\\n coutume demande \\u00e0 un-e K-F\\u00eat wo-man de t'ouvrir et de te fournir tout le\\n mat\\u00e9riel dont tu pourrais avoir besoin, et l\\u00e0 o\\u00f9 c'est vraiment classe\\n c'est que tu peux m\\u00eame faire \\u00e7a en musique si tu le souhaites. N'oublie\\n pas non plus de rapporter les meubles que tu pourrais avoir sortis et que\\n les poubelles ne disparaissent pas toutes seules.\\n

    \"}, {\"id\": \"79083e66-9ec1-45ac-999d-d7d08ab2cbd4\", \"type\": \"rich\", \"value\": \"

    Une derni\\u00e8re remarque ?

    \\n\\n

    \\n Ouais, la K-F\\u00eat c'est pas chez m\\u00e9m\\u00e9, alors c'est peut-\\u00eatre ta soir\\u00e9e mais\\n si un-e membre de l'\\u00e9quipe K-F\\u00eat te dit quelque\\n chose (de baisser le son, de virer telle ou telle personne...) tu acceptes avec le sourire.\\n En particulier tu ne passes pas derri\\u00e8re le bar.\\n

    \"}, {\"id\": \"1d8593ff-3e01-451b-945b-f12d917d28ae\", \"type\": \"rich\", \"value\": \"

    Je ne parle pas bien fran\\u00e7ais, vous pourriez me faire un r\\u00e9sum\\u00e9 ?

    \\n

    \\n Organiser ta soir\\u00e9e c'est facile :\\n

    \\n \\n

    \\n Voila, facile, non ?\\n

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 8, + "fields": { + "content": "[{\"id\": \"cbb9703d-20f5-45bd-ad6f-9386b966a1b1\", \"type\": \"rich\", \"value\": \"

    Et le baby-foot

    \"}, {\"id\": \"aa3c7219-295a-4ec1-94d7-35abdc53ef46\", \"type\": \"rich\", \"value\": \"

    LE flipper

    \\n\\n\\n\\n

    \\n\\tIl existe en K-F\\u00eat une machine unique, inimitable, tout droit venue des\\n ann\\u00e9es folles et b\\u00e9nies o\\u00f9 les concepteurs de flippers connaissaient \\nencore leur m\\u00e9tier, o\\u00f9 les tilts \\u00e9taient m\\u00e9rit\\u00e9s et le jeu un art de \\nvivre. L'esth\\u00e8te appr\\u00e9cie et reconna\\u00eet imm\\u00e9diatement la beaut\\u00e9 sobre et \\nsauvage de l'Amazon Hunt II. D'admirateur, il se m\\u00e9tamorphose \\nin\\u00e9luctablement en joueur-se, puis en amant-e. Car l'Amazon est une \\nfemme, fatale \\u00e0 bien des \\u00e9gards, tou-te-s les grand-e-s joueur-euse-s \\nvous le diront. Dans la pr\\u00e9histoire de la K-F\\u00eat, des demi-dieux-d\\u00e9esses \\ndu flipper d\\u00e9sormais pass\\u00e9-e-s dans la l\\u00e9gende ont r\\u00e9dig\\u00e9 un trait\\u00e9 \\n(certain-e-s diront une bible, voire la Bible).

    \"}, {\"id\": \"1f0caadf-2d5c-4d06-99d7-910690dbfcba\", \"type\": \"rich\", \"value\": \"

    Le baby-foot

    \"}, {\"id\": \"6ded3ee7-975f-4531-a0f4-310df4851fcd\", \"type\": \"rich\", \"value\": \"

    La d\\u00e9funte fun machine

    \\n\\n\\n\\nCette machine n'est plus. Mais elle reste dans le coeur de ceux qui \\nl'ont connue. C'est pourquoi cette section n'a pas \\u00e9t\\u00e9 retir\\u00e9e.

    Pour attaquer le cas \\u00e9trange de la machine bizarre qui tra\\u00eene \\u00e0 c\\u00f4t\\u00e9, \\ndisons simplement qu'elle s'appelle Monster Bash. On me souffle en r\\u00e9gie\\n que pour une fun machine, elle n'est pas si mal. De fait, elle t\\u00e9moigne\\n d'un humour d\\u00e9cal\\u00e9, absurde et parfois involontaire : ainsi, la \\ntraduction oscille entre le path\\u00e9tique et l'ignoble, en passant par le \\nburlesque. Le but est de r\\u00e9veiller et vaincre six monstres, parmi \\nlesquels Dracula et Frankenstein, pour les asservir et les rassembler \\ndans le plus grand groupe de rock de l'histoire : les \\u00abmonsters of rock\\u00bb\\n (traduction : \\u00abmonstres du rocher\\u00bb). Il n'y a pas pour le moment de \\ntrait\\u00e9 th\\u00e9orique de la Monster Bash, la jeu se r\\u00e9sumant de toute fa\\u00e7on \\u00e0\\n \\u00abmoi voir, moi actionner flip\\u00bb. Ce qui n'emp\\u00eache pas la machine en \\nquestion d'avoir son public d'habitu\\u00e9-e-s, bien au contraire. \\n

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "kfetcms.kfetpage", + "pk": 10, + "fields": { + "content": "[{\"id\": \"15b49ad7-e257-4284-809d-10ece31e322d\", \"type\": \"rich\", \"value\": \"

    Responsable de la publication

    \"}, {\"id\": \"3ad8b024-9dfb-45e8-94e5-429840eeaedd\", \"type\": \"rich\", \"value\": \"

    Informations prestataires

    \"}]", + "no_header": false, + "layout": "kfet/base_col_mult.html", + "main_size": "", + "col_count": "" + } +}, +{ + "model": "wagtailimages.image", + "pk": 1, + "fields": { + "collection": 2, + "title": "K-F\u00eat - Amazon Hunt", + "file": "original_images/kfet_amazon.jpg", + "width": 200, + "height": 300, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 2, + "fields": { + "collection": 2, + "title": "K-F\u00eat - Fun Machine", + "file": "original_images/kfet_funmachine.jpg", + "width": 200, + "height": 300, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 3, + "fields": { + "collection": 2, + "title": "Hugo Manet", + "file": "original_images/hugo_manet.jpg", + "width": 3020, + "height": 3020, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 4, + "fields": { + "collection": 2, + "title": "Lisa Gourdon", + "file": "original_images/lisa_gourdon.jpg", + "width": 1566, + "height": 1634, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 5, + "fields": { + "collection": 2, + "title": "Pierre Quesselaire", + "file": "original_images/pierre_quesselaire.jpg", + "width": 117, + "height": 153, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 6, + "fields": { + "collection": 2, + "title": "Thibault Scoquard", + "file": "original_images/thibault_scoquart.jpg", + "width": 606, + "height": 487, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 7, + "fields": { + "collection": 2, + "title": "Arnaud Fanthomme", + "file": "original_images/arnaud_fanthomme.jpg", + "width": 640, + "height": 320, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 8, + "fields": { + "collection": 2, + "title": "Vincent Balerdi", + "file": "original_images/vincent_balerdi.jpg", + "width": 125, + "height": 163, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 9, + "fields": { + "collection": 2, + "title": "Nathana\u00ebl Willaime", + "file": "original_images/nathanel_willaime.jpg", + "width": 125, + "height": 176, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 10, + "fields": { + "collection": 2, + "title": "\u00c9lisabeth Miller", + "file": "original_images/elisabeth_miller.jpg", + "width": 125, + "height": 146, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 11, + "fields": { + "collection": 2, + "title": "Arthur Lesage", + "file": "original_images/arthur_lesage.jpg", + "width": 720, + "height": 720, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 12, + "fields": { + "collection": 2, + "title": "Sarah Asset", + "file": "original_images/sarah_asset.jpg", + "width": 445, + "height": 436, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 13, + "fields": { + "collection": 2, + "title": "Alexandre Legrand", + "file": "original_images/alexandre_legrand.jpg", + "width": 480, + "height": 360, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 14, + "fields": { + "collection": 2, + "title": "\u00c9tienne Baudel", + "file": "original_images/etienne_baudel.jpg", + "width": 4608, + "height": 3456, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 15, + "fields": { + "collection": 2, + "title": "Marine Snape", + "file": "original_images/marine_snape.jpg", + "width": 358, + "height": 435, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 16, + "fields": { + "collection": 2, + "title": "Anatole Gosset", + "file": "original_images/anatole_gosset.jpg", + "width": 121, + "height": 200, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 17, + "fields": { + "collection": 2, + "title": "Jacko Rastikian", + "file": "original_images/jacko_rastikian.jpg", + "width": 253, + "height": 338, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 18, + "fields": { + "collection": 2, + "title": "Alexandre Jannaud", + "file": "original_images/alexandre_jannaud.jpg", + "width": 285, + "height": 380, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 19, + "fields": { + "collection": 2, + "title": "Aur\u00e9lien Delobelle", + "file": "original_images/aurelien_delobelle.jpg", + "width": 283, + "height": 371, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 20, + "fields": { + "collection": 2, + "title": "Sylvain Douteau", + "file": "original_images/sylvain_douteau.jpg", + "width": 125, + "height": 161, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 21, + "fields": { + "collection": 2, + "title": "Rapha\u00ebl Lescanne", + "file": "original_images/raphael_lescanne.jpg", + "width": 125, + "height": 176, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 22, + "fields": { + "collection": 2, + "title": "Romain Gourvil", + "file": "original_images/romain_gourvil.jpg", + "width": 124, + "height": 157, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 23, + "fields": { + "collection": 2, + "title": "Marie Labeye", + "file": "original_images/marie_labeye.jpg", + "width": 133, + "height": 163, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 24, + "fields": { + "collection": 2, + "title": "Oscar Blumberg", + "file": "original_images/oscar_blumberg.jpg", + "width": 127, + "height": 159, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 25, + "fields": { + "collection": 2, + "title": "Za\u00efd Allybokus", + "file": "original_images/zaid_allybokus.jpg", + "width": 210, + "height": 311, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 26, + "fields": { + "collection": 2, + "title": "Damien Garreau", + "file": "original_images/damien_garreau.jpg", + "width": 495, + "height": 548, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 27, + "fields": { + "collection": 2, + "title": "Andr\u00e9a Londono-Lopez", + "file": "original_images/andrea_londono.jpg", + "width": 323, + "height": 458, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 28, + "fields": { + "collection": 2, + "title": "Tristan Roussel", + "file": "original_images/tristan_roussel.jpg", + "width": 120, + "height": 155, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 29, + "fields": { + "collection": 2, + "title": "Guillaume Vernade", + "file": "original_images/guillaume_vernade.jpg", + "width": 427, + "height": 640, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 30, + "fields": { + "collection": 2, + "title": "Lucas Mercier", + "file": "original_images/lucas_mercier.jpg", + "width": 2304, + "height": 3020, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 31, + "fields": { + "collection": 2, + "title": "Fran\u00e7ois Maillot", + "file": "original_images/francois_maillot.jpg", + "width": 199, + "height": 240, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "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": 32, + "fields": { + "collection": 2, + "title": "Fabrice Catoire", + "file": "original_images/fabrice_catoire.jpg", + "width": 965, + "height": 1255, + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "focal_point_x": null, + "focal_point_y": null, + "focal_point_width": null, + "focal_point_height": null, + "file_size": null, + "file_hash": "" + } +}, +{ + "model": "wagtaildocs.document", + "pk": 1, + "fields": { + "collection": 2, + "title": "K-F\u00eat - Plan d'acc\u00e8s", + "file": "documents/kfet_acces.pdf", + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "file_size": null + } +}, +{ + "model": "wagtaildocs.document", + "pk": 2, + "fields": { + "collection": 2, + "title": "K-F\u00eat - Demande d'autorisation", + "file": "documents/kfet_autorisation.pdf", + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "file_size": null + } +}, +{ + "model": "wagtaildocs.document", + "pk": 3, + "fields": { + "collection": 2, + "title": "K-F\u00eat - Trait\u00e9 de Flipper Th\u00e9orique", + "file": "documents/kfet_flipper.pdf", + "created_at": "2017-05-30T04:20:00Z", + "uploaded_by_user": [ + "kfet_genericteam" + ], + "file_size": null + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 1, + "fields": { + "sort_order": 0, + "link_page": 3, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "Accueil", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 2, + "fields": { + "sort_order": 1, + "link_page": 4, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 3, + "fields": { + "sort_order": 2, + "link_page": 5, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 4, + "fields": { + "sort_order": 3, + "link_page": 6, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 5, + "fields": { + "sort_order": 4, + "link_page": 7, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.flatmenuitem", + "pk": 6, + "fields": { + "sort_order": 5, + "link_page": 8, + "link_url": "", + "url_append": "", + "handle": "", + "link_text": "", + "allow_subnav": true, + "menu": 1 + } +}, +{ + "model": "wagtailmenus.mainmenu", + "pk": 1, + "fields": { + "site": [ + "localhost", + 8000 + ], + "max_levels": 2, + "use_specific": 1 + } +}, +{ + "model": "wagtailmenus.flatmenu", + "pk": 1, + "fields": { + "site": [ + "localhost", + 8000 + ], + "title": "K-F\u00eat - Navigation", + "handle": "kfet-nav", + "heading": "", + "max_levels": 1, + "use_specific": 1 + } +} +] diff --git a/kfet/cms/fixtures/kfet_wagtail_17_05.json b/kfet/cms/fixtures/kfet_wagtail_17_05.json deleted file mode 100644 index 66ac7040..00000000 --- a/kfet/cms/fixtures/kfet_wagtail_17_05.json +++ /dev/null @@ -1,1456 +0,0 @@ -[ -{ - "fields": { - "root_page": 9, - "port": 8000, - "site_name": "Global", - "hostname": "localhost", - "is_default_site": true - }, - "pk": 2, - "model": "wagtailcore.site" -}, -{ - "fields": { - "live": true, - "show_in_menus": false, - "numchild": 1, - "title": "Root", - "slug": "root", - "depth": 1, - "expire_at": null, - "search_description": "", - "content_type": [ - "wagtailcore", - "page" - ], - "owner": null, - "expired": false, - "first_published_at": null, - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001", - "latest_revision_created_at": null, - "url_path": "/", - "locked": false, - "seo_title": "" - }, - "pk": 1, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 5, - "title": "Bienvenue en K-Fêt", - "slug": "k-fet", - "depth": 3, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "000100010001", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/", - "locked": false, - "seo_title": "Accueil" - }, - "pk": 3, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 0, - "title": "Mode d'emploi", - "slug": "mode-demploi", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010001", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/mode-demploi/", - "locked": false, - "seo_title": "" - }, - "pk": 4, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 0, - "title": "L'\u00e9quipe", - "slug": "equipe", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010002", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/equipe/", - "locked": false, - "seo_title": "" - }, - "pk": 5, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 0, - "title": "La carte", - "slug": "carte", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010003", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/carte/", - "locked": false, - "seo_title": "" - }, - "pk": 6, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 0, - "title": "Les soir\u00e9es", - "slug": "soirees", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010004", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/soirees/", - "locked": false, - "seo_title": "" - }, - "pk": 7, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 0, - "title": "Le flipper", - "slug": "flipper", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010005", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/flipper/", - "locked": false, - "seo_title": "" - }, - "pk": 8, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": true, - "numchild": 1, - "title": "Global", - "slug": "global", - "depth": 2, - "expire_at": null, - "search_description": "", - "content_type": [ - "wagtailcore", - "page" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "00010001", - "latest_revision_created_at": null, - "url_path": "/global/", - "locked": false, - "seo_title": "" - }, - "pk": 9, - "model": "wagtailcore.page" -}, -{ - "fields": { - "live": true, - "show_in_menus": false, - "numchild": 0, - "title": "Mentions l\u00e9gales", - "slug": "mentions-legales", - "depth": 4, - "expire_at": null, - "search_description": "", - "content_type": [ - "kfetcms", - "kfetpage" - ], - "owner": [ - "kfet_genericteam" - ], - "expired": false, - "first_published_at": "2017-05-28T04:20:00.000Z", - "has_unpublished_changes": false, - "go_live_at": null, - "path": "0001000100010006", - "latest_revision_created_at": null, - "url_path": "/global/k-fet/mentions-legales/", - "locked": false, - "seo_title": "" - }, - "pk": 10, - "model": "wagtailcore.page" -}, -{ - "fields": { - "name": "Root", - "numchild": 1, - "path": "0001", - "depth": 1 - }, - "pk": 1, - "model": "wagtailcore.collection" -}, -{ - "fields": { - "name": "K-F\u00eat", - "numchild": 0, - "path": "00010001", - "depth": 2 - }, - "pk": 2, - "model": "wagtailcore.collection" -}, -{ - "pk": 1, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Hugo", - "nick_name": "", - "photo": 3, - "last_name": "Manet" - } -}, -{ - "pk": 2, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Lisa", - "nick_name": "", - "photo": 4, - "last_name": "Gourdon" - } -}, -{ - "pk": 3, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Pierre", - "nick_name": "", - "photo": 5, - "last_name": "Quesselaire" - } -}, -{ - "pk": 4, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Thibault", - "nick_name": "", - "photo": 6, - "last_name": "Scoquard" - } -}, -{ - "pk": 5, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Arnaud", - "nick_name": "", - "photo": 7, - "last_name": "Fanthomme" - } -}, -{ - "pk": 6, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Vincent", - "nick_name": "", - "photo": 8, - "last_name": "Balerdi" - } -}, -{ - "pk": 7, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Nathana\u00ebl", - "nick_name": "", - "photo": 9, - "last_name": "Willaime" - } -}, -{ - "pk": 8, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "\u00c9lisabeth", - "nick_name": "", - "photo": 10, - "last_name": "Miller" - } -}, -{ - "pk": 9, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Arthur", - "nick_name": "B2O", - "photo": 11, - "last_name": "Lesage" - } -}, -{ - "pk": 10, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Sarah", - "nick_name": "", - "photo": 12, - "last_name": "Asset" - } -}, -{ - "pk": 11, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Alexandre", - "nick_name": "", - "photo": 13, - "last_name": "Legrand" - } -}, -{ - "pk": 12, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "\u00c9tienne", - "nick_name": "", - "photo": 14, - "last_name": "Baudel" - } -}, -{ - "pk": 13, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Marine", - "nick_name": "", - "photo": 15, - "last_name": "Snape" - } -}, -{ - "pk": 14, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Anatole", - "nick_name": "", - "photo": 16, - "last_name": "Gosset" - } -}, -{ - "pk": 15, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Jacko", - "nick_name": "", - "photo": 17, - "last_name": "Rastikian" - } -}, -{ - "pk": 16, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Alexandre", - "nick_name": "", - "photo": 18, - "last_name": "Jannaud" - } -}, -{ - "pk": 17, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Aur\u00e9lien", - "nick_name": "", - "photo": 19, - "last_name": "Delobelle" - } -}, -{ - "pk": 18, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Sylvain", - "nick_name": "", - "photo": 20, - "last_name": "Douteau" - } -}, -{ - "pk": 19, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Rapha\u00ebl", - "nick_name": "", - "photo": 21, - "last_name": "Lescanne" - } -}, -{ - "pk": 20, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Romain", - "nick_name": "", - "photo": 22, - "last_name": "Gourvil" - } -}, -{ - "pk": 21, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Marie", - "nick_name": "", - "photo": 23, - "last_name": "Labeye" - } -}, -{ - "pk": 22, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Oscar", - "nick_name": "", - "photo": 24, - "last_name": "Blumberg" - } -}, -{ - "pk": 23, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Za\u00efd", - "nick_name": "", - "photo": 25, - "last_name": "Allybokus" - } -}, -{ - "pk": 24, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Damien", - "nick_name": "", - "photo": 26, - "last_name": "Garreau" - } -}, -{ - "pk": 25, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Andr\u00e9a", - "nick_name": "", - "photo": 27, - "last_name": "Londonez-Lopez" - } -}, -{ - "pk": 26, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Tristan", - "nick_name": "", - "photo": 28, - "last_name": "Roussel" - } -}, -{ - "pk": 27, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Guillaume", - "nick_name": "", - "photo": 29, - "last_name": "Vernade" - } -}, -{ - "pk": 28, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Lucas", - "nick_name": "", - "photo": 30, - "last_name": "Mercier" - } -}, -{ - "pk": 29, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Fran\u00e7ois", - "nick_name": "M\u00e9talleux", - "photo": 31, - "last_name": "Maillot" - } -}, -{ - "pk": 30, - "model": "kfetcms.memberteam", - "fields": { - "first_name": "Fabrice", - "nick_name": "", - "photo": 32, - "last_name": "Catoire" - } -}, -{ - "pk": 3, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    La K-F\\u00eat, c'est quoi ?

    \\n\\n

    \\n Eh bien la K-F\\u00eat, c'est le bar des \\u00e9l\\u00e8ves de l'\\u00c9cole normale\\n sup\\u00e9rieure. Elle est situ\\u00e9e dans les locaux de l'\\u00c9cole, au pied de\\n l'escalier C (plan). On y trouve \\u00e0 boire, bien s\\u00fbr,\\n des bi\\u00e8res en nombre pl\\u00e9thorique mais aussi caf\\u00e9s, th\\u00e9s, softs et de quoi\\n grignoter. Ah oui un point important, on ne va pas \\u00e0 la K-F\\u00eat, on va EN K-F\\u00eat.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Mais on n'y fait que boire et manger ?

    \\n\\n

    \\n Que nenni, \\u00f4 jeune et innocent conscrit-e ! La K-F\\u00eat n'est pas un bouge\\n sordide o\\u00f9 des piliers de bar passent leurs journ\\u00e9es \\u00e0 picoler. Enfin pas\\n uniquement. C'est aussi un lieu de divertissement avec\\n son flipper (la mythique, la seule, l'unique,\\n la g\\u00e9niale Amazon Hunt), son baby-foot et le lieu d'\\u00e9lection des \\nbridgeur-se-s, du club jeux, des joueur-se-s de poker voire des quelques\\n irr\\u00e9ductibles du boulot qui y viennent bosser en profitant du point \\nd'acc\\u00e8s wifi. \\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Ah \\u00e7a a l'air bien mais... qui s'en occupe ? C'est ouvert quand ?

    \\n\\n

    \\n L'\\u00e9quipe d'\\u00e9l\\u00e8ves motiv\\u00e9-e-s qui s'occupent de la K-F\\u00eat s'appelle, en toute logique, l'\\u00e9quipe K-F\\u00eat.\\n Elle est men\\u00e9e par un-e leader charismatique et bien-aim\\u00e9-e, \\naccompagn\\u00e9-e de ses troupes de fid\\u00e8les, les K-F\\u00eat wo-men, boys et girls.\\n Le local de la K-F\\u00eat n'est ouvert que si un-e K-F\\u00eat wo-man est \\npr\\u00e9sente. \\u00c0 savoir la plupart du temps entre 12h et 3h du matin.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Et je peux y faire ce que je veux ?

    \\n\\n

    \\n Oui et non. Nous ne sommes pas ta grand-m\\u00e8re et nous n'allons\\n certainement pas t'emp\\u00eacher de faire la f\\u00eate, ni de d\\u00e9guster des pintes\\n jusqu'au petit p\\u00f4t. Par contre nous attendons de toi que tu ne sois pas\\n un-e gros-se con-ne. A priori pas de raison de le croire, mais jette tout de m\\u00eame\\n un \\u0153il sur le mode d'emploi de la K-F\\u00eat, \\u00e7a\\n pourrait t'\\u00e9viter de perdre un genoux ou deux...\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    J'adore la K-F\\u00eat, j'aimerais y organiser une soir\\u00e9e, c'est possible ?

    \\n\\n

    \\n Bien s\\u00fbr\\u00a0! Pour cela commence par lire ce petit\\n guide histoire de savoir dans quoi tu t'engages puis contacte ton-ta chef-fe K-F\\u00eat ador\\u00e9-e pour v\\u00e9rifier que la date de ta\\n soir\\u00e9e n'est pas d\\u00e9j\\u00e0 prise par une autre f\\u00eate et obtenir son\\n accord.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    J'ai une question \\u00e0 vous poser. O\\u00f9 puis-je vous contacter ?

    \\n\\n

    \\n Commence d\\u00e9j\\u00e0 par jeter un oeil sur le mode\\n d'emploi de la K-F\\u00eat. Si la r\\u00e9ponse \\u00e0 tes interrogations ne s'y\\n trouve pas, rien n'est perdu. En effet le service informatique de \\nl'\\u00c9cole, dans sa grande mansu\\u00e9tude, a mis \\u00e0 disposition de l'\\u00e9quipe \\nK-F\\u00eat une adresse e-mail, k-fet@ens.fr. Mais sinon, passe en K-F\\u00eat, il y aura sans doute un K-F\\u00eat wo-man qui saura r\\u00e9pondre \\u00e0 ta question.\\n

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "pk": 4, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    Article 0 : La K-F\\u00eat n'existe pas.

    \", \"type\": \"rich\"}, {\"value\": \"

    La K-F\\u00eat, c'est magique, comment \\u00e7a marche ?

    La K-F\\u00eat n'a \\nrien de magique, il n'y a pas de petits d\\u00e9mons qui font le m\\u00e9nage, pas \\nplus que d'arbustes g\\u00e9n\\u00e9tiquement modifi\\u00e9s aux OGM sur lesquels poussent\\n les bouteilles de bi\\u00e8res. La K-F\\u00eat c'est avant tout une \\u00e9quipe qui sacrifie une partie de son temps libre pour que tout se passe pour le mieux.

    \", \"type\": \"rich\"}, {\"value\": \"

    Que puis-je faire pour vous aider un peu ?

    D\\u00e9j\\u00e0 ne pas poser \\nde probl\\u00e8mes, c'est \\u00e0 dire ne pas r\\u00e9veiller tout l'internat en sortant, \\nessayer de ne pas finir dans un \\u00e9tat trop avanc\\u00e9 d'alcoolisation, etc...\\n Mine de rien \\u00e7a nous \\u00e9viterait quelques probl\\u00e8mes.

    Ensuite, comme\\n tu le sais s\\u00fbrement les bi\\u00e8res sont consign\\u00e9es, il est donc pr\\u00e9f\\u00e9rable \\npour nous que tu n'embarques pas les bouteilles en souvenir dans ta \\nthurne. Mieux, tu peux nous faire gagner du temps de rangement en les \\nramenant au bar en partant. Et encore mieux, tu peux jeter tes d\\u00e9chets \\n(gobelets, boite de pringles, etc...). Si tu fais d\\u00e9j\\u00e0 tout \\u00e7a tu nous \\nsimplifieras grandement la vie.

    \", \"type\": \"rich\"}, {\"value\": \"

    Le syst\\u00e8me mon\\u00e9taire de la K-F\\u00eat

    En bon \\u00e9tat souverain et \\nind\\u00e9pendant, la K-F\\u00eat a sa propre monnaie : l'unit\\u00e9 K-F\\u00eat (UKF). Elle \\nvaut 10 centimes d'euro. La K-F\\u00eat ne battant pas monnaie, les UKF que tu\\n poss\\u00e8des sont not\\u00e9es sur ton compte, identifi\\u00e9 par un trigramme (une \\nsuite de trois caract\\u00e8res) et que tu peux recharger en liquide ou par \\nch\\u00e8que. Note que si tu y tiens vraiment, tu peux payer en liquide, mais \\nposs\\u00e9der un compte est bien plus pratique.

    \", \"type\": \"rich\"}, {\"value\": \"

    Comment commander \\u00e0 boire ou \\u00e0 manger ?

    Pour commander \\u00e0 boire ou \\u00e0 manger, il suffit de demander \\u00e0 un membre de l'\\u00e9quipe K-F\\u00eat.\\n Et \\u00e7a marche encore mieux si la demande est effectu\\u00e9e avec le sourire \\nau d\\u00e9but et un merci \\u00e0 la fin : l'\\u00e9quipe est constitu\\u00e9e de volontaires \\nb\\u00e9n\\u00e9voles, et mieux vaut ne pas les prendre pour des chiens. EN AUCUN \\nCAS on ne passe derri\\u00e8re le bar si on n'est pas membre de l'\\u00e9quipe K-F\\u00eat.

    \", \"type\": \"rich\"}, {\"value\": \"

    Puis-je fumer en K-F\\u00eat ?

    Non ! Imagine-toi les jours de \\nsoir\\u00e9es, la K-F\\u00eat remplie et tout le monde qui fume... On finirait tous \\navec des poumons aussi crades que le sol de la K-F\\u00eat. Ce serait quand \\nm\\u00eame dommage pour la recherche fran\\u00e7aise qu'on cr\\u00e8ve tous avant 30 ans, \\nnon ?

    Par contre tu peux fumer dehors, il y a m\\u00eame des cendriers \\njuste pour toi, par contre tu remarqueras que les chambres de l'internat\\n se trouvent juste au dessus de toi. T\\u00e2che donc de ne pas faire trop de \\nbruit.

    \", \"type\": \"rich\"}, {\"value\": \"

    Et amener ma propre bouteille ?

    D\\u00e9j\\u00e0 c'est apporter, enfin en\\n tout cas avant de la boire. Ensuite la K-F\\u00eat est un lieu de \\nconvivialit\\u00e9 o\\u00f9 les bi\\u00e8res te sont vendues au prix co\\u00fbtant,\\n franchement ce serait pas fair-play de te la jouer solo. Alors \\n\\u00e9videment il y a des exceptions, par exemple si tu reviens de Belgique \\net que tu veux faire go\\u00fbter de la Wesvleteren \\u00e0 tes amis de l'\\u00e9quipe K-F\\u00eat,\\n ou si tu veux organiser une d\\u00e9gustation de vins avec la charcuterie qui\\n va bien. Tu comprendras qu'un pack de Kro c'est quand m\\u00eame pas la m\\u00eame \\nclasse...

    \", \"type\": \"rich\"}, {\"value\": \"

    Je peux passer ma musique ?

    Bien s\\u00fbr, nous sommes tr\\u00e8s loin \\nde penser tout conna\\u00eetre en mati\\u00e8re de musique. Mais comme nous sommes \\nentre gens civilis\\u00e9s, et que je te rappelle que tu n'as pas le droit de \\npasser derri\\u00e8re le bar, il convient de demander \\u00e0 un-e membre de l'\\u00e9quipe K-F\\u00eat\\n afin qu'ille t'indique qui est \\u00e0 l'origine de ces chansons que tu \\nn'appr\\u00e9cies apparemment pas. Apr\\u00e8s avoir obtenu son accord tu peux \\ndemander \\u00e0 quelqu'un de mettre ta playlist, qui peut-\\u00eatre sur un lecteur\\n mp3, sur Deezer ou juste sur l'ordi, mais dans ce dernier cas ce sera plus dur puisque tu n'y aura pas acc\\u00e8s directement.

    Le plus simple pour toi (et pour nous) est donc de pr\\u00e9voir des playlists sur Deezer\\n d'avance et de nous les proposer. Par contre, sois gentil-le, n'insiste\\n pas si nous ne voulons pas de ta musique traditionnelle hongroise. Par \\nailleurs, si un trop grand nombre de personnes nous demande de passer de\\n la musique, l'\\u00e9quipe K-F\\u00eat peut ne pas acc\\u00e9der \\u00e0 ta requ\\u00eate.

    \", \"type\": \"rich\"}, {\"value\": \"

    Comment organiser une soir\\u00e9e en K-F\\u00eat ?

    Tout membre du COF \\npeut organiser une soir\\u00e9e en K-F\\u00eat \\u00e0 la condition qu'elle soit publique \\net annonc\\u00e9e une semaine \\u00e0 l'avance par des affiches dans l'\\u00e9cole et un \\nmot dans le BOcal. Il faut bien sur aussi l'accord du COF qui s'occupe \\nde voir si \\u00e7a ne pose pas de probl\\u00e8me \\u00e0 l'admin, celui de la K-F\\u00eat team \\npour qu'il y ait des K-F\\u00eat wo-men pour servir et s\\u00fbrement du BOUM pour \\nqu'il s'occupe de la musique. Nous t'avons tout r\\u00e9sum\\u00e9 ici\\n ; merci qui ? Une fois que tu as accompli ces formalit\\u00e9s, il ne te \\nreste plus qu'\\u00e0 imprimer et coller des affiches pour que ta soir\\u00e9e soit \\nun succ\\u00e8s !

    \", \"type\": \"rich\"}, {\"value\": \"

    D'autres remarques ?

    Des tonnes, en voici quelques unes :

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "pk": 5, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": [{\"value\": \"

    Les ancien-ne-s Chef-fe-s K-F\\u00eat

    Les ancien-ne-s Chef-fe-s K-F\\u00eat doivent bien \\u00eatre pr\\u00e9sent\\u00e9-e-s avant \\nl'\\u00e9quipe actuelle. C'est gr\\u00e2ce \\u00e0 elleux qu'elle tourne encore, gr\\u00e2ce \\u00e0 \\nelleux qu'elle a bien tourn\\u00e9, et puis, de pr\\u00e8s comme de loin, illes \\nveillent encore sur nous. Ce sont les diff\\u00e9rentes facettes de la K-F\\u00eat \\nhistorique, bien que d'un certain point de vue, illes se ressemblent \\ntou-te-s : les Chef-fe-s K-F\\u00eat sont une dynastie, ils n'ont pas \\u00e9t\\u00e9 \\nChef-fe-s apr\\u00e8s avoir prouv\\u00e9 quoi que ce soit, illes l'ont \\u00e9t\\u00e9 parce que\\n ce r\\u00f4le leur revenait de droit. On na\\u00eet Chef-fe K-F\\u00eat, on ne le devient\\n pas. Et on le reste toujours, dans l'\\u00e2me.

    \", \"type\": \"rich\"}, {\"value\": {\"members\": [13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], \"show_only\": 12}, \"type\": \"group_team\"}], \"type\": \"group\"}, {\"value\": [{\"value\": \"

    Le chef

    Le-la chef-fe K-F\\u00eat, celui-celle qui a le droit de vie et de mort sur les \\u00e2mes \\u00e9gar\\u00e9es qui fr\\u00e9quentent la K-F\\u00eat.

    \", \"type\": \"rich\"}, {\"value\": {\"members\": [1, 2], \"show_only\": null}, \"type\": \"group_team\"}], \"type\": \"group\"}, {\"value\": [{\"value\": \"

    Les K-F\\u00eat Wo-Men

    Les K-F\\u00eat wo-men poss\\u00e8dent les cl\\u00e9s de la K-F\\u00eat. Ce sont elleux qui peuvent d\\u00e9cider ou non d'ouvrir la K-F\\u00eat.

    \", \"type\": \"rich\"}, {\"value\": {\"members\": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12], \"show_only\": null}, \"type\": \"group_team\"}], \"type\": \"group\"}, {\"value\": [{\"value\": \"

    Les Vieux-illes

    Les vieux-illes sont d'ancien-ne-s K-F\\u00eat wo-men qui ne viennent plus \\naussi souvent qu'avant, illes servent toujours, mais n'ont en g\\u00e9n\\u00e9ral \\nplus les cl\\u00e9s. Illes existent n\\u00e9anmoins, et on les garde (pour \\ncertain-e-s) parce qu'au fond, on les aime quand m\\u00eame, et qu'en plus, \\nilles en savent plus que n'importe qui sur la K-F\\u00eat.

    \", \"type\": \"rich\"}], \"type\": \"group\"}, {\"value\": \"

    Les K-F\\u00eat boys et girls

    \\n\\n

    Les K-F\\u00eat boys and girls font de main d'\\u0153uvre bon march\\u00e9 pour la \\nK-F\\u00eat, illes peuvent passer derri\\u00e8re le bar, prendre vos commandes et \\nrecharger votre compte si par malheur il est \\u00e0 sec. La liste de \\ncelleux-ci est trop longue pour tou-te-s les citer, pour les reconna\\u00eetre\\n regarde les gens qui passent derri\\u00e8re le bar tout en conservant leur \\nint\\u00e9grit\\u00e9 physique.

    \", \"type\": \"rich\"}, {\"value\": \"

    Comment devient-on K-F\\u00eat people ?

    Grande question que tout le monde se pose un jour ou l'autre. Pour \\nacc\\u00e9der au titre prestigieux de K-F\\u00eat boy-girl, il est n\\u00e9cessaire mais \\npas suffisant d'\\u00eatre assid\\u00fbment pr\\u00e9sent-e en K-F\\u00eat, et d'\\u00eatre pr\\u00eat-e \\u00e0 \\ntrimer pour elle. Si tu es souvent en K-F\\u00eat, que tu es sympathique et \\nmotiv\\u00e9-e, et surtout en fin de compte si le-la chef-fe le veut bien, tu \\npourras devenir K-F\\u00eat boy-girl et passer derri\\u00e8re le bar pour servir. \\nEnsuite, si tu es motiv\\u00e9-e et efficace, ou simplement si t'es un-e pote \\ndu-de la chef-fe et qu'ille n'a aucun scrupule, tu pourras devenir K-F\\u00eat\\n wo-man et avoir la cl\\u00e9.

    Et comme la K-F\\u00eat c'est avant tout beaucoup d'emmerdes on a pas envie\\n de te forcer la main, on veut que cela vienne de toi. Donc si tu te \\nsens pr\\u00eat-e \\u00e0 participer \\u00e0 la vie mouvement\\u00e9e de la K-F\\u00eat fais-en part \\nau-\\u00e0 la chef-fe. Ille ne va pas te manger.

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "pk": 6, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    Le service de la bi\\u00e8re est, historiquement, la mission et le sacerdoce \\ndu K-F\\u00eat people. Ille y est d\\u00e9vou\\u00e9-e corps et \\u00e2me, et accomplit sa t\\u00e2che\\n avec ardeur et passion. Voyons comment se d\\u00e9clinent les occasions \\nd'approcher du nirvana brassicole. Les prix donn\\u00e9s sont en UKF. Si tu \\nn'as pas compris, va voir par ici.

    \", \"type\": \"rich\"}, {\"value\": null, \"type\": \"carte\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "column-md-2 column-lg-3" - } -}, -{ - "pk": 7, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    Tu veux organiser une soir\\u00e9e en K-F\\u00eat ? Pas de probl\\u00e8me !

    \", \"type\": \"rich\"}, {\"value\": \"

    Quand puis-je organiser une soir\\u00e9e ?

    \\n\\n

    \\n Tu peux organiser une soir\\u00e9e le jour que tu souhaites, \\u00e0 condition que la\\n date ne soit pas d\\u00e9j\\u00e0 prise par quelqu'un d'autre. Sache par contre que la\\n K-F\\u00eat ne te sera pas enti\\u00e8rement d\\u00e9di\\u00e9e et que les utilisateur-rice-s habituel-le-s\\n continueront de la fr\\u00e9quenter (et risquent fortement de squatter ta\\n soir\\u00e9e). Donc si tu veux un peu d'intimit\\u00e9 les soir\\u00e9es du week-end sont plus\\n conseill\\u00e9es (mais l'\\u00e9quipe risque de ne pas \\u00eatre pr\\u00e9sente), mais aussi\\n plus pris\\u00e9es, d\\u00e9p\\u00eache-toi de r\\u00e9server la tienne.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Quelles d\\u00e9marches dois-je effectuer ?

    \\n

    \\n D\\u00e9j\\u00e0 pr\\u00e9venir poliment l'\\u00e9quipe K-F\\u00eat, et\\n surtout le-la chef-fe pour v\\u00e9rifier que la date est encore libre, et qu'il y\\n aura au moins quelqu'un pour t'ouvrir la K-F\\u00eat. Ensuite, si ta soir\\u00e9e\\n n'est pas une simple bouffe qui finit avant minuit il faut pr\\u00e9venir les\\n vigiles via l'administration au moyen d'une demande d'autorisation de\\n soir\\u00e9e qui se trouve sur la section du p\\u00f4le Pr\\u00e9vention et S\\u00e9curit\\u00e9 sur l'intranet : demande d'autorisation de soir\\u00e9e.\\n \\u00c0 faire au moins une semaine avant ta soir\\u00e9e.\\n

    \\n

    \\n Si en plus tu as besoin que le BOUM s'occupe de la musique et/ou PLS des\\n lumi\\u00e8res c'est elleux qu'il faut contacter. Histoire de t'\\u00e9viter\\n d'avoir \\u00e0 chercher voici leur adresse\\u00a0: boum (at) ens (point) fr\\n et pls (at) ens (point) fr.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    C'est enfin le grand jour, je fais quoi ?

    \\n

    \\n D\\u00e9j\\u00e0 le m\\u00e9nage, oui je sais c'est chiant mais c'est le prix \\u00e0 payer pour\\n profiter du local. Demande \\u00e0 ce qu'un-e K-F\\u00eat wo-man t'ouvre et tu devrais avoir\\n \\u00e0 ta disposition tout ce qu'il faut pour faire briller la K-F\\u00eat (ou au moins on essaiera de\\n trouver ce qu'il faut). Fais par\\n contre attention aux bouteilles de bi\\u00e8re qui sont consign\\u00e9es, s'il n'y a\\n personne pour les ranger contente-toi de les mettre sur le bar, quelqu'un\\n s'en chargera plus tard. Les meubles peuvent \\u00eatre d\\u00e9plac\\u00e9s dans une salle\\n voisine si tu le souhaites, il faudra juste penser \\u00e0 les remettre en place.\\n

    \\n

    \\n Ensuite dans l'id\\u00e9al tu connais tous tes potes, donc en donner une liste \\u00e0\\n la loge permet d'\\u00e9viter quelques probl\\u00e8mes et quelques aller-retours.\\n Au-del\\u00e0 de 21h, les ext\\u00e9rieur-e-s ne peuvent rentrer qu'avec un-e Ulmien-ne ayant sa carte\\n sur lui-elle.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Je pourrai passer ma musique ?

    \\n\\n

    \\n Si le BOUM est pr\\u00e9sent, faut voir avec elleux : boum (at) ens (point) fr
    \\n Sinon, pr\\u00e9pare ta musique sur un lecteur mp3 ou une playlist\\n Deezer. Lors de la soir\\u00e9e,\\n demande \\u00e0 un-e K-F\\u00eat wo-man de passer ce que tu as pr\\u00e9par\\u00e9.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Et pour ce qui est de la nourriture, des boissons ?

    \\n

    \\n Tu peux apporter toute la nourriture que tu souhaites\\u00a0; pr\\u00e9vois assez\\n large, il y a beaucoup de K-F\\u00eat people \\u00e0 nourrir. Pour ce qui est de la\\n boisson, il faut te limiter aux boissons de cat\\u00e9gorie 2, c'est \\u00e0 dire\\n bi\\u00e8res, vins et boissons \\u00e0 base de vin, champagne et bien s\\u00fbr les boissons sans alcool.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Et pendant la soir\\u00e9e ?

    \\n

    \\n Ce soir c'est ton soir, il est donc bien s\\u00fbr \\u00e9vident que tu dois\\n rester pr\\u00e9sent-e et joignable du d\\u00e9but \\u00e0 la fin de la soir\\u00e9e. Id\\u00e9alement ce\\n doit aussi \\u00eatre le cas de tes \\\"Responsables ordre et discipline\\\". Vous ne serez pas\\n trop de deux ou trois pour r\\u00e9gler les probl\\u00e8mes qui pourraient survenir,\\n tes potes bourr\\u00e9-e-s, tes potes qui fument, tes potes qui font du bordel dans la cage d'escalier,\\n etc... Tous les probl\\u00e8mes qui pourraient survenir te seront imput\\u00e9s donc\\n pr\\u00e9viens-les, c'est tes potes apr\\u00e8s tout, non ?\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Apr\\u00e8s c'est bon ?

    \\n

    \\n Eh non, pas encore, apr\\u00e8s (ou le lendemain de) ta soir\\u00e9e il te faudra encore ranger,\\n faire le m\\u00e9nage et passer un coup de javel. Oui encore, mais bon, pense \\u00e0 toutes les fois o\\u00f9\\n c'est nous qui le faisons pour le bien de tou-te-s. Une fois n'est pas\\n coutume demande \\u00e0 un-e K-F\\u00eat wo-man de t'ouvrir et de te fournir tout le\\n mat\\u00e9riel dont tu pourrais avoir besoin, et l\\u00e0 o\\u00f9 c'est vraiment classe\\n c'est que tu peux m\\u00eame faire \\u00e7a en musique si tu le souhaites. N'oublie\\n pas non plus de rapporter les meubles que tu pourrais avoir sortis et que\\n les poubelles ne disparaissent pas toutes seules.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Une derni\\u00e8re remarque ?

    \\n\\n

    \\n Ouais, la K-F\\u00eat c'est pas chez m\\u00e9m\\u00e9, alors c'est peut-\\u00eatre ta soir\\u00e9e mais\\n si un-e membre de l'\\u00e9quipe K-F\\u00eat te dit quelque\\n chose (de baisser le son, de virer telle ou telle personne...) tu acceptes avec le sourire.\\n En particulier tu ne passes pas derri\\u00e8re le bar.\\n

    \", \"type\": \"rich\"}, {\"value\": \"

    Je ne parle pas bien fran\\u00e7ais, vous pourriez me faire un r\\u00e9sum\\u00e9 ?

    \\n

    \\n Organiser ta soir\\u00e9e c'est facile :\\n

    \\n \\n

    \\n Voila, facile, non ?\\n

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "pk": 8, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    Et le baby-foot

    \", \"type\": \"rich\"}, {\"value\": \"

    LE flipper

    \\n\\n\\n\\n

    \\n\\tIl existe en K-F\\u00eat une machine unique, inimitable, tout droit venue des\\n ann\\u00e9es folles et b\\u00e9nies o\\u00f9 les concepteurs de flippers connaissaient \\nencore leur m\\u00e9tier, o\\u00f9 les tilts \\u00e9taient m\\u00e9rit\\u00e9s et le jeu un art de \\nvivre. L'esth\\u00e8te appr\\u00e9cie et reconna\\u00eet imm\\u00e9diatement la beaut\\u00e9 sobre et \\nsauvage de l'Amazon Hunt II. D'admirateur, il se m\\u00e9tamorphose \\nin\\u00e9luctablement en joueur-se, puis en amant-e. Car l'Amazon est une \\nfemme, fatale \\u00e0 bien des \\u00e9gards, tou-te-s les grand-e-s joueur-euse-s \\nvous le diront. Dans la pr\\u00e9histoire de la K-F\\u00eat, des demi-dieux-d\\u00e9esses \\ndu flipper d\\u00e9sormais pass\\u00e9-e-s dans la l\\u00e9gende ont r\\u00e9dig\\u00e9 un trait\\u00e9 \\n(certain-e-s diront une bible, voire la Bible).

    \", \"type\": \"rich\"}, {\"value\": \"

    Le baby-foot

    \", \"type\": \"rich\"}, {\"value\": \"

    La d\\u00e9funte fun machine

    \\n\\n\\n\\nCette machine n'est plus. Mais elle reste dans le coeur de ceux qui \\nl'ont connue. C'est pourquoi cette section n'a pas \\u00e9t\\u00e9 retir\\u00e9e.

    Pour attaquer le cas \\u00e9trange de la machine bizarre qui tra\\u00eene \\u00e0 c\\u00f4t\\u00e9, \\ndisons simplement qu'elle s'appelle Monster Bash. On me souffle en r\\u00e9gie\\n que pour une fun machine, elle n'est pas si mal. De fait, elle t\\u00e9moigne\\n d'un humour d\\u00e9cal\\u00e9, absurde et parfois involontaire : ainsi, la \\ntraduction oscille entre le path\\u00e9tique et l'ignoble, en passant par le \\nburlesque. Le but est de r\\u00e9veiller et vaincre six monstres, parmi \\nlesquels Dracula et Frankenstein, pour les asservir et les rassembler \\ndans le plus grand groupe de rock de l'histoire : les \\u00abmonsters of rock\\u00bb\\n (traduction : \\u00abmonstres du rocher\\u00bb). Il n'y a pas pour le moment de \\ntrait\\u00e9 th\\u00e9orique de la Monster Bash, la jeu se r\\u00e9sumant de toute fa\\u00e7on \\u00e0\\n \\u00abmoi voir, moi actionner flip\\u00bb. Ce qui n'emp\\u00eache pas la machine en \\nquestion d'avoir son public d'habitu\\u00e9-e-s, bien au contraire. \\n

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "pk": 10, - "model": "kfetcms.kfetpage", - "fields": { - "main_size": "", - "content": "[{\"value\": \"

    Responsable de la publication

    \", \"type\": \"rich\"}, {\"value\": \"

    Informations prestataires

    \", \"type\": \"rich\"}]", - "layout": "kfet/base_col_mult.html", - "no_header": false, - "col_count": "" - } -}, -{ - "model": "wagtaildocs.document", - "pk": 1, - "fields": { - "created_at": "2017-05-30T04:20:00.000Z", - "uploaded_by_user": [ - "kfet_genericteam" - ], - "collection": 2, - "title": "K-F\u00eat - Plan d'acc\u00e8s", - "file": "documents/kfet_acces.pdf" - } -}, -{ - "model": "wagtaildocs.document", - "pk": 2, - "fields": { - "created_at": "2017-05-30T04:20:00.000Z", - "uploaded_by_user": [ - "kfet_genericteam" - ], - "collection": 2, - "title": "K-F\u00eat - Demande d'autorisation", - "file": "documents/kfet_autorisation.pdf" - } -}, -{ - "model": "wagtaildocs.document", - "pk": 3, - "fields": { - "created_at": "2017-05-30T04:20:00.000Z", - "uploaded_by_user": [ - "kfet_genericteam" - ], - "collection": 2, - "title": "K-F\u00eat - Trait\u00e9 de Flipper Th\u00e9orique", - "file": "documents/kfet_flipper.pdf" - } -}, -{ - "model": "wagtailimages.image", - "pk": 1, - "fields": { - "created_at": "2017-05-30T04:20:00.000Z", - "focal_point_width": null, - "height": 300, - "file": "original_images/kfet_amazon.jpg", - "collection": 2, - "focal_point_x": null, - "file_size": null, - "focal_point_height": null, - "focal_point_y": null, - "title": "K-F\u00eat - Amazon Hunt", - "width": 200, - "uploaded_by_user": [ - "kfet_genericteam" - ] - } -}, -{ - "model": "wagtailimages.image", - "pk": 2, - "fields": { - "created_at": "2017-05-30T04:20:00.000Z", - "focal_point_width": null, - "height": 300, - "file": "original_images/kfet_funmachine.jpg", - "collection": 2, - "focal_point_x": null, - "file_size": null, - "focal_point_height": null, - "focal_point_y": null, - "title": "K-F\u00eat - Fun Machine", - "width": 200, - "uploaded_by_user": [ - "kfet_genericteam" - ] - } -}, -{ - "fields": { - "width": 3020, - "file_size": null, - "file": "original_images/hugo_manet.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 3020, - "focal_point_width": null, - "focal_point_y": null, - "title": "Hugo Manet", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 3 -}, -{ - "fields": { - "width": 1566, - "file_size": null, - "file": "original_images/lisa_gourdon.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 1634, - "focal_point_width": null, - "focal_point_y": null, - "title": "Lisa Gourdon", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 4 -}, -{ - "fields": { - "width": 117, - "file_size": null, - "file": "original_images/pierre_quesselaire.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 153, - "focal_point_width": null, - "focal_point_y": null, - "title": "Pierre Quesselaire", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 5 -}, -{ - "fields": { - "width": 606, - "file_size": null, - "file": "original_images/thibault_scoquart.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 487, - "focal_point_width": null, - "focal_point_y": null, - "title": "Thibault Scoquard", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 6 -}, -{ - "fields": { - "width": 640, - "file_size": null, - "file": "original_images/arnaud_fanthomme.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 320, - "focal_point_width": null, - "focal_point_y": null, - "title": "Arnaud Fanthomme", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 7 -}, -{ - "fields": { - "width": 125, - "file_size": null, - "file": "original_images/vincent_balerdi.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 163, - "focal_point_width": null, - "focal_point_y": null, - "title": "Vincent Balerdi", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 8 -}, -{ - "fields": { - "width": 125, - "file_size": null, - "file": "original_images/nathanel_willaime.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 176, - "focal_point_width": null, - "focal_point_y": null, - "title": "Nathana\u00ebl Willaime", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 9 -}, -{ - "fields": { - "width": 125, - "file_size": null, - "file": "original_images/elisabeth_miller.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 146, - "focal_point_width": null, - "focal_point_y": null, - "title": "\u00c9lisabeth Miller", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 10 -}, -{ - "fields": { - "width": 720, - "file_size": null, - "file": "original_images/arthur_lesage.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 720, - "focal_point_width": null, - "focal_point_y": null, - "title": "Arthur Lesage", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 11 -}, -{ - "fields": { - "width": 445, - "file_size": null, - "file": "original_images/sarah_asset.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 436, - "focal_point_width": null, - "focal_point_y": null, - "title": "Sarah Asset", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 12 -}, -{ - "fields": { - "width": 480, - "file_size": null, - "file": "original_images/alexandre_legrand.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 360, - "focal_point_width": null, - "focal_point_y": null, - "title": "Alexandre Legrand", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 13 -}, -{ - "fields": { - "width": 4608, - "file_size": null, - "file": "original_images/etienne_baudel.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 3456, - "focal_point_width": null, - "focal_point_y": null, - "title": "\u00c9tienne Baudel", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 14 -}, -{ - "fields": { - "width": 358, - "file_size": null, - "file": "original_images/marine_snape.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 435, - "focal_point_width": null, - "focal_point_y": null, - "title": "Marine Snape", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 15 -}, -{ - "fields": { - "width": 121, - "file_size": null, - "file": "original_images/anatole_gosset.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 200, - "focal_point_width": null, - "focal_point_y": null, - "title": "Anatole Gosset", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 16 -}, -{ - "fields": { - "width": 253, - "file_size": null, - "file": "original_images/jacko_rastikian.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 338, - "focal_point_width": null, - "focal_point_y": null, - "title": "Jacko Rastikian", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 17 -}, -{ - "fields": { - "width": 285, - "file_size": null, - "file": "original_images/alexandre_jannaud.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 380, - "focal_point_width": null, - "focal_point_y": null, - "title": "Alexandre Jannaud", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 18 -}, -{ - "fields": { - "width": 283, - "file_size": null, - "file": "original_images/aurelien_delobelle.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 371, - "focal_point_width": null, - "focal_point_y": null, - "title": "Aur\u00e9lien Delobelle", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 19 -}, -{ - "fields": { - "width": 125, - "file_size": null, - "file": "original_images/sylvain_douteau.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 161, - "focal_point_width": null, - "focal_point_y": null, - "title": "Sylvain Douteau", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 20 -}, -{ - "fields": { - "width": 125, - "file_size": null, - "file": "original_images/raphael_lescanne.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 176, - "focal_point_width": null, - "focal_point_y": null, - "title": "Rapha\u00ebl Lescanne", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 21 -}, -{ - "fields": { - "width": 124, - "file_size": null, - "file": "original_images/romain_gourvil.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 157, - "focal_point_width": null, - "focal_point_y": null, - "title": "Romain Gourvil", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 22 -}, -{ - "fields": { - "width": 133, - "file_size": null, - "file": "original_images/marie_labeye.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 163, - "focal_point_width": null, - "focal_point_y": null, - "title": "Marie Labeye", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 23 -}, -{ - "fields": { - "width": 127, - "file_size": null, - "file": "original_images/oscar_blumberg.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 159, - "focal_point_width": null, - "focal_point_y": null, - "title": "Oscar Blumberg", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 24 -}, -{ - "fields": { - "width": 210, - "file_size": null, - "file": "original_images/zaid_allybokus.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 311, - "focal_point_width": null, - "focal_point_y": null, - "title": "Za\u00efd Allybokus", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 25 -}, -{ - "fields": { - "width": 495, - "file_size": null, - "file": "original_images/damien_garreau.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 548, - "focal_point_width": null, - "focal_point_y": null, - "title": "Damien Garreau", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 26 -}, -{ - "fields": { - "width": 323, - "file_size": null, - "file": "original_images/andrea_londono.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 458, - "focal_point_width": null, - "focal_point_y": null, - "title": "Andr\u00e9a Londono-Lopez", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 27 -}, -{ - "fields": { - "width": 120, - "file_size": null, - "file": "original_images/tristan_roussel.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 155, - "focal_point_width": null, - "focal_point_y": null, - "title": "Tristan Roussel", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 28 -}, -{ - "fields": { - "width": 427, - "file_size": null, - "file": "original_images/guillaume_vernade.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 640, - "focal_point_width": null, - "focal_point_y": null, - "title": "Guillaume Vernade", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 29 -}, -{ - "fields": { - "width": 2304, - "file_size": null, - "file": "original_images/lucas_mercier.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 3020, - "focal_point_width": null, - "focal_point_y": null, - "title": "Lucas Mercier", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 30 -}, -{ - "fields": { - "width": 199, - "file_size": null, - "file": "original_images/francois_maillot.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 240, - "focal_point_width": null, - "focal_point_y": null, - "title": "Fran\u00e7ois Maillot", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 31 -}, -{ - "fields": { - "width": 965, - "file_size": null, - "file": "original_images/fabrice_catoire.jpg", - "focal_point_height": null, - "focal_point_x": null, - "height": 1255, - "focal_point_width": null, - "focal_point_y": null, - "title": "Fabrice Catoire", - "collection": 2, - "uploaded_by_user": [ - "kfet_genericteam" - ], - "created_at": "2017-05-30T04:20:00.000Z" - }, - "model": "wagtailimages.image", - "pk": 32 -}, -{ - "model": "wagtailmenus.flatmenu", - "fields": { - "max_levels": 1, - "handle": "kfet-nav", - "site": [ - "localhost", - 8000 - ], - "use_specific": 1, - "heading": "", - "title": "K-F\u00eat - Navigation" - }, - "pk": 1 -}, -{ - "pk": 1, - "fields": { - "link_page": 3, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "Accueil", - "link_url": "", - "sort_order": 0, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -}, -{ - "pk": 2, - "fields": { - "link_page": 4, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "", - "link_url": "", - "sort_order": 1, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -}, -{ - "pk": 3, - "fields": { - "link_page": 5, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "", - "link_url": "", - "sort_order": 2, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -}, -{ - "pk": 4, - "fields": { - "link_page": 6, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "", - "link_url": "", - "sort_order": 3, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -}, -{ - "pk": 5, - "fields": { - "link_page": 7, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "", - "link_url": "", - "sort_order": 4, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -}, -{ - "pk": 6, - "fields": { - "link_page": 8, - "menu": 1, - "allow_subnav": true, - "handle": "", - "link_text": "", - "link_url": "", - "sort_order": 5, - "url_append": "" - }, - "model": "wagtailmenus.flatmenuitem" -} -] diff --git a/kfet/cms/hooks.py b/kfet/cms/hooks.py index a3070cfb..55551ec6 100644 --- a/kfet/cms/hooks.py +++ b/kfet/cms/hooks.py @@ -1,6 +1,6 @@ from django.contrib.staticfiles.templatetags.staticfiles import static from django.utils.html import format_html -from wagtail.wagtailcore import hooks +from wagtail.core import hooks @hooks.register("insert_editor_css") diff --git a/kfet/cms/management/commands/kfet_loadwagtail.py b/kfet/cms/management/commands/kfet_loadwagtail.py index 566cca43..2448a595 100644 --- a/kfet/cms/management/commands/kfet_loadwagtail.py +++ b/kfet/cms/management/commands/kfet_loadwagtail.py @@ -1,14 +1,14 @@ from django.contrib.auth.models import Group from django.core.management import call_command from django.core.management.base import BaseCommand -from wagtail.wagtailcore.models import Page, Site +from wagtail.core.models import Page, Site class Command(BaseCommand): help = "Importe des données pour Wagtail" def add_arguments(self, parser): - parser.add_argument("--file", default="kfet_wagtail_17_05") + parser.add_argument("--file", default="kfet_wagtail_02_19") def handle(self, *args, **options): @@ -20,9 +20,11 @@ class Command(BaseCommand): Group.objects.filter(name__in=("Moderators", "Editors")).delete() try: - homepage = Page.objects.get(title="Welcome to your new Wagtail site!") - homepage.delete() - Site.objects.filter(root_page=homepage).delete() + homepage = Page.objects.get(pk=2) + print("home page", homepage.title) + if "Welcome" in homepage.title and "Wagtail" in homepage.title: + homepage.delete() + Site.objects.filter(root_page=homepage).delete() except Page.DoesNotExist: pass diff --git a/kfet/cms/migrations/0001_initial.py b/kfet/cms/migrations/0001_initial.py index 8c075903..992f6052 100644 --- a/kfet/cms/migrations/0001_initial.py +++ b/kfet/cms/migrations/0001_initial.py @@ -2,9 +2,9 @@ from __future__ import unicode_literals import django.db.models.deletion -import wagtail.wagtailcore.blocks -import wagtail.wagtailcore.fields -import wagtail.wagtailsnippets.blocks +import wagtail.core.blocks +import wagtail.core.fields +import wagtail.snippets.blocks from django.db import migrations, models import kfet.cms.models @@ -36,37 +36,35 @@ class Migration(migrations.Migration): "no_header", models.BooleanField( verbose_name="Sans en-tête", - help_text="Coché, l'en-tête (avec le titre) de la page n'est pas affiché.", + help_text="Coché, l'en-tête (avec le titre) de la page n'est pas affiché.", # noqa default=False, ), ), ( "content", - wagtail.wagtailcore.fields.StreamField( + wagtail.core.fields.StreamField( ( ( "rich", - wagtail.wagtailcore.blocks.RichTextBlock( - label="Éditeur" - ), + wagtail.core.blocks.RichTextBlock(label="Éditeur"), ), ("carte", kfet.cms.models.MenuBlock()), ( "group_team", - wagtail.wagtailcore.blocks.StructBlock( + wagtail.core.blocks.StructBlock( ( ( "show_only", - wagtail.wagtailcore.blocks.IntegerBlock( - help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.", + wagtail.core.blocks.IntegerBlock( + help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.", # noqa required=False, label="Montrer seulement", ), ), ( "members", - wagtail.wagtailcore.blocks.ListBlock( - wagtail.wagtailsnippets.blocks.SnippetChooserBlock( + wagtail.core.blocks.ListBlock( + wagtail.snippets.blocks.SnippetChooserBlock( # noqa kfet.cms.models.MemberTeam ), classname="team-group", @@ -78,32 +76,32 @@ class Migration(migrations.Migration): ), ( "group", - wagtail.wagtailcore.blocks.StreamBlock( + wagtail.core.blocks.StreamBlock( ( ( "rich", - wagtail.wagtailcore.blocks.RichTextBlock( + wagtail.core.blocks.RichTextBlock( label="Éditeur" ), ), ("carte", kfet.cms.models.MenuBlock()), ( "group_team", - wagtail.wagtailcore.blocks.StructBlock( + wagtail.core.blocks.StructBlock( ( ( "show_only", - wagtail.wagtailcore.blocks.IntegerBlock( - help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.", + wagtail.core.blocks.IntegerBlock( # noqa + help_text="Nombre initial de membres affichés. Laisser vide pour tou-te-s les afficher.", # noqa required=False, label="Montrer seulement", ), ), ( "members", - wagtail.wagtailcore.blocks.ListBlock( - wagtail.wagtailsnippets.blocks.SnippetChooserBlock( - kfet.cms.models.MemberTeam + wagtail.core.blocks.ListBlock( + wagtail.snippets.blocks.SnippetChooserBlock( # noqa + kfet.cms.models.MemberTeam # noqa ), classname="team-group", label="K-Fêt-eux-ses", @@ -157,7 +155,7 @@ class Migration(migrations.Migration): max_length=255, blank=True, verbose_name="Nombre de colonnes", - help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes", + help_text="S'applique au page dont le contenu est scindé sur plusieurs colonnes", # noqa ), ), ], diff --git a/kfet/cms/models.py b/kfet/cms/models.py index 6d108f31..b9061b21 100644 --- a/kfet/cms/models.py +++ b/kfet/cms/models.py @@ -1,17 +1,17 @@ from django.db import models from django.utils.translation import ugettext_lazy as _ -from wagtail.wagtailadmin.edit_handlers import ( +from wagtail.admin.edit_handlers import ( FieldPanel, FieldRowPanel, MultiFieldPanel, StreamFieldPanel, ) -from wagtail.wagtailcore import blocks -from wagtail.wagtailcore.fields import StreamField -from wagtail.wagtailcore.models import Page -from wagtail.wagtailimages.edit_handlers import ImageChooserPanel -from wagtail.wagtailsnippets.blocks import SnippetChooserBlock -from wagtail.wagtailsnippets.models import register_snippet +from wagtail.core import blocks +from wagtail.core.fields import StreamField +from wagtail.core.models import Page +from wagtail.images.edit_handlers import ImageChooserPanel +from wagtail.snippets.blocks import SnippetChooserBlock +from wagtail.snippets.models import register_snippet from kfet.cms.context_processors import get_articles diff --git a/kfet/cms/translation.py b/kfet/cms/translation.py new file mode 100644 index 00000000..bf97d216 --- /dev/null +++ b/kfet/cms/translation.py @@ -0,0 +1,9 @@ +from modeltranslation.decorators import register +from modeltranslation.translator import TranslationOptions + +from .models import KFetPage + + +@register(KFetPage) +class KFetPageTr(TranslationOptions): + fields = [] diff --git a/provisioning/prepare_django.sh b/provisioning/prepare_django.sh index b91f92e6..f3358873 100644 --- a/provisioning/prepare_django.sh +++ b/provisioning/prepare_django.sh @@ -4,6 +4,8 @@ set -e python manage.py migrate +python manage.py sync_page_translation_fields +python manage.py update_translation_fields python manage.py loaddata gestion sites articles python manage.py loaddevdata python manage.py syncmails gestioncof/management/data/custommail.json diff --git a/requirements.txt b/requirements.txt index 4d443d16..73b3d78f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -20,9 +20,9 @@ git+https://git.eleves.ens.fr/cof-geek/django_custommail.git#egg=django_customma ldap3 channels==1.1.5 python-dateutil -wagtail==1.11.* -wagtailmenus==2.2.* -wagtail-modeltranslation==0.6.0rc2 +wagtail==2.3.* +wagtailmenus==2.12.* +wagtail-modeltranslation==0.9.* django-cors-headers==2.2.0 # Production tools