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