Technical configuration, lifecycle and troubleshooting

Understand Delivery Note route options and safety fallbacks

Interpret the installed route options and helper validation without presenting a nonexistent settings screen. The guide then takes you through the correct route, the checks to complete before making changes, the workflow in order, and the evidence to review afterwards.

Audience: System administrators and developersPermission: Technical configuration accessModule v1.0.0
Jump to steps
Where to goNo staff-menu screen exists → Authorised deployment/configuration review

What you’ll accomplish

Interpret the installed route options and helper validation without presenting a nonexistent settings screen. This guide follows the supplied Delivery Note module’s live hooks, controller actions, model rules, views and stored side effects.

Follow these steps

  1. Check the default admin, public-view and public-sign option values.
  2. Use the helper-generated admin and public URLs in module code.
  3. Verify configured public route values do not use legacy/hyphen forms rejected by the helper or contain `admin/`.
  4. Test generated links after any approved change.
  5. Restore defaults when validation falls back unexpectedly.

Fields and options to review

  • delivery_note_admin_route
  • delivery_note_public_view_route
  • delivery_note_public_sign_route
  • delivery_note_route_mode

Rules the system enforces

  • The helper normalises slashes and rejects unsafe public route values.
  • Default public view/sign values are `delivery_note/public_view` and `delivery_note/public_sign`.
  • Routes.php contains compatibility aliases, but current generated links use the supported controller/query-token pattern.
  • There is no user-facing route settings form.

How to confirm it worked

  • All admin and recipient links resolve through approved module routes without creating an admin exposure.

Safety checks and troubleshooting

  • Do not change core routes or `.htaccess` to compensate for an invalid module option.
Stay within the supported flowDo not force database values, expose secure tokens, bypass permission checks, replace a stored signature or invent a status or interface that the supplied code does not implement.