Hi all, I got the solution.  I changed the def myregister() function into 
def register(). Its working  fine now. 
Previously it wasn't working, and the only thing I did new was just doing a 
clean from admin site menu. There is no point in clearing your browser 
history or restarting your shell. The clean helped me a lot. 

To howesc, you can use the normal <form> tag and close it using 
 {{form.custom.end}}. This is helpful when you have lot of customization in 
your form especially with css. And you get the hidden form fields generated 
automatically using the form.custom.end. 

On Friday, 4 January 2013 06:17:44 UTC+5:30, Anthony wrote:
>
> form.custom.end is what includes the hidden fields, and that has been 
> included in the code.
>
> Anthony
>
> On Thursday, January 3, 2013 6:59:20 PM UTC-5, howesc wrote:
>>
>> i don't see a {{=form.custom.begin}} in your view.  this is required to 
>> output the hidden fields that web2py uses to validate the form submission.
>>
>> On Wednesday, January 2, 2013 8:03:47 AM UTC-8, ajith c t wrote:
>>>
>>> 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