~ubuntu-branches/ubuntu/raring/schooltool.intervention/raring

« back to all changes in this revision

Viewing changes to src/schooltool/intervention/generations/evolve1.py

  • Committer: Gediminas Paulauskas
  • Date: 2011-09-19 16:56:45 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: menesis@pov.lt-20110919165645-718diuud5tc4mjsx
Tags: 0.5.0-0ubuntu1
* New upstream release.
* debian/rules: move gradebook to Suggests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
27
27
from zope.app.generations.utility import getRootFolder
28
28
from zope.dublincore.annotatableadapter import DCkey
29
29
from zope.dublincore.interfaces import IZopeDublinCore
 
30
from zope.security.proxy import removeSecurityProxy
30
31
 
 
32
from schooltool.contact.interfaces import IContact
31
33
from schooltool.intervention.interfaces import IInterventionGoal
32
34
 
33
35
 
34
 
def fixDublinCore(obj):
 
36
def fixDublinCore(obj, persons):
35
37
    dublin = IZopeDublinCore(obj)
36
38
    if IInterventionGoal.providedBy(obj):
37
39
        creator = dublin.creators[0].split('.')[2]
38
 
        obj.creator = creator
 
40
        if creator in persons:
 
41
            obj.creator.add(IContact(persons[creator]))
39
42
    obj.created = dublin.created
40
43
    del IAnnotations(obj)[DCkey]
41
44
 
46
49
 
47
50
    app = getRootFolder(context)
48
51
    interventionRoot = app.get(u'schooltool.interventions', {})
 
52
    persons = app.get(u'persons', {})
49
53
    for schoolYear in interventionRoot.values():
50
54
        for student in schoolYear.values():
51
55
            for message in student['messages'].values():
52
 
                fixDublinCore(message)
 
56
                fixDublinCore(message, persons)
53
57
            for goal in student['goals'].values():
54
 
                fixDublinCore(goal)
 
58
                fixDublinCore(goal, persons)
55
59