Skip to content

torchbox/wagtail-periodic-review

Repository files navigation

Wagtail Periodic Review

A Wagtail package for periodic page content reviews for quality or audit purposes.

Build status Ruff pre-commit

A screenshot of the Wagtail administrative dashboard with periodic review panels

Features

  • Dashboard panels
  • Filtered report
  • Configurable next review frequency

Installation

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

Usage

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

Contributing

Install

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:

Using pip

python -m pip install --upgrade "pip>=21.3"
python -m pip install -e '.[testing]' -U

Using flit

python -m pip install flit
flit install

pre-commit

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

How to run tests

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.