Comment 7 for bug 230801

Revision history for this message
Curtis Hovey (sinzui) wrote :

OOPS-1119ED453 happened when the user used the link in the email to renew his membership. The user reports that his membership was renewed, but reading the code, I can see that it is not possible. Looking at ~motu/+membership, I can see the user is indeed not expired.

Both the model object and the template check TeamMembership.canBeRenewedByMember() to determine the message to display to the user and whether to render the action button. The method checks that the expiration date is less than the limit.

So this oops could be recreated by using the action, then reloading the page while the action is inprogress, such as double-clicking on the submit button.

I propose that the action check canBeRenewedByMember() to abort early. The page will display the state of the membership to inform the user that the renewal did happen.