## Script (Python) "ti_507_2_resolve"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=
##title=
##
# $Id: ti_507_2_resolve.py 3780 2008-11-21 09:26:51Z henrik $
"""
"""
try:
    from Products.zdb import set_trace
except:
    def set_trace():
        pass

mtool = context.portal_membership
member = mtool.getAuthenticatedMember()
if str(member) not in ('admin'):
    return

import logging
logger = logging.getLogger('Skins.ti_507_2_resolve')
sc = context.students_catalog
students = sc()
logger.info('start')
for student in students:
    if student.course:
        course = student.course
        certificate = context.certificates_catalog(code=course)
        if not certificate:
            logger.info("%s, certificate %s does not exist" % (student.id,course))
            continue
        if certificate[0].study_mode:
            correct_mode = certificate[0].study_mode
        else: 
            logger.info("%s, certificate %s has no study_mode" % (student.id,course))
            continue
        if not student.mode:
            logger.info("%s had no study_mode" % (student.id))
        if student.mode != correct_mode:
            old_mode = student.mode
            d = {}
            d['id'] = student.id
            d['mode'] = correct_mode
            sc.modifyRecord(**d)
            logger.info("%s, mode %s replaced by %s" % (student.id,old_mode,correct_mode))
logger.info('finished')
            
