I defined a custom auth.user table like

db.define_table(

    auth.settings.table_user_name,
    Field('username', length=20, default=''),
    Field('first_name', length=128, default=''),
    Field('last_name', length=128, default=''),
    Field('email', length=128, default='', unique=True), # required
    Field('password', 'password', length=512,            # required
          readable=False, label='Password'),
    Field('description','text',label='Comment'),
    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.username.requires =   IS_NOT_EMPTY(error_message=auth.
messages.is_empty)
custom_auth_table.first_name.requires =   IS_NOT_EMPTY(error_message=auth.
messages.is_empty)
custom_auth_table.last_name.requires =   IS_NOT_EMPTY(error_message=auth.
messages.is_empty)
#custom_auth_table.password.requires = [IS_STRONG(), CRYPT()]
custom_auth_table.email.requires = [
  IS_EMAIL(error_message=auth.messages.invalid_email),
  IS_NOT_IN_DB(db, custom_auth_table.email)]


auth.settings.table_user = custom_auth_table # tell auth to use 
custom_auth_table


Then I defined a view index.html just including a link with the class btn. 
When I'm accessing the destination page I'm getting "Not authorized". This 
was working before until I added a login rule for the destination 
controller: 

# coding: utf8
# try something like
#@auth.requires_login()
def index(): 
    return dict()
    
#@auth.requires_login()
def organisations():
    table = db.organisations
    query = (table.id>0)
    return dict(grid=SQLFORM.grid(query))

So I'm logged in with a user and this user has no access rights even when I 
commented the access roles. 


-- 



Reply via email to