#7916 Error when handling user-profile URLs of users with invalid names.

sf-2 (994)

Some users have usernames that aren't valid as project shortnames (old historical usernames probably). For these users, the Auth Provider can provide an alternate user-project name for that user. When this happens, and you go to the URL using the invalid name like /u/foo_bar/ then you can get errors like this:

File '/allura/Allura/allura/controllers/project.py', line 111 in _lookup
  user=user, user_project=True)
File '/allura/Allura/allura/model/neighborhood.py', line 129 in register_project
  self, shortname, project_name, user or getattr(c, 'user', None), user_project, private_project, apps)
File '/allura/Allura/allura/lib/plugin.py', line 785 in register_project
  project_name, user, user_project, private_project)
File '/allura/Allura/allura/lib/plugin.py', line 828 in validate_project
  '%s already exists in nbhd %s' % (shortname, neighborhood._id))
ProjectConflict: u/foo-bar already exists in nbhd 559d5efa5421060005224016


  • Dave Brondsema

    Dave Brondsema - 2015-07-09


    To test with local provider:

    • add _ to a valid char in re_project_name in helpers.py
    • register a user with _ in username
    • change re_project_name back
    • log in
    • go to /u/user_name and see that it redirs to /u/user-name
      • (that ends up 404ing, see explanation in test code)

    Similar test can be done with SF's provider and the final result works.

  • Dave Brondsema

    Dave Brondsema - 2015-07-09
    • status: in-progress --> review
  • Igor Bondarenko

    Igor Bondarenko - 2015-07-10
    • Reviewer: Igor Bondarenko
  • Igor Bondarenko

    Igor Bondarenko - 2015-07-10
    • status: review --> closed
  • Igor Bondarenko

    Igor Bondarenko - 2015-07-10

    Tested with both providers and it works good! SF's provider even does not 404 :) Merged.

  • Dave Brondsema

    Dave Brondsema - 2015-07-13
    • labels: sf-current, sf-2 --> sf-2
  • Dave Brondsema

    Dave Brondsema - 2015-08-10
    • Milestone: unreleased --> v1.3.1

Log in to post a comment.