Will do. I could create a fix on my own by creating a new Auth class that inherits from auth and just override the 'reset_password' method, correct? That way I should still be able to update as long as nothing new happens in gluon.Auth.reset_password?
On Saturday, November 16, 2013 3:58:56 AM UTC-5, Massimo Di Pierro wrote: > > Please open a ticket. This needs to be implemented. > > On Friday, 15 November 2013 11:07:31 UTC-6, DeanK wrote: >> >> So I have a somewhat unique situation where multiple different users will >> be creating separate accounts with unique usernames, using the SAME email >> address. I figured I could make this happen by using custom auth tables >> like this: >> >> ## Manually set up Auth tables so you can have non-unique emails >> db.define_table( >> auth.settings.table_user_name, >> Field('username', length=32, default=''), >> Field('first_name', length=128, default=''), >> Field('last_initial', length=1, default=''), >> Field('email', length=128, default=''), # required >> Field('password', 'password', length=512, # required >> readable=False, label='Password'), >> Field('registration_key', length=512, # required >> writable=False, readable=False, default=''), >> Field('reset_password_key', length=512, # required >> writable=False, readable=False, default=''), >> Field('registration_id', length=512, # required >> writable=False, readable=False, default='')) >> >> ## do not forget validators >> custom_auth_table = db[auth.settings.table_user_name] # get the >> custom_auth_table >> custom_auth_table.first_name.requires = >> IS_NOT_EMPTY(error_message=auth.messages.is_empty) >> custom_auth_table.last_initial.requires = >> IS_NOT_EMPTY(error_message=auth.messages.is_empty) >> custom_auth_table.password.requires = [CRYPT()] >> custom_auth_table.email.requires = >> [IS_EMAIL(error_message=auth.messages.invalid_email)] >> custom_auth_table.username.requires = IS_NOT_IN_DB(db, >> custom_auth_table.username) >> >> auth.settings.table_user = custom_auth_table # tell auth to use >> custom_auth_table >> >> # Define auth tables >> auth.define_tables(username=True, signature=False) >> >> >> There are two issues with this approach. >> >> First, "forgot password" asks for an email still and resets the first >> account in the table with that user name. Is there a way to reset based on >> username built in to web2py? I couldn't seem to find anything in the >> documentation so i'm thinking no unfortunately... >> >> Second, and less vital, is the "forgot username" functionality emails the >> first username in the table linked to the entered email only. Ideally you >> would email the names and usernames of all accounts linked to the email >> address. >> >> >> Is there any way I could enable the described desired functionality? >> Could I somehow extend the existing login functionality without breaking >> the ability to update my web2py instance (basically changes that don't >> touch core web2py code)? >> >> Thanks, >> Dean >> >> >> >> -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.