Changeset 10012 for main/waeup.fceokene


Ignore:
Timestamp:
5 Mar 2013, 21:39:26 (12 years ago)
Author:
Henrik Bettermann
Message:

Restrict school fee payment to cleared and returning students.

Add school fee for ug_ft.

Location:
main/waeup.fceokene/trunk/src/waeup/fceokene/students
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.fceokene/trunk/src/waeup/fceokene/students/tests/test_browser.py

    r10010 r10012  
    9696        self.browser.getControl(name="form.p_category").value = ['schoolfee']
    9797        self.browser.getControl("Create ticket").click()
    98         self.assertMatches('...Amount could not be determined...',
     98        self.assertMatches('...Wrong state...',
    9999                           self.browser.contents)
    100100        IWorkflowState(self.student).setState('cleared')
     
    184184        self.browser.getControl(name="form.p_category").value = ['schoolfee']
    185185        self.browser.getControl("Create ticket").click()
    186         self.assertMatches('...Amount could not be determined...',
     186        self.assertMatches('...Wrong state...',
    187187                           self.browser.contents)
    188188
     
    223223        error, payment = utils.setPaymentDetails('schoolfee',self.student)
    224224        self.assertEqual(payment, None)
    225         self.assertEqual(error, u'Amount could not be determined.')
     225        self.assertEqual(error, u'Wrong state.')
    226226
    227227        IWorkflowState(self.student).setState('cleared')
     228        self.certificate.study_mode = 'nce_ft'
    228229        error, payment = utils.setPaymentDetails('schoolfee',self.student)
    229230        self.assertEqual(payment.p_level, 100)
     
    244245        self.assertEqual(payment.amount_auth, 11545.0)
    245246        self.assertEqual(payment.p_item, u'CERT1')
     247        self.assertEqual(error, None)
     248
     249        # UG students pay 65150
     250        self.certificate.study_mode = 'ug_ft'
     251        error, payment = utils.setPaymentDetails('schoolfee',self.student)
     252        self.assertEqual(payment.amount_auth, 65150.0)
    246253        self.assertEqual(error, None)
    247254
  • main/waeup.fceokene/trunk/src/waeup/fceokene/students/utils.py

    r10010 r10012  
    122122                    'NFRE','NARB','NHAU','NIGB','NYOR','NSOS')
    123123
     124            if student.state not in (CLEARED, RETURNING):
     125                return _('Wrong state.'), None
     126
    124127            #PDE
    125128            if student.current_mode == 'pd_ft':
    126129                amount = 35000
    127             # NCE/UG
     130            # UG
     131            elif student.current_mode == 'ug_ft':
     132                amount = 65150
     133            # NCE
    128134            elif not student.current_mode.endswith('_sw'):
    129135                # PRENCE
     
    133139                    else:
    134140                        amount = 15400
    135                 # NCE/UG I fresh
     141                # NCE I fresh
    136142                elif student.current_level == 100 and student.state == CLEARED:
    137143                    if student.depcode in ARTS:
     
    139145                    else:
    140146                        amount = 12495
    141                 # NCE/UG II
     147                # NCE II
    142148                elif student.current_level in (100, 110, 120) and \
    143149                    student.state == RETURNING:
     
    146152                    else:
    147153                        amount = 11545
    148                 # NCE/UG III
     154                # NCE III
    149155                elif student.current_level in (200, 210, 220):
    150156                    if student.depcode in ARTS:
     
    152158                    else:
    153159                        amount = 11545
    154                 # NCE/UG III repeater
     160                # NCE III repeater
    155161                elif student.current_level in (300, 310, 320) and \
    156162                    student.current_verdict == 'O':
     
    159165                    else:
    160166                        amount = 6773
    161                 # NCE/UG III spillover
     167                # NCE III spillover
    162168                elif student.current_level in (300, 310, 320) and \
    163169                    student.current_verdict == 'B':
     
    166172                    else:
    167173                        amount = 9645
    168                 # NCE/UG III second spillover
     174                # NCE III second spillover
    169175                elif student.current_level in (400, 410, 420) and \
    170176                    student.current_verdict == 'B':
     
    179185                    else:
    180186                        amount = 22400
    181                 # NCE/UG II sw
     187                # NCE II sw
    182188                elif student.current_level in (100, 110, 120) and \
    183189                    student.state == RETURNING:
     
    186192                    else:
    187193                        amount = 18900
    188                 # NCE/UG III sw
     194                # NCE III sw
    189195                elif student.current_level in (200, 210, 220):
    190196                    if student.depcode in ARTS:
     
    192198                    else:
    193199                        amount = 20900
    194                 # NCE/UG IV sw
     200                # NCE IV sw
    195201                elif student.current_level in (300, 310, 320):
    196202                    if student.depcode in ARTS:
     
    198204                    else:
    199205                        amount = 18900
    200                 # NCE/UG V sw
     206                # NCE V sw
    201207                elif student.current_level in (400, 410, 420):
    202208                    if student.depcode in ARTS:
     
    204210                    else:
    205211                        amount = 18900
    206                 # NCE/UG V spillover sw
     212                # NCE V spillover sw
    207213                elif student.current_level in (500, 510, 520) and \
    208214                    student.current_verdict == 'B':
     
    211217                    else:
    212218                        amount = 17400
    213                 # NCE/UG V second spillover sw
     219                # NCE V second spillover sw
    214220                elif student.current_level in (600, 610, 620) and \
    215221                    student.current_verdict == 'B':
Note: See TracChangeset for help on using the changeset viewer.