style -- black + isort

This commit is contained in:
Aurélien Delobelle 2019-01-06 00:25:41 +01:00
parent 376cc96343
commit 39eaf4b109
12 changed files with 1224 additions and 328 deletions

View file

@ -1 +1 @@
default_app_config = 'gestioncof.cms.apps.COFCMSAppConfig'
default_app_config = "gestioncof.cms.apps.COFCMSAppConfig"

View file

@ -2,6 +2,6 @@ from django.apps import AppConfig
class COFCMSAppConfig(AppConfig):
name = 'gestioncof.cms'
label = 'cofcms'
verbose_name = 'CMS COF'
name = "gestioncof.cms"
label = "cofcms"
verbose_name = "CMS COF"

File diff suppressed because it is too large Load diff

View file

@ -2,55 +2,159 @@
# Generated by Django 1.11.9 on 2018-04-28 13:46
from __future__ import unicode_literals
from django.db import migrations, models
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'),
("wagtailcore", "0039_collectionviewrestriction"),
("cofcms", "0001_initial"),
]
operations = [
migrations.CreateModel(
name='COFUtilPage',
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')),
(
"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',
"verbose_name": "Page utilitaire",
"verbose_name_plural": "Pages utilitaires",
},
bases=(wagtail.contrib.wagtailroutablepage.models.RoutablePageMixin, 'wagtailcore.page'),
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"},
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 ?'),
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)'))))))),
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),
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),
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,
),
),
]

View file

@ -13,7 +13,7 @@ from wagtail.wagtailimages.edit_handlers import ImageChooserPanel
class COFActuIndexMixin:
@property
def actus(self):
actus = COFActuPage.objects.live().order_by('-date_start').descendant_of(self)
actus = COFActuPage.objects.live().order_by("-date_start").descendant_of(self)
return actus
@ -22,10 +22,10 @@ class COFRootPage(Page, COFActuIndexMixin):
introduction = RichTextField("Introduction")
content_panels = Page.content_panels + [
FieldPanel('introduction', classname="full"),
FieldPanel("introduction", classname="full")
]
subpage_types = ['COFActuIndexPage', 'COFPage', 'COFDirectoryPage', 'COFUtilPage']
subpage_types = ["COFActuIndexPage", "COFPage", "COFDirectoryPage", "COFUtilPage"]
class Meta:
verbose_name = "Racine site du COF"
@ -45,19 +45,19 @@ class IFrameBlock(blocks.StructBlock):
# Page lambda du site
class COFPage(Page):
body = StreamField([
('heading', blocks.CharBlock(classname="full title")),
('paragraph', blocks.RichTextBlock()),
('image', ImageChooserBlock()),
('iframe', IFrameBlock()),
])
body = StreamField(
[
("heading", blocks.CharBlock(classname="full title")),
("paragraph", blocks.RichTextBlock()),
("image", ImageChooserBlock()),
("iframe", IFrameBlock()),
]
)
content_panels = Page.content_panels + [
StreamFieldPanel('body'),
]
content_panels = Page.content_panels + [StreamFieldPanel("body")]
subpage_types = ['COFDirectoryPage', 'COFPage']
parent_page_types = ['COFPage', 'COFRootPage']
subpage_types = ["COFDirectoryPage", "COFPage"]
parent_page_types = ["COFPage", "COFRootPage"]
class Meta:
verbose_name = "Page normale COF"
@ -66,8 +66,8 @@ class COFPage(Page):
# Actualités
class COFActuIndexPage(Page, COFActuIndexMixin):
subpage_types = ['COFActuPage']
parent_page_types = ['COFRootPage']
subpage_types = ["COFActuPage"]
parent_page_types = ["COFRootPage"]
class Meta:
verbose_name = "Index des actualités"
@ -75,9 +75,9 @@ class COFActuIndexPage(Page, COFActuIndexMixin):
def get_context(self, request):
context = super().get_context(request)
actus = COFActuPage.objects.live().descendant_of(self).order_by('-date_end')
actus = COFActuPage.objects.live().descendant_of(self).order_by("-date_end")
page = request.GET.get('page')
page = request.GET.get("page")
paginator = Paginator(actus, 5)
try:
actus = paginator.page(page)
@ -86,7 +86,7 @@ class COFActuIndexPage(Page, COFActuIndexMixin):
except EmptyPage:
actus = paginator.page(paginator.num_pages)
context['actus'] = actus
context["actus"] = actus
return context
@ -94,20 +94,24 @@ class COFActuPage(RoutablePageMixin, Page):
chapo = models.TextField("Description rapide", blank=True)
body = RichTextField("Contenu")
image = models.ForeignKey(
'wagtailimages.Image', verbose_name="Image à la Une",
null=True, blank=True,
on_delete=models.SET_NULL, related_name='+'
"wagtailimages.Image",
verbose_name="Image à la Une",
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name="+",
)
is_event = models.BooleanField("Évènement", default=True, blank=True)
date_start = models.DateTimeField("Date et heure de début")
date_end = models.DateTimeField("Date et heure de fin", blank=True,
default=None, null=True)
date_end = models.DateTimeField(
"Date et heure de fin", blank=True, default=None, null=True
)
all_day = models.BooleanField("Toute la journée", default=False, blank=True)
content_panels = Page.content_panels + [
ImageChooserPanel('image'),
FieldPanel('chapo'),
FieldPanel('body', classname="full"),
ImageChooserPanel("image"),
FieldPanel("chapo"),
FieldPanel("body", classname="full"),
FieldPanel("is_event"),
FieldPanel("date_start"),
FieldPanel("date_end"),
@ -115,7 +119,7 @@ class COFActuPage(RoutablePageMixin, Page):
]
subpage_types = []
parent_page_types = ['COFActuIndexPage']
parent_page_types = ["COFActuIndexPage"]
class Meta:
verbose_name = "Actualité"
@ -125,21 +129,21 @@ class COFActuPage(RoutablePageMixin, Page):
# Annuaires (Clubs, partenaires, bonnes adresses)
class COFDirectoryPage(Page):
introduction = RichTextField("Introduction")
alphabetique = models.BooleanField("Tri par ordre alphabétique ?",
default=True, blank=True)
alphabetique = models.BooleanField(
"Tri par ordre alphabétique ?", default=True, blank=True
)
content_panels = Page.content_panels + [
FieldPanel('introduction'),
FieldPanel('alphabetique'),
FieldPanel("introduction"),
FieldPanel("alphabetique"),
]
subpage_types = ['COFActuPage', 'COFDirectoryEntryPage']
parent_page_types = ['COFRootPage', 'COFPage']
subpage_types = ["COFActuPage", "COFDirectoryEntryPage"]
parent_page_types = ["COFRootPage", "COFPage"]
@property
def entries(self):
entries = COFDirectoryEntryPage.objects.live()\
.descendant_of(self)
entries = COFDirectoryEntryPage.objects.live().descendant_of(self)
if self.alphabetique:
entries = entries.order_by("title")
return entries
@ -151,31 +155,46 @@ class COFDirectoryPage(Page):
class COFDirectoryEntryPage(Page):
body = RichTextField("Description")
links = StreamField([
('lien', blocks.StructBlock([
('url', blocks.URLBlock(required=True)),
('texte', blocks.CharBlock()),
])),
('contact', blocks.StructBlock([
('email', blocks.EmailBlock(required=True)),
('texte', blocks.CharBlock()),
])),
])
links = StreamField(
[
(
"lien",
blocks.StructBlock(
[
("url", blocks.URLBlock(required=True)),
("texte", blocks.CharBlock()),
]
),
),
(
"contact",
blocks.StructBlock(
[
("email", blocks.EmailBlock(required=True)),
("texte", blocks.CharBlock()),
]
),
),
]
)
image = models.ForeignKey(
'wagtailimages.Image', verbose_name="Image",
null=True, blank=True,
on_delete=models.SET_NULL, related_name='+'
"wagtailimages.Image",
verbose_name="Image",
null=True,
blank=True,
on_delete=models.SET_NULL,
related_name="+",
)
content_panels = Page.content_panels + [
ImageChooserPanel('image'),
FieldPanel('body', classname="full"),
ImageChooserPanel("image"),
FieldPanel("body", classname="full"),
StreamFieldPanel("links"),
]
subpage_types = []
parent_page_types = ['COFDirectoryPage']
parent_page_types = ["COFDirectoryPage"]
class Meta:
verbose_name = "Entrée d'annuaire"
@ -186,9 +205,10 @@ class COFDirectoryEntryPage(Page):
class COFUtilPage(RoutablePageMixin, Page):
# Mini calendrier
@route(r'^calendar/(\d+)/(\d+)/$')
@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))
"""
@ -203,6 +223,7 @@ class COFUtilPage(RoutablePageMixin, Page):
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)

View file

@ -11,7 +11,7 @@ register = template.Library()
@register.filter()
def obfuscate_mail(value):
val = value.replace('', '-').replace('@', 'arbre').replace('.', 'pont')[1:]
val = value.replace("", "-").replace("@", "arbre").replace(".", "pont")[1:]
return val
@ -27,11 +27,11 @@ def calendar(context, month=None, year=None):
prev_month = month_start - timedelta(days=2)
month_prestart = month_start - timedelta(days=month_start.weekday())
month_postend = next_month + timedelta(days=(next_month.weekday() + 6) % 7)
events = COFActuPage.objects.live()\
.filter(date_start__range=[month_prestart,
month_postend],
is_event=True)\
.order_by('-date_start')
events = (
COFActuPage.objects.live()
.filter(date_start__range=[month_prestart, month_postend], is_event=True)
.order_by("-date_start")
)
events = list(events)
weeks = []
curday = month_prestart
@ -48,14 +48,23 @@ def calendar(context, month=None, year=None):
del events[k]
else:
curevents.append(e)
day = {'day': curday.day,
'date': curday,
'class': (('today ' if curday == now.date() else '')
+ ('in ' if (curday.month == month_start.month
and curday.year == month_start.year)
else 'out ')
+ ('hasevent' if len(curevents) > 0 else '')),
'events': curevents}
day = {
"day": curday.day,
"date": curday,
"class": (
("today " if curday == now.date() else "")
+ (
"in "
if (
curday.month == month_start.month
and curday.year == month_start.year
)
else "out "
)
+ ("hasevent" if len(curevents) > 0 else "")
),
"events": curevents,
}
week.append(day)
curday += deltaday
weeks.append(week)
@ -65,16 +74,23 @@ def calendar(context, month=None, year=None):
utilpage = COFUtilPage.objects.live()[0]
except COFUtilPage.DoesNotExist:
utilpage = None
request = context['request']
request = context["request"]
burl = utilpage.debugged_get_url(request) + "/"
prev_url = burl + utilpage.reverse_subpage("calendar",
args=[str(prev_month.year),
str(prev_month.month)])
next_url = burl + utilpage.reverse_subpage("calendar",
args=[str(next_month.year),
str(next_month.month)])
context.push({"events": events, "weeks": weeks, "this_month": month_start,
"prev_month": prev_url, "next_month": next_url})
prev_url = burl + utilpage.reverse_subpage(
"calendar", args=[str(prev_month.year), str(prev_month.month)]
)
next_url = burl + utilpage.reverse_subpage(
"calendar", args=[str(next_month.year), str(next_month.month)]
)
context.push(
{
"events": events,
"weeks": weeks,
"this_month": month_start,
"prev_month": prev_url,
"next_month": next_url,
}
)
return context
@ -87,9 +103,13 @@ def mini_calendar(event):
week_start = date_start - timedelta(days=date_start.weekday())
curday = week_start
for i in range(7):
days.append({'day': curday.day,
'hasevent': curday >= date_start and curday <= date_end,
'today': curday == today})
days.append(
{
"day": curday.day,
"hasevent": curday >= date_start and curday <= date_end,
"today": curday == today,
}
)
curday += timedelta(days=1)
return {"days": days}
@ -98,13 +118,13 @@ def mini_calendar(event):
def dates(event):
def factorize_suffix(a, b):
i = -1
imin = - min(len(a), len(b))
imin = -min(len(a), len(b))
while i > imin and a[i] == b[i]:
i -= 1
if i == -1:
return (a, b, '')
return (a, b, "")
else:
return (a[:i + 1], b[:i + 1], a[i + 1:])
return (a[: i + 1], b[: i + 1], a[i + 1 :])
datestart_string = formats.date_format(event.date_start)
timestart_string = formats.time_format(event.date_start)
@ -113,22 +133,27 @@ def dates(event):
if event.all_day:
return _("le %s") % datestart_string
else:
return _("le %s de %s à %s") % \
(datestart_string,
timestart_string,
formats.time_format(event.date_end))
return _("le %s de %s à %s") % (
datestart_string,
timestart_string,
formats.time_format(event.date_end),
)
else:
dateend_string = formats.date_format(event.date_end)
diffstart, diffend, common = factorize_suffix(datestart_string,
dateend_string)
diffstart, diffend, common = factorize_suffix(
datestart_string, dateend_string
)
if event.all_day:
return _("du %s au %s%s") % \
(diffstart, diffend, common)
return _("du %s au %s%s") % (diffstart, diffend, common)
else:
return _("du %s%s à %s au %s à %s") % \
(diffstart, common, timestart_string,
diffend, formats.time_format(event.date_end))
return _("du %s%s à %s au %s à %s") % (
diffstart,
common,
timestart_string,
diffend,
formats.time_format(event.date_end),
)
else:
if event.all_day:
return _("le %s") % datestart_string

View file

@ -13,42 +13,29 @@ from .models import (
@register(COFRootPage)
class COFRootPageTr(WagtailTranslationOptions):
fields = (
'introduction',
)
fields = ("introduction",)
@register(COFPage)
class COFPageTr(WagtailTranslationOptions):
fields = (
'body',
)
fields = ("body",)
@register(COFActuIndexPage)
class COFActuIndexPageTr(WagtailTranslationOptions):
fields = (
)
fields = ()
@register(COFActuPage)
class COFActuPageTr(WagtailTranslationOptions):
fields = (
'chapo',
'body',
)
fields = ("chapo", "body")
@register(COFDirectoryPage)
class COFDirectoryPageTr(WagtailTranslationOptions):
fields = (
'introduction',
)
fields = ("introduction",)
@register(COFDirectoryEntryPage)
class COFDirectoryEntryPageTr(WagtailTranslationOptions):
fields = (
'body',
'links',
)
fields = ("body", "links")

View file

@ -2,5 +2,4 @@ from django.shortcuts import render
def raw_calendar_view(request, year, month):
return render(request, "cofcms/calendar_raw.html",
{"month": month, "year": year})
return render(request, "cofcms/calendar_raw.html", {"month": month, "year": year})