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

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

Extend the payment session

File size: 5.3 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','11','12','13'):
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'] = 30000
64        elif brain.review_state in i2_states and instalment == '2':
65            d['all'] = 20000
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 and non-MPA with  entry session 05 or 06
93        elif brain.review_state == 'returning' and instalment == '1' and brain.entry_session in ('05','06','07',): # returning 700 to 800 level
94            d['all'] = 35000
95        elif brain.review_state in i2_states and instalment == '2' and brain.entry_session in ('05','06','07',):
96            d['all'] = 30000       
97        # 700 level returning students MPA
98        elif brain.review_state == 'returning' and instalment == '1' and brain.course in MPA:
99            d['all'] = 80000
100        elif brain.review_state in i2_states and instalment == '2' and brain.course in MPA:
101            d['all'] = 75000       
102        # 700 level returning students non-MPA
103        elif brain.review_state == 'returning' and instalment == '1':
104            d['all'] = 95000
105        elif brain.review_state in i2_states and instalment == '2':
106            d['all'] = 75000
107       
108
109next_info = context.getNextInfo(brain)
110next_session_str = next_info['next_session_str']
111d['next_session_id'] = next_info['next_session_id']
112d['description'] = "School Fee for Session %s" % next_session_str
113
114return d
115
Note: See TracBrowser for help on using the repository browser.