Skip to content

Search Wagtail pages by the StreamField blocks they contain

License

Notifications You must be signed in to change notification settings

cfpb/wagtail-inventory

Repository files navigation

Build Status

wagtail-inventory

Search Wagtail pages by block type.

Wagtail Inventory adds the ability to search pages in your Wagtail site by the StreamField block types they contain. It adds a new report to the Wagtail admin site that allows you to search for pages that do or do not contain certain blocks. It supports searching both by Wagtail built-in blocks (like CharBlock) as well as any custom blocks you might define.

Setup

Install the package using pip:

$ pip install wagtail-inventory

Add wagtailinventory` as an installed app in your Django settings:

# in settings.py
INSTALLED_APPS = (
    ...
    'wagtailinventory',
    ...
)

Run migrations to create required database tables:

$ manage.py migrate wagtailinventory

Run a management command to initialize database tables with current pages:

$ manage.py block_inventory

Admin users should now be able to search pages in the Wagtail admin site, under Reports > Block Inventory.

Other user groups may be granted access to the report by giving them the "Can view" "Page block" permission in Wagtail Group settings.

Compatibility

This code has been tested for compatibility with:

  • Python 3.8, 3.12
  • Django 4.2 (LTS), 5.0
  • Wagtail 6.2

It should be compatible with all intermediate versions, as well. If you find that it is not, please file an issue.

Testing

Running project unit tests requires tox:

$ tox

To run the test app interactively, run:

$ tox -e interactive

Now you can visit http://localhost:8000/admin/ in a browser and log in with admin / changeme.

Open source licensing info

  1. TERMS
  2. LICENSE
  3. CFPB Source Code Policy