diff --git a/wagtail/admin/views/pages.py b/wagtail/admin/views/pages.py index c30ca7fa3..8cf6edcf9 100644 --- a/wagtail/admin/views/pages.py +++ b/wagtail/admin/views/pages.py @@ -344,12 +344,21 @@ def edit(request, page_id): form_class = edit_handler.get_form_class() if page_perms.user_has_lock(): - messages.warning(request, format_html(_("Page '{}' was locked by you on {}."), page.get_admin_display_title(), page.locked_at.strftime("%d %b %Y %H:%M")), extra_tags='lock') - if page_perms.page_locked(): - locked_by_message = "" - if page.locked_by: - locked_by_message = format_html(" by {}", str(page.locked_by)) - messages.error(request, format_html(_("Page '{}' was locked{} on {}."), page.get_admin_display_title(), locked_by_message, page.locked_at.strftime("%d %b %Y %H:%M")), extra_tags='lock') + if page.locked_at: + lock_message = format_html(_("Page '{}' was locked by you on {}."), page.get_admin_display_title(), page.locked_at.strftime("%d %b %Y %H:%M")) + else: + lock_message = format_html(_("Page '{}' is locked by you."), page.get_admin_display_title()) + + messages.warning(request, lock_message, extra_tags='lock') + + elif page_perms.page_locked(): + if page.locked_by and page.locked_at: + lock_message = format_html(_("Page '{}' was locked by {} on {}."), page.get_admin_display_title(), str(page.locked_by), page.locked_at.strftime("%d %b %Y %H:%M")) + else: + # Page was probably locked with an old version of Wagtail, or a script + lock_message = format_html(_("Page '{}' is locked."), page.get_admin_display_title()) + + messages.error(request, lock_message, extra_tags='lock') next_url = get_valid_next_url_from_request(request)