## Script (Python) "getSchoolFee"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=brain=None
##title=
##
# $Id: getSchoolFee.py 2534 2007-11-05 06:37:12Z henrik $
"""
return SchoolFee
"""
MBL= ('MBA','MPAD','LLMCPL','LLMPIL')

d = {}

d['all'] = 0

if brain.mode.endswith('_ft'):
    # fresh full-time Foundation
    if str(brain.level) == '000' and brain.review_state == 'cleared_and_validated' and brain.entry_mode == 'rm_ft':
        d['all'] = 65000
        
    # fresh tull-time students INE
    elif str(brain.level) == '100' and brain.review_state == 'cleared_and_validated' and brain.faculty == 'INE':
        d['all'] = 44000
    # returning full-time students INE
    elif str(brain.level) in ('100','200','300','400','110','210','310','410') and brain.review_state == 'returning' and brain.faculty == 'INE':
        d['all'] = 26300
       
    # postgrad full-time students (fresh)
    elif str(brain.level) == ('600') and brain.review_state == 'cleared_and_validated':
        if brain.lga == 'foreigner':
            d['all'] = 189500
        else:
            d['all'] = 62500
    # MBL students (fresh or returning)       
    elif str(brain.level) in ('700','800','710','810') and brain.course in MBL:
        if brain.lga == 'foreigner':
            d['all'] = 269500
        else:
            d['all'] = 89500
    # non-MBL students (fresh or returning)   
    elif str(brain.level) in ('700','800','710','810'):
        if brain.lga == 'foreigner':
            d['all'] = 219500
        else:
            d['all'] = 69500
    # PHD Students       
    elif str(brain.level) in ('900','910','1000','1010'):
        if brain.lga == 'foreigner':
            d['all'] = 269500
        else:
            d['all'] = 99500         

    elif brain.mode == 'dp_ft':
        # fresh Diploma students 
        if str(brain.level) == '100' and brain.review_state == 'cleared_and_validated':
        	d['all'] = 65000
        # returning Diploma students
        elif str(brain.level) in ('100','200','300','400','110','210','310','410') and brain.review_state == 'returning':
            d['all'] = 50000
        
elif brain.mode.endswith('_pt'):
    # fresh part-time students 
    if str(brain.level) in ('100','200') and brain.review_state == 'cleared_and_validated':
        d['all'] = 45000
    # returning part-time students 
    elif str(brain.level) in ('100','200','300','400','110','210','310','410') and brain.review_state == 'returning':
        d['all'] = 30000
    # postgrad part-time students
    elif str(brain.level) == '600' and brain.review_state == 'cleared_and_validated':
        if brain.lga == 'foreigner':
            d['all'] = 219500
        else:
            d['all'] = 64500


next_info = context.getNextInfo(brain)
next_session_str = next_info['next_session_str']
d['next_session_id'] = next_info['next_session_id']
d['description'] = "School Fee for Session %s" % next_session_str

return d
