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

Last change on this file since 12951 was 12847, checked in by Henrik Bettermann, 10 years ago

Update security documentation.

  • Property svn:keywords set to Id
File size: 3.4 KB
RevLine 
[7192]1## $Id: permissions.py 12847 2015-04-03 17:45:48Z henrik $
[6044]2##
[6478]3## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
[6044]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.
[7192]8##
[6044]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.
[7192]13##
[6044]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
[6198]25class HandleApplication(grok.Permission):
[12847]26    """The HandleApplication permission is reserved for applicants.
27    Applicants 'handle' their data. Officers 'manage' the data.
28    """
[6198]29    grok.name('waeup.handleApplication')
[6044]30
[6367]31class ViewApplication(grok.Permission):
[12847]32    """The ViewApplication permission allows to view application records.
33    """
[6367]34    grok.name('waeup.viewApplication')
35
[7240]36class ViewApplicationsTab(grok.Permission):
[7250]37    grok.name('waeup.viewApplicantsTab')
[7240]38
39class ViewMyApplicationDataTab(grok.Permission):
40    grok.name('waeup.viewMyApplicationDataTab')
41
[7136]42class ManageApplication(grok.Permission):
[12847]43    """The ManageApplication permission allows to edit the data. This
44    permission is reserved for officers and portal managers.
45    """
[7136]46    grok.name('waeup.manageApplication')
[6044]47
[8565]48class ViewApplicationStatistics(grok.Permission):
[12847]49    """The ViewApplicationStatistics permission allows to perform statistical
50    evaluations. Only portal managers have this permission.
51    """
[8565]52    grok.name('waeup.viewApplicationStatistics')
53
[7250]54class PayApplicant(grok.Permission):
[12847]55    """The PayApplicant permission allows to add an online payment ticket.
56    """
[7250]57    grok.name('waeup.payApplicant')
58
[6198]59# Local role
[12847]60
[6044]61class ApplicationOwner(grok.Role):
[12847]62    """An applicant 'owns' her/his application record and
63    gains permissions to handle the record, upload a passport picture or
64    add payment tickets.
65    """
[6044]66    grok.name('waeup.local.ApplicationOwner')
[6159]67    grok.title(u'Application Owner')
[12847]68    grok.permissions('waeup.handleApplication',
69                     'waeup.viewApplication',
[8367]70                     'waeup.payApplicant')
[6184]71
[12847]72# Site roles
[7166]73
74class ApplicantRole(grok.Role):
[12847]75    """This role is dedicated to applicants only. It defines the permissions
76    an applicant gains portal-wide.
77    """
[7166]78    grok.name('waeup.Applicant')
[8367]79    grok.permissions('waeup.viewAcademics', 'waeup.viewMyApplicationDataTab',
80                     'waeup.Authenticated')
[7166]81
[6184]82class ApplicationsOfficer(grok.Role):
[12847]83    """The Applications Officer is allowed to view all application records.
84    """
[6198]85    grok.name('waeup.ApplicationsOfficer')
[10226]86    grok.title(u'Applications Officer (view only)')
87    grok.permissions('waeup.viewApplication', 'waeup.viewApplicantsTab')
88
89class ApplicationsManager(grok.Role):
[12847]90    """The Applications Officer is allowed to edit all application records.
91    The role allows also to add payment tickets.
92    """
[10226]93    grok.name('waeup.ApplicationsManager')
94    grok.title(u'Applications Manager')
[8367]95    grok.permissions('waeup.manageApplication', 'waeup.viewApplication',
[7250]96                     'waeup.viewApplicantsTab', 'waeup.payApplicant')
Note: See TracBrowser for help on using the repository browser.