Problem/Motivation

PathProcessorLanguage::initProcessors is not sorting the methods by their weights and so they are called by ::processInbound and ::processOutbound not in a order defined by their weights.

This causes a problem, where one outbound processor might depend on another one or one might want to alter the options array before it is passed to the next outbound processor.

This is what we are doing in our current approach in #1810394: Site configuration with domain based language negotiation results in redirecting authenticated users to a different domain when accessing a content entity route for translation language different from the interface language and thus this issue is a blocker.

Proposed resolution

Sort the methods by weight in PathProcessorLanguage::initProcessors.

Remaining tasks

none

User interface changes

none

API changes

none

Data model changes

none

CommentFileSizeAuthor
#3 2576945-3.patch2.83 KBhchonov
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

hchonov created an issue. See original summary.

hchonov’s picture

Status: Needs work » Needs review

A possible fix.

hchonov’s picture

Oups... forgot to upload the patch.

Status: Needs review » Needs work

The last submitted patch, 3: 2576945-3.patch, failed testing.

Status: Needs work » Needs review

hchonov queued 3: 2576945-3.patch for re-testing.

Gábor Hojtsy’s picture

Status: Needs review » Reviewed & tested by the community
Issue tags: -language +language-base, +sprint

Looks good, makes sense to me :)

webchick’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed to 8.0.x. Thanks!

  • webchick committed c1c27f3 on 8.0.x
    Issue #2576945 by hchonov: PathProcessorLanguage::initProcessors is not...
Gábor Hojtsy’s picture

Issue tags: -sprint

Yay, superb.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.