Changeset 397


Ignore:
Timestamp:
07/14/10 15:56:26 (11 years ago)
Author:
bas
Message:

implement permission system for ticket. Added

  • None
  • trac permission model, see #202, #203
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/email2trac.py.in

    r395 r397  
    193193                        self.REPLY_ALL = 0
    194194
     195                if parameters.has_key('ticket_permission_system'):
     196                        self.TICKET_PERMISSION_SYSTEM = str(parameters['ticket_permission_system'])
     197                else:
     198                        self.TICKET_PERMISSION_SYSTEM = None
     199
    195200                if parameters.has_key('ticket_update'):
    196201                        self.TICKET_UPDATE = int(parameters['ticket_update'])
     
    658663########## TRAC ticket functions  ###########################################################
    659664
     665        def check_permission(self, action):
     666                """
     667                check if the reporter has the right permission for the action:
     668          - TICKET_CREATE
     669          - TICKET_MODIFY
     670
     671                There are three models:
     672                        - None      : no checking at all
     673                        - trac      : check the permission via trac permission model
     674                        - email2trac: ....
     675                """
     676                if self.VERBOSE:
     677                        print "VB: check_permission"
     678
     679                if self.TICKET_PERMISSION_SYSTEM in ['trac']:
     680                        perm = PermissionSystem(self.env)
     681                        if perm.check_permission(action, self.author):
     682                                return True
     683                        else:
     684                                return False
     685                else:
     686                                return True
     687
     688
    660689        def update_ticket_fields(self, ticket, user_dict, use_default=None):
    661690                """
     
    9821011
    9831012                self.set_ticket_fields(tkt)
     1013
     1014                # Check the permission of the reporter
     1015                #
     1016                if self.TICKET_PERMISSION_SYSTEM:
     1017                        if not self.check_permission('TICKET_CREATE'):
     1018                                print 'Reporter: %s has no permission to create tickets' %self.author
     1019                                return False
    9841020
    9851021                # Old style setting for component, will be removed
     
    21172153                        from trac import util
    21182154                        from trac.core import TracError
     2155                        from trac.perm import PermissionSystem
    21192156
    21202157                        #
     
    21322169                        from trac import util
    21332170                        from trac.core import TracError
     2171                        from trac.perm import PermissionSystem
    21342172
    21352173                        #
Note: See TracChangeset for help on using the changeset viewer.