I am using the user_edit template in Page Manager to redirect (301 Redirect) users from:
/user/%uid/edit
to
/member/%user:name/edit

/member/%user:name/edit is a panel that displays the Contextual Forms: User Profile Form.

When a user resets their password, the user is led to this page:
/user/%uid/edit?pass-reset-token=[pass-reset-token-hash]

Problem is that the user gets redirected to:
/member/%user:name/edit
On this page, the member cannot change their password because the Contextual Forms: User Profile Form requires the member to enter their current password before changing their password... D'OH!

So the solution is to carry everything after the edit over to the redirect. The goal is to achieve this url after the redirect:
/member/%user:name/edit?pass-reset-token=[pass-reset-token-hash]

The solution seems to not be easily achievable (or maybe I'm just being completely blind).

Comments

merlinofchaos’s picture

Oh boy, that's really tricky. You really want to preserve the get arguments and the redirect does not support that.

Are you sure a redirect is really what you want? Why are you redirecting? What about use aliasing and perhaps the subpath_alias module so that you don't need the redirect?

johnnydarkko’s picture

The reason why I'm redirecting is because it seemed like a viable solution since the client wants that specific path structure instead of the Drupal's standard user path structure. Is there a way to have the redirect not apply to any path containing get arguments?

I've never tired aliasing and/or the subpath_alias module, but I'll definitely look into it. Thanks for the heads up merlinofchaos!

Ashlar’s picture

Status: Active » Closed (fixed)
MarleneSSI’s picture

Issue summary: View changes

Is it possible to know the solution ? I have the same probleme