source: WAeUP_SRP/base/skins/waeup_utilities/fix06Verdict.py @ 2477

Last change on this file since 2477 was 2475, checked in by Henrik Bettermann, 18 years ago

moves current_verdict to cprevious_verdict after session change
fix06Verdict: moves current_verdict to cprevious_verdict for all students in session 06

File size: 2.3 KB
Line 
1## Script (Python) "fix06Verdict"
2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=
8##title=
9##
10# $Id: fixReturningSession.py 2456 2007-10-28 07:09:46Z henrik $
11"""
12"""
13try:
14    from Products.zdb import set_trace
15except:
16    def set_trace():
17        pass
18import logging
19logger = logging.getLogger('Skins.fix06Verdict')
20from Products.AdvancedQuery import Eq, Between, Le,In
21aq_students = context.students_catalog.evalAdvancedQuery
22
23request = context.REQUEST
24session = request.SESSION
25response = request.RESPONSE
26setheader = request.RESPONSE.setHeader
27students = context.portal_url.getPortalObject().campus.students
28#from string import Template
29#def rwrite(s):
30#    response.setHeader('Content-type','text/html; charset=ISO-8859-15')
31#    response.write("%s<br>\n\r" % s)
32
33#logger.info('')
34
35query = ~ Eq('verdict','N/A') & In('session',('2006/2007','06','6'))
36brains = aq_students(query)
37total = len(brains)
38logger.info('started editing %d students with session 06 and non-empty verdict' % total)
39count = 0
40commit_after = 100
41
42for brain in brains:
43    count += 1
44    if count and not count % commit_after:
45        context.waeup_tool.doCommit()
46        logger.info("Committing %s transactions, total %s" % (commit_after,count))
47    try:
48        study_course_doc = getattr(getattr(students,brain.id),'study_course').getContent()
49        verdict = study_course_doc.current_verdict
50        study_course_doc.edit(mapping = { "current_verdict": '',
51                                          "previous_verdict": verdict})
52        #rwrite('found %s , %s ,%s, %s' % (brain.id,
53        #                                  study_course_doc.current_session,
54        #                                  brain.matric_no,
55        #                                  brain.name))
56        logger.info("Current verdict of %s (%s, %s, %s, %s) moved to previous verdict" % (brain.id,
57                                          brain.matric_no,
58                                          brain.name,
59                                          brain.review_state,
60                                          brain.verdict,
61                                          ))
62    except:
63        #rwrite('>>>> not found %s study_course' % (brain.id))
64        pass
65logger.info('finished editing %d students' % total)
66
67return
Note: See TracBrowser for help on using the repository browser.