This is a follow-up to https://github.com/backdrop/backdrop-issues/issues/5077, collecting some suggestions made in that issue about the confirmation page for the "Delete Layout" action (function layout_delete_form() and its processing). Suggestions from that issue:

  • If the layout creates a page AND it's the last layout with that path, on the confirm form, add "Warning: the page at path mypage will no longer exist" or such. (H/T @docwilmot.)
  • Provide another button in the confirmation form, that disables the layout instead of deleting it. (H/T @klonos.)
  • Add more explanation to the warning message, something like this: Deleting this layout will permanently delete the page at /%path. This action cannot be undone. If you are unsure, then consider disabling the layout instead of deleting it. (H/T @klonos.)
  • Consider making the "destructive" bit of the text a warning message. (H/T @klonos.)
  • Check whether the page being deleted was selected on admin/config/system/site-information as the home page or either error page and either warn user or prevent its deletion (which?).

I've updated the PR and its behavior, which is now:

  • Added a disable option to the "Delete layout?" confirmation page.
  • If deleting (or disabling) a layout would remove a page that is used on the site info page, a warning is issued on the "Delete layout?" confirmation page, and after confirming deletion or disabling, a warning message is put up directing the user to the site info page to make the appropriate change.
  • If the user disables a layout directly (using the dropbutton link, so there's no confirmation page), if that action removes a page that is used on the site info page, a warning message is put up directing the user to the site info page to make the appropriate change.
GitHub Issue #: 
5511