Users who have upper case letters in their usernames cannot be assigned space level view permissions.
Steps to reproduce:
- Create a user with a upper case letter ('User')
- exclude this user from any groups
- give the user "can use" global permissions
- go to a particular space and try to give the user all permissions for this space. You can verify that permissions are not set by logging in as this user.
The same steps for a username without upper case produce the expected result.
NOTE: These steps to reproduce are no longer valid. On creation of the user, the user name is converted to lowercase. It can only then be referred to by lower case.
Update: I've been told that if you create user via XMLRPC you can reproduce the problem as described here.
The particular problem is mentioned in this support issue. (I tested it against the trunk)
In general when solving this issue we should probably review how we deal with usernames (currently when creating a new user we modify username to lowercase).
We should also investigate this issue in conjunction with LDAP as LDAP is case insensitive.
Ideally we should always reference user by id in all tables. This will eliminate a big chunk of potential problems and also will make username modifiable. But as it is quite complex we may fix this particular bug first.