[Zope-Checkins] CVS: Zope3/lib/python/Zope/App/Security/tests - PermissionService.py:1.1.2.1

Jim Fulton jim@zope.com
Thu, 3 Jan 2002 14:13:43 -0500


Update of /cvs-repository/Zope3/lib/python/Zope/App/Security/tests
In directory cvs.zope.org:/tmp/cvs-serv14098

Added Files:
      Tag: Zope-3x-branch
	PermissionService.py 
Log Message:
Added view component for managing role-permission settings

=== Added File Zope3/lib/python/Zope/App/Security/tests/PermissionService.py ===
##############################################################################
#
# Copyright (c) 2001 Zope Corporation and Contributors. All Rights Reserved.
# 
# This software is subject to the provisions of the Zope Public License,
# Version 2.0 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE
# 
##############################################################################
"""PermissionService implementation for testing

Revision information: $Id: PermissionService.py,v 1.1.2.1 2002/01/03 19:13:42 jim Exp $
"""

from Zope.App.Security.IPermissionService import IPermissionService
from Zope.App.Security.IPermission import IPermission

class Permission:

    __implements__ = IPermission

    def __init__(self, id, title): self._id, self._title = id, title
    def getId(self): return self._id
    def getTitle(self): return self._title
    def getDescription(self): return ''

class PermissionService:

    __implements__ = IPermissionService

    def __init__(self, **kw):
        self._permissions = r = {}
        for id, title in kw.items(): r[id]=Permission(id, title) 

    # Implementation methods for interface
    # Zope.App.Security.IPermissionService.

    def getPermission(self, rid):
        '''See interface IPermissionService'''
        return self._permissions.get(rid)

    def getPermissions(self):
        '''See interface IPermissionService'''
        return self._permissions.values()