source: WAeUP_SRP/base/skins/waeup_student/getNextInfo.py @ 2659

Last change on this file since 2659 was 2656, checked in by Henrik Bettermann, 17 years ago

Several modifications made to enable payment for all sessions, all payment modes and both portals I tested all combinations.

'N/A' replaced by in level, verdict and session widgets. A missing value is now always .

  • Property svn:keywords set to Id
File size: 1.8 KB
RevLine 
[2454]1## Script (Python) "getNextInfo"
[2451]2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=student_brain
8##title=
9##
10# $Id: getNextInfo.py 2656 2007-11-14 21:28:30Z henrik $
11"""
12return the students next info
13"""
[2464]14try:
15    from Products.zdb import set_trace
16except:
17    def set_trace():
18        pass
[2454]19
[2451]20info = {}
[2454]21
[2466]22reasons = ''
23
[2454]24session_id = student_brain.session
25level_id = student_brain.level
26review_state = student_brain.review_state
[2462]27verdict = student_brain.verdict
[2466]28
29has_verdict = verdict and verdict != 'N/A'
30has_session = session_id and session_id != 'N/A'
31has_level = level_id and level_id != 'N/A'
32
[2451]33info['next_transition'] = None
[2454]34info['next_session_id'] = next_session_id = session_id
35info['next_level_id'] = next_level_id = level_id
[2475]36info['next_verdict'] = verdict
[2461]37verdicts_voc = context.portal_vocabularies.verdicts
[2454]38if review_state == 'cleared_and_validated':
[2451]39    info['next_transition'] = "pay_school_fee"
[2475]40    info['next_verdict'] = ''
[2466]41elif review_state == 'returning' and has_verdict and has_level and has_session:
42    info['next_session_id'] = next_session_id = "%02d" % (int(session_id)+1)
[2652]43    if int(session_id) > 4:
[2475]44        info['next_verdict'] = ''
[2466]45        if verdict in ('A','B',):
46            info['next_level_id'] = "%s" % (int(level_id) + 100)
47        else:
[2459]48            info['next_level_id'] = level_id
[2656]49        if int(session_id) > int(context.getSessionId()[0]) -2:
50            info['next_transition'] = "pay_school_fee"
[2466]51    else:
52        info['next_level_id'] = "%s" % (int(level_id) + 100)
[2473]53elif review_state == 'returning' and not (has_session and has_level and has_verdict):
[2466]54    reasons = "Your data record is incomplete. School fee payment has been disabled, please contact your faculty!"
55
[2461]56info['reasons'] = reasons
[2652]57info['next_session_str'] = context.getSessionsVoc(next_session_id)
[2451]58
59return info
Note: See TracBrowser for help on using the repository browser.