← Back to team overview

openerp-community team mailing list archive

[Bug 1199386] To:12/24/2014 3:04:12 PM 3




You received this bug notification because you are a member of OpenERP
Community, which is subscribed to the bug report.

  Portal Wizard uses wrong regular expression for emails

Status in Odoo Addons:
  Fix Released

Bug description:
  During testing with my email-address 'm@xxxxxxxxxxxxxx'  I noticed a
  couple of things:

  1. The partner contact with that email-address can't be given access
  to the portal by the portal wizard, it fails on creation of the user
  in addons/mail/res_user.py:68 :

          if not data.get('login', False):
              raise osv.except_osv(_('Invalid Action!'),...)))

  2. The login field is empty, because the portal wizard uses the email
  field to create a login in addons/portal/wizard/portal_wizard.py:177

              'login': extract_email(wizard_user.email),

  The extract_email function in portal_wizard.py uses 'email_re' to determine what the login field should look like.
  'email_re' is defined as in multiple places, which is the first problem. It at least in  tools/mail.py and tools/import_email.py. (The latter contains email information from the 'steel-sa.com ' (?!?) domain by the way.)

  email_re = re.compile(r"""
      ([a-zA-Z][\w\.-]*[a-zA-Z0-9]     # username part
      @                                                          # mandatory @ sign
      [a-zA-Z0-9][\w\.-]*                       # domain must start with a letter ... Ged> why do we include a 0-9 then?
       [a-z]{2,3}                      # TLD
      """, re.VERBOSE)

  Problems I see:

  1. The email_re is defined in multiple places; make it one;
  2. It forces to have email-addresses with at least 2 characters for the user part, of which the first must contain a letter; addresses like m@xxxxxxxxxx won't work then; is there a reason for this?
  3. the TLD must contain 2 or 3 characters, which is unsuitable for domains like .name or .info

To manage notifications about this bug go to: