A Wagtail package for periodic page content reviews for quality or audit purposes.
- Dashboard panels
- Filtered report
- Configurable next review frequency
Install using pip:
pip install wagtail-periodic-review
After installing the module, add wagtail_periodic_review
and wagtail.contrib.settings
to installed apps in your settings file:
# settings.py
INSTALLED_APPS = [
# ...
"wagtail.contrib.settings",
"wagtail_periodic_review",
]
Run migrations:
$ ./manage.py migrate
Add the PeriodicReviewMixin
to your Page
models:
from wagtail.models import Page
from wagtail_periodic_review.models import PeriodicReviewMixin
class MyPage(PeriodicReviewMixin, Page):
# Add the periodic review panels to the settings panels
settings_panels = PeriodicReviewMixin.review_panels + Page.settings_panels
To make changes to this project, first clone this repository:
git clone git@github.com:zerolab/wagtail-periodic-review.git
cd wagtail-periodic-review
With your preferred virtualenv activated, install testing dependencies:
python -m pip install --upgrade "pip>=21.3"
python -m pip install -e '.[testing]' -U
python -m pip install flit
flit install
Note that this project uses pre-commit. To set up locally:
# if you don't have it yet, globally
$ python -m pip install pre-commit
# go to the project directory
$ cd wagtail-periodic-review
# initialize pre-commit
$ pre-commit install
# Optional, run all checks once for this, then the checks will run only on the changed files
$ pre-commit run --all-files
Now you can run tests as shown below:
tox
or, you can run them for a specific environment tox -e python3.12-django4.2-wagtail5.2
or specific test
tox -e python3.12-django4.2-wagtail5.2 -- tests.test_file.TestClass.test_method
To run the test app interactively, use tox -e interactive
, visit http://127.0.0.1:8020/admin/
and log in with admin
/changeme
.