This is my form and controller function. My problem is nothing happens 
(redirection) after the register button is clicked. 

def myregister():
      "select all roles greater than 1. root is always 1 "
      print "in myregister"
      
      form = auth.register(next='index')
      
      print form.vars
      return dict(form = form)   

the above is my custom "myregister()" function.

{{extend 'layout.html'}}
<h1>This is the default/myregister.html template</h1>

<form action="" enctype="multipart/form-data" method="post" 
class="form-horizontal">
        
username:
        {{=form.custom.widget.username}}
email:
        {{=form.custom.widget.email}}

password:
        {{=form.custom.widget.password}}
confirm password:
    {{=form.custom.widget.password_two}}
    
account_id:
 {{=form.custom.widget.account_id}}

role_id:
{{=form.custom.widget.role_id}}

{{=form.custom.submit}}
    

{{=form.custom.end}}
{{pass}}

above code is my custom register view "myregister.html"

i am using auth_user table after adding extra fields:

auth.settings.extra_fields['auth_user']= [
    Field('account_id', 'integer', notnull=True),  # (`account_id` int(11) 
NOT NULL,)
    Field('organisation_id', 'integer'),       # (`organisation_id` int(11) 
DEFAULT '0',)
    Field('role_id', 'integer', notnull=True, requires = IS_IN_SET([(2, 
'admin'), (3, 'merchant'), (4, 'guest')])),  # (`role_id` int(11) NOT NULL 
DEFAULT '0',)
    Field('username', 'string'),               # (`username` varchar(64) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('telephone', 'string'),              # (`telephone` varchar(16) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('mobile', 'string'),                 # (`mobile` varchar(16) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('gender', 'string'),                 # (`gender` char(1) COLLATE 
utf8_bin DEFAULT NULL,)
    Field('about', 'text'),                    # (`about` text COLLATE 
utf8_bin,)
    Field('addr_1', 'string'),                 # (`addr_1` varchar(128) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('addr_2', 'string'),                 # (`addr_2` varchar(128) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('addr_3', 'string'),                 # (`addr_3` varchar(128) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('city', 'string'),                   # (`city` varchar(64) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('region', 'string'),                 # (`region` varchar(32) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('country', 'string'),                # (`country` char(2) COLLATE 
utf8_bin DEFAULT NULL,)
    Field('post_code', 'string'),              # (`post_code` varchar(16) 
COLLATE utf8_bin DEFAULT NULL,)
    Field('is_email_public', 'integer'),       # (`is_email_public` 
smallint(6) DEFAULT NULL,)
    Field('is_acct_active', 'integer'),        # (`is_acct_active` 
smallint(6) DEFAULT NULL,)
    Field('security_question', 'integer'),     # (`security_question` 
smallint(6) DEFAULT NULL,)
    Field('security_answer', 'string'),        # (`security_answer` 
varchar(128) COLLATE utf8_bin DEFAULT NULL,)
    Field('date_created', 'datetime'),         # (`date_created` datetime 
DEFAULT NULL,)
    Field('created_by', 'integer'),            # (`created_by` int(11) 
DEFAULT NULL,)
    Field('last_updated', 'datetime'),         # (`last_updated` datetime 
DEFAULT NULL,)
    Field('updated_by', 'integer')
   
    ]
    
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
auth.settings.login_after_registration = True
auth.settings.create_user_groups = False

def onaccept(form): # form accepted
    auth.add_membership(form.vars.role_id, form.vars.id)
    
auth.settings.register_onaccept.append(onaccept)


I dont know what is going wrong.
I have gone through similar questions in this forum but could solve this. 
any help would be appreciated

-- 



Reply via email to