Source code for waeup.kofa.applicants.permissions

## $Id: permissions.py 15085 2018-07-11 04:28:32Z henrik $
##
## Copyright (C) 2011 Uli Fouquet & Henrik Bettermann
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
##
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##
"""
Local permissions for applicants/applications.
"""
import grok

# Application permissions

[docs]class HandleApplication(grok.Permission): """The HandleApplication permission is reserved for applicants. Applicants 'handle' their data. Officers 'manage' the data. """ grok.name('waeup.handleApplication')
[docs]class ViewApplication(grok.Permission): """The ViewApplication permission allows to view application records. """ grok.name('waeup.viewApplication')
[docs]class ViewApplicationsTab(grok.Permission): grok.name('waeup.viewApplicantsTab')
[docs]class ViewMyApplicationDataTab(grok.Permission): grok.name('waeup.viewMyApplicationDataTab')
[docs]class ManageApplication(grok.Permission): """The ManageApplication permission allows to edit the data. This permission is reserved for officers and portal managers. """ grok.name('waeup.manageApplication')
[docs]class ViewApplicationStatistics(grok.Permission): """The ViewApplicationStatistics permission allows to perform statistical evaluations. """ grok.name('waeup.viewApplicationStatistics')
[docs]class PayApplicant(grok.Permission): """The PayApplicant permission allows to add an online payment ticket. """ grok.name('waeup.payApplicant')
[docs]class CreateStudents(grok.Permission): """The CreateStudents permission allows to create a bunch student records from application records. """ grok.name('waeup.createStudents')
# Local role
[docs]class ApplicationOwner(grok.Role): """An applicant 'owns' her/his application record and gains permissions to handle the record, upload a passport picture or add payment tickets. """ grok.name('waeup.local.ApplicationOwner') grok.title(u'Application Owner') grok.permissions('waeup.handleApplication', 'waeup.viewApplication', 'waeup.payApplicant')
# Site roles
[docs]class ApplicantRole(grok.Role): """This role is dedicated to applicants only. It defines the permissions an applicant gains portal-wide. """ grok.name('waeup.Applicant') grok.title(u'Applicant (do not assign)') grok.permissions('waeup.viewAcademics', 'waeup.viewMyApplicationDataTab', 'waeup.Authenticated')
[docs]class ApplicationsOfficer(grok.Role): """The Applications Officer is allowed to view all application records. """ grok.name('waeup.ApplicationsOfficer') grok.title(u'Applications Officer (view only)') grok.permissions('waeup.viewApplication', 'waeup.viewApplicantsTab')
[docs]class ApplicationsManager(grok.Role): """The Applications Manager is allowed to edit all application records. The role also allows to add payment tickets and view statistics. """ grok.name('waeup.ApplicationsManager') grok.title(u'Applications Manager') grok.permissions('waeup.manageApplication', 'waeup.viewApplication', 'waeup.viewApplicantsTab', 'waeup.payApplicant', 'waeup.viewApplicationStatistics')
[docs]class StudentsCreator(grok.Role): """The Students Creator is allowed to create a bunch of student records from application records. """ grok.name('waeup.StudentsCreator') grok.title(u'Students Creator') grok.permissions('waeup.viewApplication', 'waeup.viewApplicantsTab', 'waeup.createStudents')