Modify ↓
#7754 closed defect (duplicate)
trac-admin dies when trying to assign already assigned permission
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | admin/console | Version: | 0.11.1 |
| Severity: | normal | Keywords: | |
| Cc: | Branch: | ||
| Release Notes: | |||
| API Changes: | |||
| Internal Changes: | |||
Description
Using trac-admin, trying to add a permission to a user that this user already has, trac-admin dies with a traceback.
Example:
server:/# trac-admin /var/trac/test
Welcome to trac-admin 0.11.1
Interactive Trac administration console.
Copyright (c) 2003-2008 Edgewall Software
Type: '?' or 'help' for help on commands.
Trac [/var/trac/test]> permission list _role_test
User Action
-------------------------------
_role_test BROWSER_VIEW
Available actions:
BROWSER_VIEW, ...
Trac [/var/trac/test]> permission add _role_test BROWSER_VIEW
Traceback (most recent call last):
File "/usr/bin/trac-admin", line 8, in <module>
load_entry_point('Trac==0.11.1', 'console_scripts', 'trac-admin')()
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/admin/console.py", line 1299, in run
admin.run()
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/admin/console.py", line 140, in run
self.cmdloop()
File "/usr/lib/python2.5/cmd.py", line 142, in cmdloop
stop = self.onecmd(line)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/admin/console.py", line 123, in onecmd
rv = cmd.Cmd.onecmd(self, line) or 0
File "/usr/lib/python2.5/cmd.py", line 219, in onecmd
return func(arg)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/admin/console.py", line 416, in do_permission
self._do_permission_add(user, action)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/admin/console.py", line 453, in _do_permission_add
self._permsys.grant_permission(user, action)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/perm.py", line 320, in grant_permission
self.store.grant_permission(username, action)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/perm.py", line 226, in grant_permission
(username, action))
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/db/util.py", line 50, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/db/sqlite_backend.py", line 58, in execute
args or [])
File "/usr/lib/python2.5/site-packages/Trac-0.11.1-py2.5.egg/trac/db/sqlite_backend.py", line 50, in _rollback_on_error
return function(self, *args, **kwargs)
pysqlite2.dbapi2.IntegrityError: columns username, action are not unique
server:/#
While I understand the nature of the problem, I feel that the situation is not properly handled. Instead of bailing out, trac-admin should handle the situation more gracefully.
Attachments (0)
Change History (3)
comment:1 by , 17 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
comment:3 by , 17 years ago
Doh! Sorry, I searched the tickets, but it seems that I messed up the search phrase.
Note:
See TracTickets
for help on using tickets.



Uh, lots of duplicates for this one, see #6841.