source: WAeUP_SRP/base/skins/waeup_student/getStudentLevelsVoc.py @ 2664

Last change on this file since 2664 was 2655, checked in by Henrik Bettermann, 17 years ago

fix for 'Unauthorized: The container has no security assertions. Access to 'isdigit' of Missing.Value denied.'

  • Property svn:keywords set to Id
File size: 1.4 KB
RevLine 
[2632]1##parameters=key=None
2# $Id: getStudentLevelsVoc.py 2655 2007-11-14 20:42:48Z henrik $
3"""
4Return the levels as an vocabulary
5"""
[2641]6student_id = context.getStudentId()
[2650]7end_level = 700
[2641]8if student_id:
[2650]9    end_level = context.students_catalog(id = student_id)[0].end_level
[2655]10    if end_level and end_level.isdigit():
[2650]11        end_level = int(end_level)
[2655]12
[2632]13if key is None:
[2641]14    levels = [l for l in range(100,end_level+200,10)
15               if l % 100 < 30 and l < end_level + 110]
16    voc = []
17    for l in levels:
18        level_nr,repeat = divmod(l, 100)
19        if level_nr > end_level/100:
20            voc += ("%s" % l,"%s (spillover)" % context.portal_vocabularies.levels.get("%d00" % (level_nr - 1))),
21        elif repeat > 0:
[2649]22            voc += ("%s" % l,"%s (on %d. probation)" %
[2641]23                    (context.portal_vocabularies.levels.get("%d00" % (level_nr)),
24                                                            (repeat // 10))),
25        else:
[2649]26            voc += ("%s" % l,"%s" %
[2641]27                    (context.portal_vocabularies.levels.get("%d00" % (level_nr)))),
28    return voc
[2649]29
[2655]30if key and key.isdigit():
[2647]31    ikey = int(key)
[2650]32else:
[2647]33    return ''
[2632]34level_nr,repeat = divmod(ikey, 100)
35l = []
36
37level = context.portal_vocabularies.levels.get("%d00" % level_nr)
[2641]38if level_nr > end_level/100:
[2649]39    return "%s Spillover" % context.portal_vocabularies.levels.get("%d00" % (level_nr - 1))
[2632]40
41if repeat > 0:
[2649]42    level += " on %d. Probation" % (repeat // 10)
[2632]43
44return level
45
[2647]46
Note: See TracBrowser for help on using the repository browser.