Hi,

I have been using STATUS VIEW POLICY for having a permission which could 
allow the user to view the tickets only based "ticket-status". For the 
same, I have been using the following plugin:

# -*- coding: utf-8 -*-
#
# Copyright (C) 2017 Edgewall Software
# All rights reserved.
#
# This software is licensed as described in the file COPYING, which
# you should have received as part of this distribution. The terms
# are also available at http://trac.edgewall.org/wiki/TracLicense.
#
# This software consists of voluntary contributions made by many
# individuals. For the exact contribution history, see the revision
# history and logs, available at http://trac.edgewall.org/log/.

from trac.core import *
from trac.perm import IPermissionPolicy, IPermissionRequestor
from trac.resource import ResourceNotFound
from trac.ticket.model import Ticket


class StatusDeskPolicy(Component):
    """Provides a permission for restricting ticket actions to the
    ticket owner.
    """

    implements(IPermissionPolicy, IPermissionRequestor)

    # IPermissionRequestor methods

    def get_permission_actions(self):
        return ['TICKET_VIEW_STATUS']

    # IPermissionPolicy methods

    def check_permission(self, action, username, resource, perm):
        if username != 'anonymous' and \
                action == 'TICKET_VIEW' and \
                'TICKET_ADMIN' not in perm:
            if 'TICKET_VIEW_STATUS' in perm:
                if resource is None or \
                        resource.realm == 'ticket' and \
                        resource.id is None:
                    return True
                elif resource.realm == 'ticket' and \
                        resource.id is not None:
                    try:
                        ticket = Ticket(self.env, resource.id)
                    except ResourceNotFound:
                        pass
                    else:
                         return ticket['status'] in ['new', 'test', 
'accepted_for_test'] or username in [ticket['reporter'], ticket['owner']]

Initially it was working great, by I dont know what happend recently, it is 
not functioning properly. As the user with the permission 
TICKET_VIEW_STATUS, could view all tickets, instead the user with the 
permission TICKET_VIEW_STATUS , should be able to see only tickets with 
status, new, test, accepted_for_test, reporter, owner.

Please help me if am missing something?

Regards,
SF 

-- 
You received this message because you are subscribed to the Google Groups "Trac 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to trac-users+unsubscr...@googlegroups.com.
To post to this group, send email to trac-users@googlegroups.com.
Visit this group at https://groups.google.com/group/trac-users.
For more options, visit https://groups.google.com/d/optout.

Reply via email to