Historically, the extra field has been used in two different ways by different cobrands, both as a list (e.g. Open311 category fields) and a hash (e.g. the Zurich cobrand). This commit consolidates usage, adding an API to make use of the field easier and always returning a hash for the code to use. Fixes #1018.
Harrogate asked for NYCC managed issues to be linked to that council's website. We don't prevent the issue from being logged, but do show a warning banner. As this is at Harrogate's request, we only do this for the Harrogate cobrand, not the whole site, using a new cobrand hook `munge_category_list` Unfortunately, categories are currently passed to the template as plain text, e.g. not structured data. As a simple implementation, we append "( NYCC)" to the appropriate category names. JS could then strip the names back in future, if required (though we're not doing this.) Instead we add a jQuery hook to show the most appropriate link provided. See mysociety/FixMyStreet-Commercial#703
Rather than redirecting to the report if they're already logged in. Fixes #1003.