The Menu class was not originally designed to accept menu items at constructor time (instead requiring them to be passed via hooks); ModelAdmin's SubMenu class patched this functionality in, and the documentation for extending admin views piggybacked on this. Add this functionality to the base Menu class so that we don't have this unnecessary dependency on ModelAdmin.
- apply general fixes to existing markdown documentation
- various cases of rst syntax still used
- update some links to be the new format
- clean up line breaks (prettier)
- Postgres does not provide true control the search ranking using the database search backend.
- Postgres only supports four weight levels and this should be clarified in the documentation
Relates to #8383
* Convert the image tag topic to Markdown
* Convert the permissions usage to Markdown
* Convert the topic of snippets to Markdown
* Convert the streamfield topic to markdown
* Convert the writing templates doc to Markdown
- This method is now used to add links to the IndexView's rows, where
possible.
- If the user does not have permissions to edit, the inspect view will be used (if enabled), otherwise the item till not be clickable
- fixes #8261
- fixed as part of 4411b76388
- see wagtail/admin/templates/wagtailadmin/chooser/_browse_results.html
- removed aria-label on `u-btn-current` as content was already in the button
I have just tried to follow the original instructions and got an `AttributeError: 'str' object has no attribute 'source'` when trying to append a rich text block to a `StreamField` programmatically.
Wrapping the value in a `RichText` object solved the issue. This seems to be in line with the behavior described further down the page.
This now implements the logic to link to the next minor's release notes
when such a version difference is computed. If a patch release
difference is computed, then those release notes are linked.
The utils.tests.js seemed a bit unexpected location, because there is no
`utils.js` module. Now the module defining the tests and the one
defining the functionality are named similarly, as is common in the rest
of the code base.
- resolves #7336
- resolves #7405
- resolves #3938
- fixes #8537
Fix issue where upgrade notification was not using translated content.
Normally, generic model views will be spun up through wagtail.admin.viewsets, which takes care of configuring the add_url_name / edit_url_name etc attributes to ensure that they are cross-linked appropriately. But if you're defining one in isolation, that's an unnecessary hoop to jump through, and the error messages if you don't specify them are fairly opaque. Fix this so that:
1. Non-essential cross-links (e.g. the Add button on the index view, and the Delete button on the edit view) are gracefully omitted if the URLs are undefined;
2. Essential cross-links (e.g. the destination of the redirect after a successful form submission) raise an informative error telling the developer what needs to be defined.
Fixes #8190
Django 4 changed the rendering of radio button / checkbox lists to nested divs rather than ul/li - see 5942ab5eb1. This change simply applies the existing li styles to second-level divs.
we were usng Codecov but weren't actually getting any notifications on pull requests.
Update codecov.yml
Removing `after_n_builds` as there is only 1 build
The ajax-request now uses multipart/form-data, similar to
image-chooser-modal.js/document-chooser-modal.js, which allows to add
and use FileFields in the bulk-upload-views.
If Filter.run is requested to create an unknown output format,
it should not fail silently without writing any output, but instead
throw an exception.
Fixes #8503
This was causing relative urls to be rewritten to use the publicPath.
This meant that the icon font would be referenced at the wrong location
if sites had changed STATIC_URL
fixes #8517
Prompted by https://github.com/wagtail/wagtail/discussions/8362#discussioncomment-2647505 - Python files are expected to be in UTF-8, but `open()` will use the system default encoding, which is likely to be Windows-1252 on Windows. Unfortunately [fileinput](https://docs.python.org/3/library/fileinput.html) doesn't provide an encoding argument until Python 3.10, so we have to over-engineer things a bit to keep things consistent across the rewrite / list / diff modes - opening files in binary mode and explicitly decoding each line as utf-8 (with graceful fallback behaviour on UnicodeDecodeError, so that we don't end up clobbering a file mid-write).
- Co-Authored-By: Khanh Hoang <39248704+thoang43@users.noreply.github.com>
- adds ability to set `base_url_path` on ModelAdmin to override the `app_name`/`model` URL building behaviour
- fixes #8038
* Add construct_synced_page_tree_list hook and use in page unpublish view
* Implement construct_synced_page_tree_list in simple_translation
but only when sync page tree is enabled
* Add hook documentation
* Add construct_synced_page_tree_list hook tests (#8058)
* Move translated and alias pages when WAGTAIL_I18N_ENABLED and WAGTAILSIMPLETRANSLATION_SYNC_PAGE_TREE are enabled
Co-Authored-By: Kalob Taulien <4743971+KalobTaulien@users.noreply.github.com>
* Delete corresponding translations when WAGTAIL_I18N_ENABLED and WAGTAILSIMPLETRANSLATION_SYNC_PAGE_TREE are true
Co-Authored-By: Kalob Taulien <4743971+KalobTaulien@users.noreply.github.com>
* Rename the hook to be more specific
* Update singular string version in confirm_move.html
* Update test test_translation_count_in_context
Co-authored-by: Kalob Taulien <4743971+KalobTaulien@users.noreply.github.com>
Co-authored-by: Karl Hobley <karl@kaed.uk>
This argument should be used on all new StreamFields created under Wagtail 3. It does add some clutter to the examples, but only using it in select cases would create more confusion...
resolves #8043
ui-monospace, Menlo, Monaco, ... "Courier New", monospace
Operating Systems and their fonts:
ui-monospace -> MacOS (Menlo, Monaco fallback)
Cascadia ->Windows (since Vista)
Roboto -> Android (since 4.0)
Fira -> Firefox OS
Droid -> Android (<4.0)
Oxygen -> KDE
Ubuntu -> Ubuntu
In addition, ui-monospace is supported for Safari/MacOS (only way to access SF Mono in Mac);
Cascadia is a new Microsoft font-face, and Segue is the fallback.
- resolves #1874
- ensure message is dynamic based on the setting TAG_SPACES_ALLOWED
- Update wagtail/admin/templates/wagtailadmin/widgets/tag_widget.html
- fixes #8269
because you cannot dynamically set attributes on bound methods, we need to update the current classes version of admin_thumb so it can be accessed in sub classes
This will result in a migration, but the migration from a `CharField` to an `EmailField` won't hit the database, as `EmailField` is just a `CharField` with extra default validation.
- add documentation for WAGTAILADMIN_BASE_URL
- ensure that WAGTAILADMIN_BASE_URL is used via a util so that it can fallback from request
- resolves #3248
- remove settings URL from pagination template - not required for query string URLs
- global font family on some elements set by normalize.css would override the desired font
- font stack was not correctly used across some elements
- fixes #8016
Currently bulk publishing raises an error if you include pages that
exist in the database without any revisions. This commit ensures
that a revision exists before the page is published.
Fixes issue 8187.
As per discussion on https://github.com/wagtail/wagtail/discussions/7732, the changes in the upcoming release (sidebar redesign, removal of hallo.js, module reorganisation) warrant a version bump to 3.0 if we're following semantic versioning.
Add system check for use_json_field in StreamField
Change system check level to Warning
Add use_json_field argument to StreamField in test models
Use RemovedInWagtail219Warning instead of a system check
Handle unpacked values in to_python when use_json_field is True
Duplicate models and tests for JSONField-based StreamField
Add basic tests for JSONField-based StreamField
Add json_field property in StreamField to unify JSONField usage
Add docs
Don't use destructuring for kwargs in deconstruct
Add versionchanged note to StreamField reference
* update github bug template to have status:Unconfirmed
- by default, ensure that all new bugs are raised with the label status:Unconfirmed
- for the bug template where 'hints' exist - use HTML comments to hide these
* docs - update issue tracking
- convert from RST to markdown
- add details about when to use Github discussions instead of an issue
- add details about bugs will be raised with the status:Unconfirmed
- add link to PR triage guide
- add links to release schedule & roadmap
- put less emphasis on milestones for new issue creation
- resolves #3746
- add a hidden & disabled first submit input so that ‘enter’ does not trigger submit
- allow the behaviour of the actual submit button to still work as expected
- intentionally HTML only solution as it is simpler and more accessible than JS override
This covers pages, snippets, ModelAdmin and settings. This assumes that the form is a subclass of PermissionedForm such as WagtailAdminModelForm - for pages and snippets this is documented as a requirement (https://docs.wagtail.org/en/stable/advanced_topics/customisation/page_editing_interface.html#customising-generated-forms); for settings it's undocumented (but would entail setting `base_form_class`, and from there it's implicit that the same rules as snippets apply).
For ModelAdmin, it's possible to set a custom form by overriding get_form_class. This isn't documented, but the tests from #2752 make use of this - so in case similar code exists in the wild, I've added an upgrade note.
- the original conversion to markdown happened around the same time as the MyST conversion
- this meant that the syntax was not in sync
- also run prettier over markdown for consistent formatting & whitespace
- see #8007
* Consistently set `aria-haspopup="menu"` for all sidebar menu items that have sub-menus (LB (Ben Johnston))
* Make sure `aria-expanded` is always explicitly set as a string in sidebar (LB (Ben Johnston))
* Use a button element instead of a link for page explorer menu item, for the correct semantics and behavior (LB (Ben Johnston))
- As this is only a dev/testing dependency, and declaring the dependencies that you use directly is likely standard knowledge
- if anyone does overlook it, it'll presumably fail in an obvious and easily fixed way
- see 8ac683ef5c (r68486362)