1282: Groups with ampersand in the name/id

eva***@gmai***** (Google Code) (Is this you? Claim this profile.)
chipx86
chipx86
Sept. 22, 2009
Nothing prevents a person from creating a groups with an ampersand (&) in
the id, but it causes problems when you do.  In particular, links to the
group fail to escape the ampersand, and the groups list page dumps stack.

What version are you running?
1.0

What's the URL of the page containing the problem?
/groups/

What steps will reproduce the problem?
1. create a group with & in the id
2. view the groups list, noting stack trace
3. other places have links to the group that fail to escape the ampersand

What is the expected output? What do you see instead?
groups list, stack trace

What operating system are you using? What browser?
Windows XP, Firefox 3.5

Please provide any additional information below.

Error dumped:

NoReverseMatch at /groups/

Reverse for 'group' with arguments '(u'AES_T&T',)' and keyword arguments
'{}' not found.

Request Method: GET
Request URL: https://...censored.../groups/
Exception Type: NoReverseMatch
Exception Value:

Reverse for 'group' with arguments '(u'AES_T&T',)' and keyword arguments
'{}' not found.

Exception Location:
/...censored.../lib/python2.5/site-packages/django/core/urlresolvers.py in
reverse, line 243
Python Executable: /...censored.../bin/python
Python Version: 2.5.1
Python Path: [...censored...]
Server time: Wed, 19 Aug 2009 17:49:56 -0700
chipx86
#1 chipx86
  • +Confirmed
  • -Priority-Medium
    +Priority-Low
    +Milestone-Release1.1
    +Component-Admin
chipx86
#2 chipx86
Do you need the ampersand? Or are you fine with us simply restricting this? I'd
prefer to restrict it.
  • -Confirmed
    +NeedInfo
#3 eva***@gmai***** (Google Code) (Is this you? Claim this profile.)
I think it makes sense for the ampersand to be allowed in the Display Name, but it
seems totally reasonable for the id to have stricter requirements (as long as those
are well specified).  Regardless, the id should probably be url encoded in links.
chipx86
#4 chipx86
This might be a Django thing, but & isn't allowed in the field we use for this
anymore. Whenever I try to add a &, I get:

"Enter a valid 'slug' consisting of letters, numbers, underscores or hyphens."

Reopen if you can still reproduce this with Review Board v1.0.3.
  • -NeedInfo
    +Fixed
  • +chipx86