source: main/waeup.kofa/trunk/src/waeup/kofa/applicants/permissions.py @ 12843

Last change on this file since 12843 was 10226, checked in by Henrik Bettermann, 12 years ago

Add local and global ApplicationsManager? role. Assign role dynamically.

  • Property svn:keywords set to Id
File size: 2.3 KB
Line 
1## $Id: permissions.py 10226 2013-05-24 17:54:10Z henrik $
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"""
19Local permissions for applicants/applications.
20"""
21import grok
22
23# Application permissions
24
25class HandleApplication(grok.Permission):
26    grok.name('waeup.handleApplication')
27
28class ViewApplication(grok.Permission):
29    grok.name('waeup.viewApplication')
30
31class ViewApplicationsTab(grok.Permission):
32    grok.name('waeup.viewApplicantsTab')
33
34class ViewMyApplicationDataTab(grok.Permission):
35    grok.name('waeup.viewMyApplicationDataTab')
36
37class ManageApplication(grok.Permission):
38    grok.name('waeup.manageApplication')
39
40class ViewApplicationStatistics(grok.Permission):
41    grok.name('waeup.viewApplicationStatistics')
42
43class PayApplicant(grok.Permission):
44    grok.name('waeup.payApplicant')
45
46# Local role
47class ApplicationOwner(grok.Role):
48    grok.name('waeup.local.ApplicationOwner')
49    grok.title(u'Application Owner')
50    grok.permissions('waeup.handleApplication', 'waeup.viewApplication',
51                     'waeup.payApplicant')
52
53# Site role
54
55class ApplicantRole(grok.Role):
56    grok.name('waeup.Applicant')
57    grok.permissions('waeup.viewAcademics', 'waeup.viewMyApplicationDataTab',
58                     'waeup.Authenticated')
59
60class ApplicationsOfficer(grok.Role):
61    grok.name('waeup.ApplicationsOfficer')
62    grok.title(u'Applications Officer (view only)')
63    grok.permissions('waeup.viewApplication', 'waeup.viewApplicantsTab')
64
65class ApplicationsManager(grok.Role):
66    grok.name('waeup.ApplicationsManager')
67    grok.title(u'Applications Manager')
68    grok.permissions('waeup.manageApplication', 'waeup.viewApplication',
69                     'waeup.viewApplicantsTab', 'waeup.payApplicant')
Note: See TracBrowser for help on using the repository browser.