Opened 11 years ago

Last modified 3 years ago

#10765 closed defect

AttributeError: 'NoneType' object has no attribute 'strip' — at Initial Version

Reported by: Moritz Bunkus Owned by: Steffen Hoffmann
Priority: normal Component: AccountManagerPlugin
Severity: normal Keywords: email registration input
Cc: Ryan J Ollos Trac Release: 0.11

Description

I'm using Trac 1.0.1 with AccountManagerPlugin from today's SVN (0.11 branch, revision 12515). When a new user tries to register he sees the page asking for the user name, password and optional real name. When he fills out the form and posts it he receives the following error message:

AttributeError: 'NoneType' object has no attribute 'strip'

The traceback from the log:

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0.1dev_r11468-py2.7.egg/trac/web/main.py", line 497, in _dispatch_request
    dispatcher.dispatch(req)
  File "/usr/local/lib/python2.7/dist-packages/Trac-1.0.1dev_r11468-py2.7.egg/trac/web/main.py", line 214, in dispatch
    resp = chosen_handler.process_request(req)
  File "build/bdist.linux-i686/egg/acct_mgr/register.py", line 391, in process_request
    acctmgr.validate_registration(req)
  File "build/bdist.linux-i686/egg/acct_mgr/api.py", line 365, in validate_registration
    email = req.args.get('email').strip()

This is hardly surprising. The registration page offers no way of entering an email address.

There are several things to consider:

  1. I've got email verification turned on in my configuration (I'll post the config below).
  2. If email verification is turned on then it is imperative that the user must enter his email address during registration. However, the template simply does not offer a field for it -- nor would such a field be mandatory. The documentation doesn't mention how to handle this.
  3. This happens on two different installations. Both are not new ones; they started their life with Trac 0.12 and the then-current version of this plugin.
  4. Other plugins I'm running: on !one installation TracAutoCompletePlugin, on the other: NukeUserPlugin and TracTags.
  5. I'm using !PostgreSQL in both installations.

My configuration:

[account-manager]
db_htpasswd_hash_type = sha
force_passwd_change = true
hash_method = HtPasswdHashMethod
htpasswd_file = /opt/trac/kivitendo/htpasswd
htpasswd_hash_type = sha
notify_actions = 
password_store = SessionStore
persistent_sessions = False
refresh_passwd = true
register_check = BasicCheck, EmailCheck, UsernamePermCheck, RegExpCheck
user_lock_max_time = 0
verify_email = true

[components]
acct_mgr.admin.accountguardadminpage = enabled
acct_mgr.admin.accountmanageradminpage = enabled
acct_mgr.api.accountmanager = enabled
acct_mgr.db.sessionstore = enabled
acct_mgr.guard.accountguard = enabled
acct_mgr.htfile.abstractpasswordfilestore = disabled
acct_mgr.htfile.htdigeststore = disabled
acct_mgr.htfile.htpasswdstore = enabled
acct_mgr.http.httpauthstore = disabled
acct_mgr.notification.accountchangelistener = enabled
acct_mgr.notification.accountchangenotificationadminpanel = enabled
acct_mgr.pwhash.htdigesthashmethod = disabled
acct_mgr.pwhash.htpasswdhashmethod = enabled
acct_mgr.register.emailverificationmodule = enabled
acct_mgr.register.registrationmodule = enabled
acct_mgr.web_ui.loginmodule = enabled

Change History (0)

Note: See TracTickets for help on using tickets.