Index: /WAeUP_SRP/trunk/skins/waeup_aaua/getPaymentsFolderInfo.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_aaua/getPaymentsFolderInfo.py	(revision 5174)
+++ /WAeUP_SRP/trunk/skins/waeup_aaua/getPaymentsFolderInfo.py	(revision 5175)
@@ -66,5 +66,5 @@
     else:
         info['payment_method'] = "first_instalment"
-elif review_state in ('school_fee_paid','courses_registered','courses_validated',):
+elif session in ('08','09',) and review_state in ('school_fee_paid','courses_registered','courses_validated',):
     second_instalment_records = aq_payments(Eq('student_id',student_id) & Eq('category','schoolfee2') & Eq('session_id',session) & Eq('status','paid'))
     if not second_instalment_records:
Index: /WAeUP_SRP/trunk/skins/waeup_aaua/getSchoolFee.py
===================================================================
--- /WAeUP_SRP/trunk/skins/waeup_aaua/getSchoolFee.py	(revision 5174)
+++ /WAeUP_SRP/trunk/skins/waeup_aaua/getSchoolFee.py	(revision 5175)
@@ -17,4 +17,5 @@
 
 MPA = ('MPAPT','MEMPT','MMPPT') 
+i2_states = ('school_fee_paid','courses_registered','courses_validated',)
 
 if brain.mode == 'ug_sw':    # ug_sw students payment does not depend on the current session
@@ -53,46 +54,42 @@
 elif brain.session in ('07','08','09',):    
     if brain.mode == 'dp_pt':  
-        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100',):
-            if instalment == '1':
-                d['all'] = 35000
-            elif instalment == '2':
-                d['all'] = 20000
-        elif brain.review_state == 'returning':
-            if instalment == '1':
-                d['all'] = 25000
-            elif instalment == '2':
-                d['all'] = 10000
+        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100',) and instalment == '1':
+            d['all'] = 35000
+        elif brain.review_state in i2_states and str(brain.level) in ('100',) and instalment == '2':
+            d['all'] = 20000
+        elif brain.review_state == 'returning' and instalment == '1':
+            d['all'] = 25000
+        elif brain.review_state in i2_states and instalment == '2':
+            d['all'] = 10000
     if brain.mode == 'ug_pt':  
-        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100','200'):
-            if instalment == '1':
-                d['all'] = 40000
-            elif instalment == '2':
-                d['all'] = 30000
-        elif brain.review_state == 'returning':
-            if instalment == '1':
-                d['all'] = 25000
-            elif instalment == '2':
-                d['all'] = 20000
+        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('100','200') and instalment == '1':
+            d['all'] = 45000
+        elif brain.review_state in i2_states and instalment == '2':   # 2nd instalment applies to both 200 de fresh and 200 returning
+            d['all'] = 25000
+        elif brain.review_state == 'returning' and instalment == '1':
+            d['all'] = 20000
     if brain.mode == 'pg_pt':  
-        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('600',):
-            if instalment == '1':
-                d['all'] = 65000
-            elif instalment == '2':
-                d['all'] = 50000
-        elif brain.review_state == 'returning':
-            if instalment == '1':
-                d['all'] = 35000
-            elif instalment == '2':
-                d['all'] = 30000
-        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and brain.course in MPA:                           
-            if instalment == '1':
-                d['all'] = 85000
-            elif instalment == '2':
-                d['all'] = 80000
-        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) :                           
-            if instalment == '1':
-                d['all'] = 95000
-            elif instalment == '2':
-                d['all'] = 85000
+        # 600 level students (no returning studentsor repeaters)
+        if brain.review_state == 'cleared_and_validated' and str(brain.level) in ('600',) and instalment == '1':
+            d['all'] = 65000
+        elif brain.review_state in i2_states and str(brain.level) in ('600',) and instalment == '2':
+            d['all'] = 50000
+        # 700 level students, two different certificate groups, 700 level repeaters and 700 level returning students exist
+        # MPA students
+        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1' and brain.course in MPA:                           
+            d['all'] = 85000
+        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2' and brain.course in MPA:   
+            d['all'] = 80000
+        # non-MPA students
+        elif brain.review_state == 'cleared_and_validated' and str(brain.level) in ('700',) and instalment == '1':                           
+            d['all'] = 100000
+        elif brain.review_state in i2_states and str(brain.level) in ('700',) and instalment == '2':
+            d['all'] = 80000            
+        # 700 level returning students       
+        elif brain.review_state == 'returning' and instalment == '1':
+            d['all'] = 35000
+        elif brain.review_state in i2_states and instalment == '2':
+            d['all'] = 30000
+
 
 next_info = context.getNextInfo(brain)
