id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc,release 8458,PrivateTicketsPlugin is incompatible with TracAnnouncer plugin,Rob Guttman,Steffen Hoffmann,"This plugin appears to be incompatible with the TracAnnouncer plugin. I get this in the {{{trac.log}}} file: {{{ Traceback (most recent call last): File /usr/local/lib/python2.6/dist-packages/TracAnnouncer-0.12.1.dev-py2.6.egg/announcer/api.py, line 539, in _real_send sf.filter_subscriptions(evt, subscriptions) File /usr/local/lib/python2.6/dist-packages/TracAnnouncer-0.12.1.dev-py2.6.egg/announcer/filters.py, line 67, in filter_subscriptions if permsys.check_permission(action, sid): File /usr/local/lib/python2.6/dist-packages/Trac-0.12.1-py2.6.egg/trac/perm.py, line 454, in check_permission perm) File /usr/local/lib/python2.6/dist-packages/TracPrivateTickets-2.0.2-py2.6.egg/privatetickets/policy.py, line 34, in check_permission TRAC_ADMIN in perm: TypeError: argument of type NoneType is not iterable }}} The problem seems to stem from TracAnnouncer not sending a value for {{{perm}}} which the Trac permission system seems to allow and defaults its value to {{{None}}}. My local fix was to change line 34 in {{{privatetickets/policy.py}}} to: {{{ (perm and 'TRAC_ADMIN' in perm) }}} Once patched, the plugin appears to work well on Trac 0.12.",defect,closed,high,AnnouncerPlugin,blocker,fixed,permission None user cache,Steffen Hoffmann Robert Corsaro,0.12