source: main/waeup.kofa/trunk/src/waeup/kofa/applicants/utils.py @ 8533

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

Determine application fee and set payment attributes in ApplicantsUtility?.setPaymentDetails.

  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1## $Id: utils.py 8524 2012-05-26 05:42:39Z 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"""General helper functions and utilities for the application section.
19"""
20
21from time import time
22import grok
23from waeup.kofa.applicants.interfaces import IApplicantsUtils
24from waeup.kofa.interfaces import MessageFactory as _
25
26class ApplicantsUtils(grok.GlobalUtility):
27    """A collection of parameters and methods subject to customization.
28    """
29    grok.implements(IApplicantsUtils)
30
31    APP_TYPES_DICT = {
32      'app': ['General Studies', 'APP'],
33      }
34
35    SEPARATORS_DICT = {
36      'form.course1': _(u'Desired Study Courses'),
37      'form.screening_score': _(u'Process Data'),
38      }
39
40    def setPaymentDetails(self, container, payment):
41        """Set the payment data of an applicant.
42        """
43        timestamp = "%d" % int(time()*1000)
44        session = str(container.year)
45        try:
46            session_config = grok.getSite()['configuration'][session]
47        except KeyError:
48            return _(u'Session configuration object is not available.')
49        payment.p_id = "p%s" % timestamp
50        payment.p_item = container.title
51        payment.p_session = container.year
52        payment.p_category = 'application'
53        payment.amount_auth = session_config.application_fee
54        return None
Note: See TracBrowser for help on using the repository browser.