You can create your own table but...

1) this

>         def __init__ (self, environment, T, db = db.users):

is wrong because you cannot pass a table where web2py expects a
database connection

2) your "users" table must have an "email" field, not "email_address"

3) the proper way to use your table is

class MyAuth:
    def __init__(....):
         ....
         self.settings.table_user=db.users

Massimo

Massimo


On Feb 21, 10:50 pm, Jason Brower <[email protected]> wrote:
> I realized after creating my users table that there is a better way to
> setup authentication found 
> here...http://mdp.cti.depaul.edu/examples/default/tools#authentication
> But I can't seem to figure out how to modify my current "users" table to
> work with the new class...
> ----
> from gluon.tools import Auth
> class MyAuth(Auth):
>     def __init__(self, environment, T, db = None):
>         "Initialise parent class & make any necessary modifications"
>         Auth.__init__(self,environment,db)
>         self.messages.logged_in = T("Logged in")
>         self.messages.email_sent = T("Email sent")
>         self.messages.email_verified = T("Email verified")
>         self.messages.logged_out = T("Logged out")
>         self.messages.registration_succesful = T("Registration successful")
>         self.messages.invalid_email = T("Invalid email")
>         self.messages.invalid_login = T("Invalid login")
>         self.messages.verify_email_subject = T("Password verify")
>         self.messages.username_sent = T("Your username was emailed to you")
>         self.messages.new_password_sent = T("A new password was emailed to 
> you")
>         self.messages.invalid_email = T("Invalid email")
>         self.messages.password_changed = T("Password changed")
>         self.messages.retrieve_username=str(T("Your username is"))+": 
> %(username)s"
>         self.messages.retrieve_username_subject="Username retrieve"
>         self.messages.retrieve_password=str(T("Your password is"))+": 
> %(password)s"
>         self.messages.retrieve_password_subject = T("Password retrieve")
>         self.messages.profile_updated = T("Profile updated")
>
> auth = MyAuth(globals(), T, db)
> ----
> do I just modify the line...
>         def __init__ (self, environment, T, db = db.users):
> and make sure I have at least the basic table required for auth?
>
> My current 'users' table is as follows:
> ---
> db.define_table('users',
>                     SQLField('nickname', length=25),
>                     SQLField('email_address', 'string'),
>                     SQLField('first_name', 'string'),
>                     SQLField('last_name', 'string'),
>                     SQLField('password', 'password'),
>                     SQLField('created', 'date', default=now),
>                     SQLField('deleted', 'string'),
>                     SQLField('verified', 'boolean', default= False),
>                     SQLField('position', 'string'),
>                     SQLField('profile_text', 'text'),
>                     SQLField('profile_photo', 'upload', default=''),
>                     SQLField('homepage', 'string'))
>
> #Setup the users table
> db.users.nickname.requires = [IS_NOT_IN_DB(db, 'users.nickname')]
> db.users.email_address.requires = [IS_EMAIL(), IS_NOT_IN_DB(db, 
> 'users.email_address')]
> db.users.first_name.requires = IS_NOT_EMPTY()
> db.users.last_name.requires = IS_NOT_EMPTY()
> db.users.password.requires = IS_NOT_EMPTY()
> db.users.position.requires = IS_NOT_EMPTY()
> db.users.nickname.requires = IS_NOT_EMPTY()
> ---
> Ideas?
> ---
> Regards,
> Jason Brower
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to