source: main/waeup.sirp/trunk/src/waeup/sirp/applicants/vocabularies.py @ 7348

Last change on this file since 7348 was 7347, checked in by Henrik Bettermann, 13 years ago

Rollback of r7341 as discussed on the phone. But now we get other problems (see email). A regression test will follow.

  • Property svn:keywords set to Id
File size: 2.4 KB
Line 
1## $Id: vocabularies.py 7347 2011-12-14 22:34:02Z 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"""Vocabularies and sources for the application section.
19"""
20from zope.component import getUtility
21from zope.catalog.interfaces import ICatalog
22from waeup.sirp.interfaces import SimpleSIRPVocabulary
23from waeup.sirp.students.vocabularies import CertificateSource
24
25#: Types of applications we support.
26APPLICATION_TYPES = (
27    ('General Studies', 'app','APP'),
28    ('Pre-NCE Programme', 'prence','PRE'),
29    ('Post UME Screening Test', 'pume','PUME'),
30    ('Post UDE Screening', 'pude','PUDE'),
31    ('Part Time Degree in Education', 'sandwich','SAND'),
32    ('Part-Time Degree Programmes', 'pt','PTP'),
33    ('Diploma Programmes', 'dp','DPP'),
34    ('PCE Screening', 'pce','PCE'),
35    ('Certificate Programmes', 'ct','CTP'),
36    ('Common Entry Screening Test', 'cest','CEST'),
37    )
38
39#: A :class:`waeup.sirp.interfaces.SimpleSIRPVocabulary` of supported
40#: application or screening types.
41application_types_vocab = SimpleSIRPVocabulary(
42    *[(x[0],x[1]) for x in APPLICATION_TYPES])
43application_pins_vocab = SimpleSIRPVocabulary(
44    *[(u"%s (%s)" % (x[2],x[0]),x[2]) for x in APPLICATION_TYPES])
45
46
47class AppCatCertificateSource(CertificateSource):
48    """An application certificate source delivers all courses which belong to
49    a certain application_category.
50    """
51    def getValues(self, context):
52        appcat = context.__parent__.application_category
53        catalog = getUtility(ICatalog, name='certificates_catalog')
54        return sorted(list(
55                catalog.searchResults(
56                    code=('', 'z*'),
57                    application_category=(appcat,appcat))),
58                    key=lambda value: value.code)
Note: See TracBrowser for help on using the repository browser.