Changeset 2201

Show
Ignore:
Timestamp:
04/26/07 16:37:21 (2 years ago)
Author:
coderanger
Message:

PrivateTicketsPlugin:

Fix up the access controls for the query module, and fix its button. (closes #1471)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • privateticketsplugin/0.10/privatetickets/view.py

    r2116 r2201  
    2727         
    2828        # Various ways to allow access 
    29         if not req.perm.has_permission('TICKET_VIEW'): 
     29        if not req.perm.has_permission('TICKET_VIEW') and \ 
     30           (req.perm.has_permission('TICKET_VIEW_REPORTER') or \ 
     31           req.perm.has_permission('TICKET_VIEW_OWNER') or \ 
     32           req.perm.has_permission('TICKET_VIEW_CC') or \ 
     33           req.perm.has_permission('TICKET_VIEW_REPORTER_GROUP') or \ 
     34           req.perm.has_permission('TICKET_VIEW_OWNER_GROUP') or \ 
     35           req.perm.has_permission('TICKET_VIEW_CC_GROUP')): 
    3036            if TicketModule(self.env).match_request(req): 
    3137                if PrivateTicketsSystem(self.env).check_ticket_access(req, req.args['id']): 
     
    3743                req.args['DO_PRIVATETICKETS_FILTER'] = 'query' 
    3844                self._grant_view(req) # Further filtering in query.py 
    39                 # NOTE: Send this back here because the button would be hidden otherwise. <NPK t:1129> 
    40                 return [('mainnav', 'tickets', 
    41                          html.A('View Tickets', href=req.href.query()))] 
    4245            elif SearchModule(self.env).match_request(req): 
    4346                if 'ticket' in req.args.keys(): 
     
    4851                if req.args.get('id'): 
    4952                    req.args['DO_PRIVATETICKETS_FILTER'] = 'report' 
     53                     
     54            # NOTE: Send this back here because the button would be hidden otherwise. <NPK t:1129> 
     55            if not self.env.is_component_enabled(ReportModule) or not req.perm.has_permission('REPORT_VIEW'): 
     56                return [('mainnav', 'tickets', 
     57                        html.A('View Tickets', href=req.href.query()))] 
     58 
    5059        return [] 
    5160