pinax/pinax — pull request #53 by applegrew (2012-03-23 06:17:46+00:00)
Title: Added many fixes to auth module.

* All the forms in auth module are now passed the `request` object. This is helpful for example when the Form wants to present the reCaptch field after the user fails validation for three times and it wants to store that attempt count in `request.session`.
* Now many of the view methods accept personalized extra parameters. e.g. `login` now accepts `login_form_class` (as well as `form_class`) to allow user (developer) to specify their custom `LoginForm`. So the usual format is `_`. This was needed since if user passes `form_class` while using the `include()` then that would set the new `form_class` as the form for many unintended methods like `timezone_change()`, `change_password()` etc.
* Fixed few view methods which did not expect to receive unexpected parameters, like `confirm_email()`. The view methods are expected to get unexpected params if the user passes extra params while using `include()`.
* Changed the forms to remove the passed `request` param since the original implementation does not use that and that is intended to be used by subclasses only.
* Modified `ChangePasswordForm` to not show the old password field if the current password is not set. If the user signs up via Openid then password is set to unusable (it is set to `!` character which hashes cannot generate). Making it impossible to change the password.