Edgewall Software

Ticket #3653: restrict_owner.diff

File restrict_owner.diff, 1005 bytes (added by wkornew, 6 years ago)

patch against trunk

  • webadmin/ticket.py

     
    1919from trac import ticket 
    2020from trac import util 
    2121from trac.core import * 
    22 from trac.perm import IPermissionRequestor 
     22from trac.perm import IPermissionRequestor, PermissionSystem 
    2323from webadmin.web_ui import IAdminPageProvider 
    2424 
    2525 
     
    9696 
    9797 
    9898        if self.config.getbool('ticket', 'restrict_owner'): 
    99             req.hdf['admin.owners'] = [username for username, name, email 
    100                                        in self.env.get_known_users()] 
     99            users = [] 
     100            perm = PermissionSystem(self.env) 
     101            for username, name, email in self.env.get_known_users(): 
     102                if perm.get_user_permissions(username).get('TICKET_MODIFY'): 
     103                    users.append(username) 
     104            req.hdf['admin.owners'] = users 
    101105 
    102106        return 'admin_component.cs', None 
    103107