﻿id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc,release
8458,PrivateTicketsPlugin is incompatible with TracAnnouncer plugin,robguttman,hasienda,"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,new,high,AnnouncerPlugin,blocker,,permission None user cache,hasienda doki_pen,0.12
