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

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

resolve aaua #38

File size: 4.6 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',):   
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':
72            d['all'] = 20000
73    if brain.mode == 'pg_pt': 
74        # 600 level students (no returning studentsor repeaters)
75        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('600',) and instalment == '1':
76            d['all'] = 65000
77        elif brain.review_state in i2_states and str(brain.level) in ('600',) and instalment == '2':
78            d['all'] = 50000
79        # 700 level students, two different certificate groups, 700 level repeaters and 700 level returning students exist
80        # MPA students
81        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1' and brain.course in MPA:                           
82            d['all'] = 85000
83        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2' and brain.course in MPA:   
84            d['all'] = 80000
85        # non-MPA students
86        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1':                           
87            d['all'] = 100000
88        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2':
89            d['all'] = 80000           
90        # 700 level returning students       
91        elif brain.review_state == 'returning' and instalment == '1':
92            d['all'] = 35000
93        elif brain.review_state in i2_states and instalment == '2':
94            d['all'] = 30000
95
96
97next_info = context.getNextInfo(brain)
98next_session_str = next_info['next_session_str']
99d['next_session_id'] = next_info['next_session_id']
100d['description'] = "School Fee for Session %s" % next_session_str
101
102return d
Note: See TracBrowser for help on using the repository browser.