source: main/waeup.kofa/branches/uli-zc-async/src/waeup/kofa/applicants/dynamicroles.py @ 10209

Last change on this file since 10209 was 9211, checked in by uli, 12 years ago

Rollback r9209. Looks like multiple merges from trunk confuse svn when merging back into trunk.

  • Property svn:keywords set to Id
File size: 1.7 KB
RevLine 
[7347]1## $Id: dynamicroles.py 9211 2012-09-21 08:19:35Z uli $
2##
3## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
4## This program is free software; you can redistribute it and/or modify
5## it under the terms of the GNU General Public License as published by
6## the Free Software Foundation; either version 2 of the License, or
7## (at your option) any later version.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12## GNU General Public License for more details.
13##
14## You should have received a copy of the GNU General Public License
15## along with this program; if not, write to the Free Software
16## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17##
18"""Security policy components for applicants.
19
20Applicants need special security policy treatment, as officers with
21local roles for departments and faculties might have additional
22permissions (local roles on depts/faculties) here.
23"""
24import grok
25from zope.securitypolicy.interfaces import IPrincipalRoleManager
[7811]26from waeup.kofa.applicants.interfaces import IApplicant
[9211]27from waeup.kofa.students.dynamicroles import StudentPrincipalRoleManager
[7347]28
29# All components in here have the same context: Applicant instances
30grok.context(IApplicant)
31
[9211]32class ApplicantPrincipalRoleManager(StudentPrincipalRoleManager):
33
[7347]34    grok.provides(IPrincipalRoleManager)
35
36    #: The attribute name to lookup for additional roles
37    extra_attrib = 'course1'
[9211]38    subcontainer = None
[7347]39
40    # Role name mapping:
41    # role name to look for in `extra_attrib` and parents
42    # to
43    # role to add in case this role was found
44    rolename_mapping = {
45        'waeup.local.ClearanceOfficer':'waeup.ApplicationsOfficer',
[7811]46        }
Note: See TracBrowser for help on using the repository browser.