How does one change their user account password after they're automatically logged in?

When I went to edit my user account, it was asking for my current password before I could change it. Looking at the database it seems there isn't actually a password set, but leaving the current password field empty still didn't let me change it.

The only way I can see to do this is to log out then use the 'Forgot password' link to reset it, but that kind of defeats the purpose of this module then...
Am I missing something?

Comments

Simon Georges’s picture

No, you aren't missing anything. For my client, we added a "set password" form on the confirmation screen of the checkout. The main other way is indeed the "Forgot password" link.
It's a UX issue, and I'm willing to add something to the module if anyone has a good solution to propose.

BWPanda’s picture

After posting this, I saw the link on the project page to this question asking how best to let users choose their own password during checkout.
I think the best way would be to add password field(s) to the default Account pane, but not sure how easy/possible this would be...

In the meantime, I've created my own solution (outside this module) where users aren't logged in automatically but I display the one-time login link on the checkout completion page. A good compromise IMO :)

Simon Georges’s picture

Not bad, I hadn't thought of using the one-time the login link, that's actually a great idea!

BrianLP’s picture

So I've tried out different ways how to give the user the option to set his password. My preferred way would be to send an email with a link. But neither the user account one-time login nor the reset password link is suitable because the user is logged in and asked for the existing password.

A good solution indeed is to give him the option during checkout or with the confirmation message. How did you do that in #1?

Edit: I have also tried the solution with the one-time-login link. The downside is that the user will have to go through the "reset password" page which doesn't make a good impression.

Simon Georges’s picture

It's a totally wrong solution...
I'm using a block that I coded, where I check if the user has been created less than a minute ago. If it's the case, the blocks displays itself, allowing the user to change its password using a simple form. I find that totally bad, but... it works...

BrianLP’s picture

Status: Active » Closed (fixed)

Ok I got this solved with the "No Current Password" module. It allows to set a new password without requiring the old one. I use the built-in Set Password page.

So my current checkout process is:
- The checkout-confirm displays a message and button that the user can now download his stuff and optionally set a password if he wants to login again later.
- Next is the "Downlaods" page displaying his files and also shows the tab "Set password". (Tab Tamer module)

Not ideal but the easiest way for now. Remaining problem is that returing cutomers who didn't set a password can't access their downloads since they can't be logged in again without a password. (This would require to delete the account after download.)

The traditional three-option-display in the first checkout (Register, Login and Guest checkout) isn't possible at the moment and would require some serious coding. But that's a different topic, let's see how I'll get there...