When any of the child nodes have the workbench_moderation feature enabled it currently breaks the workflow of the entityconnect module since you're not redirected to the node/$nid/current-revision page upon submission of a child node. The desire workflow would be to have entityconnect redirect to this draft page to allow content administrator to set the moderation state for the child nodes and once the form is submitted have the destination be that of the parent node.

Comments

jygastaud’s picture

rooby’s picture

Category: Feature request » Bug report

Note that this was supposedly fixed in #1773582: Clash with Workbench Moderation and the solution there should have fixed it.

I have done some preliminary investigation and if I print module_implements('form_alter'); then entity connect is listed as the final module that runs but if I run print module_implements('form_node_form_alter'); then entityconnect is not last.

For me it was working until I added the workbench_email module, which modifies module implements alter for the workbench_moderation module also.

Are you using the workbench email module also?

rooby’s picture

Title: Support for workbench_moderation » Redirect breaks workbench_moderation and workbench_email
Related issues: +#1773582: Clash with Workbench Moderation
rooby’s picture

Title: Redirect breaks workbench_moderation and workbench_email » Return redirect breaks with other modules that alter hook order
Status: Active » Needs review
StatusFileSize
new1.29 KB

This is not specific to workbench but happens when any other module alters the hook order using hook_module_implements_alter() if that module normally runs later in the module_implements() order.

In those cases this module's hook_module_implements_alter() runs and makes this module last, then the other module's hook_module_implements_alter() runs and puts its hook after this one.

Two possible fixes are:

  • Make entityconnect_module_implements_alter() to also put its hook_module_implements_alter() last.
  • Change the weight of the module so that entityconnect_module_implements_alter() runs after the offending module.

Either solution is acceptable really.
It's still possible another module could put its weight higher but that should be a less likely scenario.

In the end it's up to the module maintainer.

This patch is for latest dev.
To test, apply the patch and then run update.php.

  • jygastaud committed 2bbbbd4 on 7.x-1.x authored by rooby
    Issue #2503243 by rooby: Return redirect breaks with other modules that...

  • jygastaud committed 9e88162 on 7.x-2.x authored by rooby
    Issue #2503243 by rooby: Return redirect breaks with other modules that...
rooby’s picture

Status: Needs review » Fixed

Awesome, thanks.

jygastaud’s picture

Thank you for digging into that issue and provide the patch.

Status: Fixed » Closed (fixed)

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