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 --