* Adds PostgreSQL search backend.
* Isort nitpicks.
* Fixes PostgreSQL versions incompatibilities.
* Uses Django lru_cache instead of building our own.
* Fixes PostgreSQL search index on some empty vector & query cases.
* Never sets the PostgreSQL search vector to NULL.
* Simplification + removes caching on two fast enough functions.
* Rewrites stale entries deletion to use the ORM.
The idea is that Streamfield-Blocks can be grouped in the CMS
by setting Meta's `group` attribute.
This gives a better overview, particularly with many blocks.
If the attribute remains unset, nothing changes.
It is possible to set default format for date/datetime inputs. This works together
with standard django localization.
# django settings
USE_I18N = True
LANGUAGE_CODE = 'sl'
# wagtail settings
WAGTAIL_DATE_FORMAT = '%d.%m.%Y.'
WAGTAIL_DATETIME_FORMAT = '%d.%m.%Y. %H:%M'
DateBlock, DateTimeBlock accepts additional keyword argument `format`.
pk = quote(getattr(obj, self.opts.pk.attname))
self.url_helper.get_action_url('edit', quote(pk)) # < this was a little unneccessary, double function calls in multiple locations
This fixes the bug reported by @nimasmi in
https://github.com/wagtail/wagtail/issues/3431#issuecomment-288051751
Slicing creates a new SearchResults object but the ``score_field`` (set
by ``.annotate_score()`` wasn't being passed along to the new
SearchResults causing the score to not be annotated.
* Split `helpers.py` into separate `url.py`, `permission.py` and `button.py`, dedicated to those separate concerns and update the docs accordingly
* Move `ThumbnailMixin` out to `mixins.py` and update documentation accordingly
* Ad #NOQA to import lines to hush pep errors
* Alphabetise helper import order
* - Delete `helpers/helpers.py`
- wagtal -> wagtail in docs
Wagtail doesn't routinely require access to Django admin, so it makes sense for Wagtail to not enforce an opinion on who does or doesn't get access.
Fixes#970 and #2777