#django #python #wagtail
Since I'm the only one editing content, the first thing I changed was to disable the moderation feature. You can do this by altering the settings of your Wagtail install. In my case, I added the following statement to the base settings file:
1WAGTAIL_MODERATION_ENABLED = False
The next thing I wanted to do was to make the default action when creating a new page the "Publish" action instead of "Save Draft". This can also be done, but in a slightly different way. You can do this by using the hooks feature of Wagtail.
In any of your apps which you installed in your Wagtail install, you can add a file called
wagtail_hooks.py. In my setups, I tend to create an app called
base in which I can define all basic page models etc. That's the perfect place for putting this hook:
firstname.lastname@example.org('construct_page_action_menu') 2def make_publish_default_action(menu_items, request, context): 3 for (index, item) in enumerate(menu_items): 4 if item.name == 'action-publish': 5 menu_items.pop(index) 6 menu_items.insert(0, item) 7 break
The hook you should be using is called
construct_page_action_menu and is called every time the admin UI needs to build the page action menu. All you need to do in there is to move the publish action to the first place.
What I did notice when playing around with hooks is that sometimes, you might need to restart the server to get it to work.
If this post was enjoyable or useful for you, please share it! If you have comments, questions, or feedback, you can email my personal email. To get new posts, subscribe use the RSS feed.