source: main/waeup.sirp/trunk/src/waeup/sirp/applicants/container.py @ 6070

Last change on this file since 6070 was 6070, checked in by Henrik Bettermann, 14 years ago

More alignments with university package.

The ApplicantsContainerAddFormPage? is broken now. It doesn't like the custom widgets. Error, e.g.:

File "/sirp/buildout-eggs/zope.formlib-4.0-py2.5.egg/zope/formlib/form.py", line 288, in setUpWidgets

if ignore_request or readonly or not widget.hasInput():

AttributeError?: 'FormattedDateDisplayWidget?' object has no attribute 'hasInput'

File size: 2.8 KB
Line 
1##
2## container.py
3## Login : <uli@pu.smp.net>
4## Started on  Thu Jan 20 04:33:18 2011 Uli Fouquet
5## $Id$
6##
7## Copyright (C) 2011 Uli Fouquet
8## This program is free software; you can redistribute it and/or modify
9## it under the terms of the GNU General Public License as published by
10## the Free Software Foundation; either version 2 of the License, or
11## (at your option) any later version.
12##
13## This program is distributed in the hope that it will be useful,
14## but WITHOUT ANY WARRANTY; without even the implied warranty of
15## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16## GNU General Public License for more details.
17##
18## You should have received a copy of the GNU General Public License
19## along with this program; if not, write to the Free Software
20## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21##
22"""
23Containers for university applicants.
24"""
25import grok
26from waeup.sirp.applicants.interfaces import (
27    IApplicantsContainer, IApplicantsContainerAdd,
28    IApplicantsContainerProvider,
29    )
30from zope.schema.fieldproperty import FieldProperty   
31
32class ApplicantsContainer(grok.Container):
33    """An applicants container contains university applicants.
34    """
35    grok.implements(IApplicantsContainer,IApplicantsContainerAdd)
36    #grok.provides(IApplicantsContainer)
37
38    title = u'Simple applicants container'
39    description = u'Simple container for regular applicants'
40    startdate = None
41    enddate = None
42    strict_deadline = True
43    provider = None
44    code = None
45   
46    def archive(self, app_ids=None):
47        """Create on-dist archive of applicants stored in this term.
48
49        If app_ids is `None`, all applicants are archived.
50
51        If app_ids contains a single id string, only the respective
52        applicants are archived.
53
54        If app_ids contains a list of id strings all of the respective
55        applicants types are saved to disk.
56        """
57        raise NotImplemented()
58
59    def clear(self, app_ids=None, archive=True):
60        """Remove applicants of type given by 'id'.
61
62        Optionally archive the applicants.
63       
64        If id is `None`, all applicants are archived.
65
66        If id contains a single id string, only the respective
67        applicants are archived.
68
69        If id contains a list of id strings all of the respective
70        applicant types are saved to disk.
71
72        If `archive` is ``False`` none of the archive-handling is done
73        and respective applicants are simply removed from the
74        database.
75        """
76        raise NotImplemented()
77       
78class ApplicantsContainerProvider(grok.GlobalUtility):
79    """A utility that provides basic applicants containers.
80    """
81    grok.implements(IApplicantsContainerProvider)
82    grok.name('waeup.sirp.applicants.ApplicantsContainer')
83
84    factory = ApplicantsContainer
Note: See TracBrowser for help on using the repository browser.