﻿id,summary,reporter,owner,description,type,status,priority,component,severity,resolution,keywords,cc,release
4154,privateticketsplugin fails in /report/1 after update to Trac 0.11.2.1 from 0.11.1,roh <roh@…>,rjollos,"system is debian etch, trac via easy_install, run in lighttpd (fcgi) with accountmanager, tractags, simpletickets plugins.

debug output:
{{{
2008-11-25 02:52:22,238 Trac[__init__] ERROR: 'NoneType' object has no attribute 'split'
Traceback (most recent call last):
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/web/main.py"", line 432, in _dispatch_request
    dispatcher.dispatch(req)
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/web/main.py"", line 204, in dispatch
    resp = chosen_handler.process_request(req)
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/ticket/report.py"", line 105, in process_request
    template, data, content_type = self._render_view(req, db, id)
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/ticket/report.py"", line 436, in _render_view
    if resource.realm.upper()+'_VIEW' not in req.perm(resource):
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/perm.py"", line 523, in has_permission
    return self._has_permission(action, resource)
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/perm.py"", line 536, in _has_permission 
    decision = PermissionSystem(self.env). \
  File ""/usr/local/lib/python2.4/site-packages/Trac-0.11.2.1-py2.4.egg/trac/perm.py"", line 424, in check_permission
    perm)
  File ""build/bdist.linux-i686/egg/privatetickets/policy.py"", line 44, in check_permission
  File ""build/bdist.linux-i686/egg/privatetickets/policy.py"", line 71, in check_ticket_access
AttributeError: 'NoneType' object has no attribute 'split' 
}}}


i am not totally sure this is the correct fix, but it works for me as a hotfix

{{{
Index: privatetickets/policy.py
===================================================================
--- privatetickets/policy.py	(revision 4870)
+++ privatetickets/policy.py	(working copy)
@@ -68,8 +68,10 @@
         
         if perm.has_permission('TICKET_VIEW_CC'):
             had_any = True
-            if perm.username in [x.strip() for x in tkt['cc'].split(',')]:
-                return None
+#	    self.log.debug('Private: TICKET_VIEW_CC ""%s"", ""%s""', perm.username, tkt['cc'])
+	    if tkt['cc'] is not None:
+                if perm.username in [x.strip() for x in tkt['cc'].split(',')]:
+                    return None
         
         if perm.has_permission('TICKET_VIEW_OWNER'):
             had_any = True
}}}",defect,closed,normal,PrivateTicketsPlugin,normal,fixed,,,0.11
