def __call__(self, context): terms = [] for school in schools.keys(): terms.append(SimpleVocabulary.createTerm(unicodedata.normalize('NFKC',school).encode('ascii','ignore'), unicodedata.normalize('NFKC',schools[school][0]).encode('ascii','ignore'), unicodedata.normalize('NFKC',schools[school][0]).encode('ascii','ignore'))) return SimpleVocabulary(terms)
def setDublin(cycle, event): print dir(event) print cycle.title #portal = getUtility(ISiteRoot) #acl_users = getToolByName(portal, 'acl_users') acl_users = getToolByName(cycle, 'acl_users') #cycle.setContributors(cycle.contributors) #cycle.setId = str(datetime.datetime.today().year) #cycle.contributors += cycle.initalcontributors print "cycle.contributor : ", cycle.contributor cycle.setContributors(cycle.contributor) # attribution creation - one per contributor for author in cycle.contributor: id = 'attribution_%s'%author try: attribution = cycle[id] except: user = acl_users.getUserById(author) if user: fullname = user.getProperty(u'fullname') or auteur school = user.getProperty(u'title') or u'N/A' print school if school in schools.keys(): sector = schools[school][1] else: sector = u'non disponible' cycle.invokeFactory("ageliaco.rd.attribution", id=id, title='Attribution %s'%fullname, contributor=author, school=school, sector=sector, hour = 0.0, hourRD = 0.0, hourFinal = 0.0 ) attribution = cycle[id] attribution.indexObject() #Attribution(attribution).set(author,school) else: print "User %s not found! Attribution not created "%author return cycle.contributors