Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: Migration vers le DSFR #1323

Merged
merged 203 commits into from
Sep 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
203 commits
Select commit Hold shift + click to select a range
c5c00b8
install django dsfr
SebastienReuiller Jul 2, 2024
ea8d946
add dsfr header
SebastienReuiller Jul 2, 2024
2e9c9d5
feat: dsfr the header
madjid-asa Jul 3, 2024
27e0088
clean container
madjid-asa Jul 3, 2024
e7f860a
remove s-section__row
madjid-asa Jul 3, 2024
192c2c3
replace rows
madjid-asa Jul 3, 2024
f539bbc
clean col
madjid-asa Jul 3, 2024
ed872f5
clean rows
madjid-asa Jul 3, 2024
6bd8ea9
clean useless classes
madjid-asa Jul 3, 2024
eafbdfc
clean useless css classes
madjid-asa Jul 3, 2024
1f0f82d
add some clean
madjid-asa Jul 3, 2024
ae3c267
adjust the margins and paddings
madjid-asa Jul 3, 2024
3b32d7c
clean all s-. classes
madjid-asa Jul 4, 2024
bc76cf0
template tag to pass dict to other tag
SebastienReuiller Jul 4, 2024
f8138b5
adapt login form
SebastienReuiller Jul 4, 2024
ee4747e
adapt signup form
SebastienReuiller Jul 4, 2024
b47368a
adapt 404 page
SebastienReuiller Jul 4, 2024
7d4aa3c
adapt 500 page
SebastienReuiller Jul 4, 2024
c04d2b3
adapt 403 error page
SebastienReuiller Jul 4, 2024
f894009
clean cards
madjid-asa Jul 4, 2024
add0dff
clean cards
madjid-asa Jul 4, 2024
563d06d
update cards
madjid-asa Jul 4, 2024
840e5a8
toggle mecanic on signup form
SebastienReuiller Jul 4, 2024
eb780f1
create specific dsfr utils
SebastienReuiller Jul 8, 2024
0693807
adapt toggle signup form
SebastienReuiller Jul 8, 2024
2a176f7
set select required if no input finded
SebastienReuiller Jul 8, 2024
514ade7
add asterix if input required
SebastienReuiller Jul 8, 2024
205066f
extra css to get around unsupport inline fieldset
SebastienReuiller Jul 8, 2024
c7cf7b4
normal size submit button
SebastienReuiller Jul 8, 2024
6376f1e
add accessible autocomplete
SebastienReuiller Jul 8, 2024
ddfd063
adapt add tender to dsfr
SebastienReuiller Jul 8, 2024
8ab1201
adapt advisor
SebastienReuiller Jul 9, 2024
bc99a83
fix ckedit width
SebastienReuiller Jul 9, 2024
aeb76d6
fix questions dsfr adaptation
SebastienReuiller Jul 9, 2024
bdc3b46
fix data input
SebastienReuiller Jul 9, 2024
45d2201
specify endblock
SebastienReuiller Jul 9, 2024
3cb690f
adapt confirmation page
SebastienReuiller Jul 9, 2024
5e3fa4a
adapt tender detail card
SebastienReuiller Jul 9, 2024
6d34565
dsfr badge
SebastienReuiller Jul 9, 2024
f0400a9
hide label if field is hidden
SebastienReuiller Jul 9, 2024
ec300ed
adapt profile edit form
SebastienReuiller Jul 9, 2024
cbf68e2
integrate the footer
madjid-asa Jul 9, 2024
ba8894f
display django messages at top
SebastienReuiller Jul 10, 2024
d7c3900
hide company name label if field is hidden
SebastienReuiller Jul 10, 2024
e1e72f8
remove duplicate class
SebastienReuiller Jul 10, 2024
fc3d032
adapt search with dsfr - first draft
SebastienReuiller Jul 10, 2024
2ea78e0
adapt field location
SebastienReuiller Jul 15, 2024
f8d01b9
add cookie consent
SebastienReuiller Jul 15, 2024
68fdc2c
home notice and fix tests
SebastienReuiller Jul 15, 2024
04811ce
quick adapt to fix tests
SebastienReuiller Jul 15, 2024
e19a1a5
create new home page
madjid-asa Jul 15, 2024
2a264f0
create new home page
madjid-asa Jul 15, 2024
c6056b5
clean wagtail blog
madjid-asa Jul 15, 2024
310cc47
adapt breadcrumb
SebastienReuiller Jul 15, 2024
c142884
update requirements
madjid-asa Jul 16, 2024
e8b21d2
fix flake 8 error for migration
madjid-asa Jul 16, 2024
b81f12e
add tender adapt breadcrumb
SebastienReuiller Jul 16, 2024
3ba0a1c
add sitefacile directory in docker container
SebastienReuiller Jul 16, 2024
c8620fa
adapt dropdown menu
SebastienReuiller Jul 16, 2024
09e1eb5
add missing a closed tag
SebastienReuiller Jul 16, 2024
eb977d2
aides territoires card
SebastienReuiller Jul 16, 2024
9df46b7
adapt list
SebastienReuiller Jul 16, 2024
0007436
adapt badge
SebastienReuiller Jul 16, 2024
7043a84
adapt super badge
SebastienReuiller Jul 16, 2024
1eaa0ea
adapt siae dashboard
SebastienReuiller Jul 16, 2024
f4aaf93
add compress css
SebastienReuiller Jul 17, 2024
841414c
acceptable dropdown menu replacement
SebastienReuiller Jul 17, 2024
a3df437
adapt tab system
SebastienReuiller Jul 17, 2024
3d34981
fix tab border
SebastienReuiller Jul 17, 2024
b66f634
remove ancho to see top django message
SebastienReuiller Jul 17, 2024
c3cb25e
adapt form
SebastienReuiller Jul 17, 2024
6611edb
adapt form
SebastienReuiller Jul 17, 2024
912bc49
adapt edit info
SebastienReuiller Jul 17, 2024
3a09a3c
add home v2 template
madjid-asa Jul 18, 2024
ec6e587
remove test from Ci
madjid-asa Jul 21, 2024
654b03e
fix labels formset
SebastienReuiller Jul 22, 2024
6ca9c70
use dsfr tooltip instead
SebastienReuiller Jul 22, 2024
ff2f2fd
adapt siae users
SebastienReuiller Jul 23, 2024
92882f2
siae offer and formset with image
SebastienReuiller Jul 24, 2024
96e02e5
remove useless class
SebastienReuiller Jul 24, 2024
a3f852f
start with cards
madjid-asa Jul 24, 2024
2e5b1d7
adapt add first tender card
SebastienReuiller Jul 24, 2024
0c4f5bb
adapt buyer home
SebastienReuiller Jul 24, 2024
fa615fb
less primary button
SebastienReuiller Jul 24, 2024
3a016c9
add super badge
madjid-asa Jul 24, 2024
057a993
integrate all infos
madjid-asa Jul 24, 2024
06be77c
try to add config for s3
madjid-asa Jul 25, 2024
2ccfcc4
improve siae detail page
raphodn Jul 25, 2024
591c82a
adapt favorite list
SebastienReuiller Jul 29, 2024
00e578c
toggle right favorite modal
SebastienReuiller Jul 29, 2024
c0ee693
makes modals idempotent
SebastienReuiller Jul 29, 2024
b28c0a3
social impact with htmx update
SebastienReuiller Jul 30, 2024
9dc82af
Siae detail: fix card height, move all info inside card. Aside: show …
raphodn Jul 30, 2024
47b4206
Downgraded because it had an issue to trigger the afterSwag event on …
SebastienReuiller Jul 30, 2024
81f3e64
adapt impact calculator
SebastienReuiller Jul 30, 2024
02c2371
replace filter_class with filterset_class (depreciate by django-filter)
SebastienReuiller Jul 30, 2024
f78349b
Disables dark theme and configuration modal until images are adapted
SebastienReuiller Jul 30, 2024
169b357
adapt login or signup modal
SebastienReuiller Jul 30, 2024
73d2897
CORS allow all origin to test S3
SebastienReuiller Jul 31, 2024
0106567
add missing icin-picker css
SebastienReuiller Jul 31, 2024
b171995
Revert "CORS allow all origin to test S3"
SebastienReuiller Jul 31, 2024
9125550
fix close btn on login modal
SebastienReuiller Jul 31, 2024
a3561b1
fix: favicon
SebastienReuiller Jul 31, 2024
43b2378
adapt contact modal
SebastienReuiller Jul 31, 2024
1fc41d3
refactor: Update card_suggest_tender.html template
SebastienReuiller Jul 31, 2024
83050ee
update pagination
raphodn Aug 1, 2024
e2a95dd
Siae detail: fix image display, and missing blocks
raphodn Aug 1, 2024
b1a3bf2
Search: fix share button
raphodn Aug 1, 2024
c51b17a
Tender list: improve tender card, breadcrumbs, tabs
raphodn Aug 1, 2024
ede100a
add custom widget for multiselect
madjid-asa Jul 29, 2024
c4fe7a2
update multiselect
madjid-asa Aug 1, 2024
8714ec1
split code of multiselect
madjid-asa Aug 1, 2024
777bdc4
adapt password reset pages
SebastienReuiller Aug 5, 2024
952848a
add csttoken for htmx
SebastienReuiller Aug 5, 2024
22c2f94
adapt tender sidebar
SebastienReuiller Aug 5, 2024
55b1dc3
adapt side infos author
SebastienReuiller Aug 5, 2024
0d9e965
fix double breadcrumb
SebastienReuiller Aug 6, 2024
82fe889
create block "page_title" to avoid double title html tag
SebastienReuiller Aug 6, 2024
1a28ad1
add wagtail expose settings to have correct title on content pages
SebastienReuiller Aug 6, 2024
8d6568c
adapt contact detail click modal
SebastienReuiller Aug 6, 2024
38c6c29
adapt not interested modal
SebastienReuiller Aug 6, 2024
365363c
nice filter
SebastienReuiller Aug 6, 2024
d07e01f
Dashboard network (detail page)
raphodn Aug 7, 2024
b175148
adapt survey transactionned
SebastienReuiller Aug 7, 2024
55ddb34
adapt tendersiae list
SebastienReuiller Aug 7, 2024
cb02a5c
Merge home_page in settings_context_processor. Refactor
raphodn Aug 8, 2024
d03f016
Dashboard network: siae list, tender list
raphodn Aug 8, 2024
035c511
Dashboard network: siae tenders & tender siaes
raphodn Aug 8, 2024
710cca3
Dashboard: move cards to their own templates
raphodn Aug 8, 2024
015c9a0
adapt company reference calculator
SebastienReuiller Aug 12, 2024
50fc366
adapt groupements page
SebastienReuiller Aug 12, 2024
e53510a
fix title settings
SebastienReuiller Aug 12, 2024
c10a15c
fix other title
SebastienReuiller Aug 12, 2024
e4d4a5d
use row-center instead offset
SebastienReuiller Aug 12, 2024
3b70fc8
ellipsis in siae small card
SebastienReuiller Aug 12, 2024
d06e748
adapt contact form
SebastienReuiller Aug 12, 2024
9bce0b5
adapt page accessibilite
SebastienReuiller Aug 12, 2024
a37c7a9
adapt page stats
SebastienReuiller Aug 12, 2024
fc4129a
adapt page decouvrir inclusion
SebastienReuiller Aug 13, 2024
97e37f9
add col to tender list item
SebastienReuiller Aug 13, 2024
26a4955
fix delete btn and space
SebastienReuiller Aug 13, 2024
8161b78
adapt flat page to DSFR
SebastienReuiller Aug 14, 2024
41ec9bf
fix tender list item layout
SebastienReuiller Aug 14, 2024
fcdbcd9
adapt page partenaires to dsfr
SebastienReuiller Aug 14, 2024
d79eb2f
fix tender list item layout for network
SebastienReuiller Aug 19, 2024
edc8bfe
remove container to allow full width block
SebastienReuiller Aug 19, 2024
8b04fc1
improve multiselect widget
madjid-asa Aug 20, 2024
a990dff
Revert "remove test from Ci"
SebastienReuiller Aug 20, 2024
64f320e
fix tests after DSFR migration
SebastienReuiller Aug 20, 2024
c36d3d3
only test our app
SebastienReuiller Aug 20, 2024
a5aef4d
remove useless parallel
SebastienReuiller Aug 20, 2024
ecdb9a0
set parallel test auto to run one test process for each processor core
SebastienReuiller Aug 21, 2024
6975476
fix promote tenders block margin
SebastienReuiller Aug 21, 2024
8020960
target only element on multiselect
SebastienReuiller Aug 21, 2024
2ab9b67
revisit siae card
SebastienReuiller Aug 21, 2024
16d926e
fix btn alignment
SebastienReuiller Aug 21, 2024
6d42e77
generate password to avoid gitguardian warning
SebastienReuiller Aug 21, 2024
f9d7489
adapt ressources pages
SebastienReuiller Aug 22, 2024
0c6a084
allows the content page to be below ressources
SebastienReuiller Aug 26, 2024
0670f7e
adapt categories tag
SebastienReuiller Aug 26, 2024
03bfd58
remove external link icon to link internal Django view with a chosen …
SebastienReuiller Aug 28, 2024
5e26e38
add missing cms style
SebastienReuiller Sep 3, 2024
327ca7c
also center button in large hero
SebastienReuiller Sep 3, 2024
10e936b
update tac css to avoid display "Panneau de gestion des cookies” on b…
SebastienReuiller Sep 3, 2024
3f7073d
prestataire become fournisseur
SebastienReuiller Sep 3, 2024
745f9d9
try to restore DEFAULT_FILE_STORAGE
SebastienReuiller Sep 3, 2024
97392eb
try with custom backend
SebastienReuiller Sep 3, 2024
f89db94
revert storage conf
SebastienReuiller Sep 3, 2024
cb029cf
remove execess margin on multicolumns
SebastienReuiller Sep 4, 2024
792d947
remove useless tag and hide breadcrumb on home
SebastienReuiller Sep 4, 2024
5fb1892
remove margin around image
SebastienReuiller Sep 4, 2024
75d0a33
try to solve click away
madjid-asa Sep 4, 2024
00cd342
improve multiselect
madjid-asa Sep 4, 2024
b68ba8f
fix multi dropdown
madjid-asa Sep 5, 2024
c13efde
add id to track with matomo
SebastienReuiller Sep 5, 2024
04651cb
fix favorite add in siae detail
SebastienReuiller Sep 9, 2024
c0a9ce0
remove "id_" in name for it to be interpreted by the back
SebastienReuiller Sep 9, 2024
088307d
add custom multiselect on tender add form
SebastienReuiller Sep 9, 2024
138c248
load multiselector on impact calculator
SebastienReuiller Sep 9, 2024
cc58cec
load right widget
SebastienReuiller Sep 9, 2024
00084ca
show sectors only for buyer
SebastienReuiller Sep 10, 2024
9f1fe4c
load initial value
SebastienReuiller Sep 10, 2024
c335a8e
add reset method to multiselect component
SebastienReuiller Sep 10, 2024
0fa0744
fix second click on input
SebastienReuiller Sep 11, 2024
8ef8f4d
fix empty message
SebastienReuiller Sep 12, 2024
289c642
add missing migration on email constraint
SebastienReuiller Sep 12, 2024
99993d3
create Alpine component to handle favorite item
SebastienReuiller Sep 16, 2024
d92ca32
use component on favorite list
SebastienReuiller Sep 16, 2024
94ee16b
show result even when there are no results
SebastienReuiller Sep 16, 2024
33ebff6
use let instead var
SebastienReuiller Sep 17, 2024
2a5b1d5
fix tests
SebastienReuiller Sep 17, 2024
45ad266
use contentpage tag instead old article category
SebastienReuiller Sep 17, 2024
33dbb90
fix error fields.E300
SebastienReuiller Sep 17, 2024
92844a4
Fix ressources on dashboard
SebastienReuiller Sep 17, 2024
923e320
order tag by name
SebastienReuiller Sep 17, 2024
3073711
use header image as thumbnail
SebastienReuiller Sep 18, 2024
1b5439a
fix poetry lock after rebase
SebastienReuiller Sep 19, 2024
25e5ea9
fix migration conflict on cms
SebastienReuiller Sep 19, 2024
04fc088
add wagtail transfer
madjid-asa Sep 19, 2024
7dbf7bb
update requirements
madjid-asa Sep 19, 2024
b2603fa
add missing migration
SebastienReuiller Sep 19, 2024
fe914e8
remove useless model
madjid-asa Sep 19, 2024
bb80be8
fix test with click on checkbox label
SebastienReuiller Sep 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/workflows/linting_testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,5 @@ jobs:
run: |
source .venv/bin/activate
python manage.py collectstatic
coverage run --source='./lemarche' ./manage.py test --parallel
coverage run --source='./lemarche' ./manage.py test --parallel auto lemarche
coverage report
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,4 @@ repos:
- id: flake8
args: ["--max-line-length=119"] # strange behavior, have to duplicate arg here to be taken into account
language_version: python3
exclude: migrations/
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ deploy_prod: scripts/deploy_prod.sh
./scripts/deploy_prod.sh

test_container:
docker compose exec -ti app django-admin test --settings=config.settings.test $(TARGET) --noinput --failfast --parallel
docker compose exec -ti app django-admin test --settings=config.settings.test --noinput --failfast --parallel auto $(TARGET)

test:
django-admin test --settings=config.settings.test $(TARGET) --noinput --failfast --parallel
django-admin test --settings=config.settings.test --noinput --failfast --parallel auto $(TARGET)
Empty file added blog/__init__.py
Empty file.
4 changes: 4 additions & 0 deletions blog/admin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# from django.contrib import admin


# Register your models here.
6 changes: 6 additions & 0 deletions blog/apps.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from django.apps import AppConfig


class BlogConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "blog"
29 changes: 29 additions & 0 deletions blog/blocks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from django.utils.translation import gettext_lazy as _
from wagtail import blocks
from wagtail.images.blocks import ImageChooserBlock

from content_manager.blocks import ImageAndTextBlock, MultiColumnsWithTitleBlock, QuoteBlock


class ContactCardBlock(blocks.StructBlock):
name = blocks.CharBlock(label=_("Name"), max_length=255)
role = blocks.CharBlock(label=_("Role"), max_length=255)
organization = blocks.CharBlock(label=_("Organization"), max_length=255)
contact_info = blocks.CharBlock(label=_("Contact info"), max_length=500, required=False)
image = ImageChooserBlock(label="Image")

class Meta:
icon = "user"
template = ("blog/blocks/contact_card.html",)


COLOPHON_BLOCKS = [
("paragraph", blocks.RichTextBlock(label=_("Rich text"))),
(
"imageandtext",
ImageAndTextBlock(label="Bloc image et texte"),
),
("quote", QuoteBlock(label="Citation")),
("multicolumns", MultiColumnsWithTitleBlock(label="Multi-colonnes")),
("contact_card", ContactCardBlock(label=_("Contact card"))),
]
191 changes: 191 additions & 0 deletions blog/locale/fr/LC_MESSAGES/django.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-07-11 17:35+0200\n"
"PO-Revision-Date: 2024-07-11 17:36+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Poedit 3.4.2\n"

#: blog/blocks.py:9 blog/models.py:348 blog/models.py:365
msgid "Name"
msgstr "Nom"

#: blog/blocks.py:10 blog/models.py:366
msgid "Role"
msgstr "Fonction"

#: blog/blocks.py:11 blog/models.py:360
msgid "Organization"
msgstr "Organisation"

#: blog/blocks.py:12 blog/models.py:368
msgid "Contact info"
msgstr "Informations de contact"

#: blog/blocks.py:21
msgid "Rich text"
msgstr "Texte riche"

#: blog/blocks.py:28
msgid "Contact card"
msgstr "Carte contact"

#: blog/models.py:36
msgid "Posts per page"
msgstr "Articles par page"

#: blog/models.py:40 blog/templates/blog/blog_index_page.html:76
msgid "Filter by category"
msgstr "Filtrer par catégorie"

#: blog/models.py:41 blog/templates/blog/blog_index_page.html:93
msgid "Filter by tag"
msgstr "Filtrer par étiquette"

#: blog/models.py:42 blog/templates/blog/blog_index_page.html:110
msgid "Filter by author"
msgstr "Filtrer par auteur"

#: blog/models.py:44 blog/templates/blog/blog_index_page.html:125
msgid "Filter by source"
msgstr "Filtrer par source"

#: blog/models.py:44
msgid "The source is the organization of the post author"
msgstr "La source est l’organisation à laquelle appartient l’auteur de l’article"

#: blog/models.py:56
msgid "Show filters"
msgstr "Afficher les filtres"

#: blog/models.py:63
msgid "Blog index"
msgstr "Index de blog"

#: blog/models.py:92 blog/templates/blog/tags_list_page.html:20
#: blog/views.py:149
msgid "Tags"
msgstr "Étiquettes"

#: blog/models.py:97
#, python-format
msgid "Posts tagged with %(tag)s"
msgstr "Articles avec l’étiquette %(tag)s"

#: blog/models.py:110 blog/models.py:227 blog/models.py:323
#: blog/templates/blog/categories_list_page.html:20 blog/views.py:117
msgid "Categories"
msgstr "Catégories"

#: blog/models.py:115
#, python-format
msgid "Posts in category %(category)s"
msgstr "Articles dans la catégorie %(category)s"

#: blog/models.py:126 blog/models.py:128 blog/models.py:139 blog/models.py:142
msgid "Posts written by"
msgstr "Articles écrits par"

#: blog/models.py:146
#, python-format
msgid "Posts published in %(year)s"
msgstr "Articles publiés en %(year)s"

#: blog/models.py:229
msgid "Post date"
msgstr "Date de publication"

#: blog/models.py:231
msgid "Author entries can be created in Snippets > Persons"
msgstr "Les auteurs peuvent être créés via Fragments > Personnes"

#: blog/models.py:250
msgid "Scheduled publishing"
msgstr "Publication planifiée"

#: blog/models.py:258
msgid "Tags and Categories"
msgstr "Étiquettes et Catégories"

#: blog/models.py:266
msgid "Blog page"
msgstr "Page de blog"

#: blog/models.py:271
msgid "Category name"
msgstr "Nom de la catégorie"

#: blog/models.py:278
msgid "Parent category"
msgstr "Catégorie parente"

#: blog/models.py:285
msgid "Description"
msgstr "Description"

#: blog/models.py:286
msgid "Displayed on the top of the category page"
msgstr "Affiché en haut de la page de la catégorie"

#: blog/models.py:292
msgid "Text displayed at the end of every page in the category"
msgstr "Texte affiché à la fin de chaque page de la catégorie"

#: blog/models.py:303
msgid "Parent category cannot be self."
msgstr "La catégorie ne peut être sa propre parente."

#: blog/models.py:305
msgid "Cannot have circular Parents."
msgstr "Il est impossible d’avoir des parents circulaires."

#: blog/models.py:322 blog/models.py:334
msgid "Category"
msgstr "Catégorie"

#: blog/models.py:385
msgid "Person"
msgstr "Personne"

#: blog/templates/blog/blocks/blog_index_posts_list.html:36
msgid "No article found."
msgstr "Aucun article trouvé."

#: blog/templates/blog/blog_entry_page.html:75
msgid "Posted by:"
msgstr "Écrit par :"

#: blog/templates/blog/blog_index_page.html:71
#: blog/templates/blog/blog_index_page.html:73
msgid "Filters"
msgstr "Filtres"

#, python-format
#~ msgid "Posts written by %(first_name)s %(last_name)s"
#~ msgstr "Articles publiés par %(first_name)s %(last_name)s"

#, fuzzy
#~| msgid "Author"
#~ msgid "Authors"
#~ msgstr "Auteur"

#~ msgid "Colophon"
#~ msgstr "Colophon"

#~ msgid "Header image"
#~ msgstr "Image d’en-tête"

#~ msgid "body"
#~ msgstr "corps"
7 changes: 7 additions & 0 deletions blog/managers.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
from django.db import models


class CategoryManager(models.Manager):
def with_uses(self, blog_page):
entries = blog_page.get_entries()
return self.filter(entrypage__in=entries).distinct()
Loading
Loading