source: WAeUP_SRP/trunk/skins/waeup_aaua/getSchoolFee.py @ 6486

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

The MPA elif statements must come first.

File size: 5.0 KB
Line 
1## Script (Python) "getSchoolFee"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=brain=None,instalment='0'
8##title=
9##
10# $Id: getSchoolFee.py 2534 2007-11-05 06:37:12Z henrik $
11"""
12return SchoolFee
13"""
14 
15d = {}
16d['all'] = 0
17
18MPA = ('MPAPT','MEMPT','MMPPT')
19i2_states = ('school_fee_paid','courses_registered','courses_validated',)
20
21if brain.mode == 'ug_sw':    # ug_sw students payment does not depend on the current session
22    if str(brain.level) in ('100','200',) and brain.review_state == 'cleared_and_validated':
23        d['all'] = 45000
24    elif str(brain.level) in ('100',):   #200 returning students
25        d['all'] = 35000
26    else:
27        d['all'] = 35000
28elif brain.mode == 'pg_sw':
29     if str(brain.level) == '600' and brain.review_state == 'cleared_and_validated':    # only 600 fresh
30         d['all'] = 65000
31     else:   
32        d['all'] = 80000
33elif brain.session in ('06','07',) and brain.review_state == 'cleared_and_validated':
34    if brain.mode == 'dp_pt' and str(brain.level) in ('100',): 
35        d['all'] = 40000
36    elif brain.mode == 'ug_pt' and str(brain.level) in ('100','200',): 
37        d['all'] = 50000
38    elif brain.mode == 'pg_pt': 
39        if str(brain.level) == '600':    # only 600 fresh
40            d['all'] = 60000
41        if str(brain.level) == '700':    # only 700 fresh
42            d['all'] = 75000
43elif brain.session in ('06',) and brain.review_state == 'returning':
44    if brain.mode == 'dp_pt': 
45        d['all'] = 35000
46    elif brain.mode == 'ug_pt': 
47        d['all'] = 45000
48    elif brain.mode == 'pg_pt': 
49        if str(brain.level) == '600' and brain.verdict == 'C':      # 600 repeaters
50            d['all'] = 55000
51        elif str(brain.level) == '600':                             # going to register for 700
52            d['all'] = 75000       
53        else:
54            d['all'] = 65000
55       
56elif brain.session in ('07','08','09','10'):   
57    if brain.mode == 'dp_pt': 
58        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100',) and instalment == '1':
59            d['all'] = 35000
60        elif brain.review_state in i2_states and str(brain.level) in ('100',) and instalment == '2':
61            d['all'] = 20000
62        elif brain.review_state == 'returning' and instalment == '1':
63            d['all'] = 25000
64        elif brain.review_state in i2_states and instalment == '2':
65            d['all'] = 10000
66    if brain.mode == 'ug_pt': 
67        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100','200') and instalment == '1':
68            d['all'] = 45000
69        elif brain.review_state in i2_states and instalment == '2':   # 2nd instalment applies to both 200 de fresh and 200 returning
70            d['all'] = 25000
71        elif brain.review_state == 'returning' and instalment == '1' and brain.entry_session in ('05','06','07',):
72            d['all'] = 20000
73        elif brain.review_state == 'returning' and instalment == '1':
74            d['all'] = 40000
75    if brain.mode == 'pg_pt': 
76        # 600 level students (no returning studentsor repeaters)
77        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('600',) and instalment == '1':
78            d['all'] = 65000
79        elif brain.review_state in i2_states and str(brain.level) in ('600',) and instalment == '2':
80            d['all'] = 50000
81        # 700 level students, two different certificate groups, 700 level repeaters and 700 level returning students exist
82        # MPA students
83        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1' and brain.course in MPA:                           
84            d['all'] = 85000
85        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2' and brain.course in MPA:   
86            d['all'] = 80000
87        # non-MPA students
88        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1':                           
89            d['all'] = 100000
90        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2':
91            d['all'] = 80000           
92        # 700 level returning students MPA
93        elif brain.review_state == 'returning' and instalment == '1' and brain.course in MPA:
94            d['all'] = 80000
95        elif brain.review_state in i2_states and instalment == '2' and brain.course in MPA:
96            d['all'] = 75000
97        # 700 level returning students non-MPA     
98        elif brain.review_state == 'returning' and instalment == '1':
99            d['all'] = 95000
100        elif brain.review_state in i2_states and instalment == '2':
101            d['all'] = 75000
102
103next_info = context.getNextInfo(brain)
104next_session_str = next_info['next_session_str']
105d['next_session_id'] = next_info['next_session_id']
106d['description'] = "School Fee for Session %s" % next_session_str
107
108return d
Note: See TracBrowser for help on using the repository browser.