Script python pour lister tous les cours de l'utilisateur connecté dans la homepage
# Import a standard function, and get the HTML request and response objects.
from Products.PythonScripts.standard import html_quote
request = container.REQUEST
response = request.response
# on va chercher les éléments concernant l'utilisateur connecté
membership = context.portal_membership
user = membership.getMemberInfo()
fullname = user["fullname"]
#print request
#print user
print fullname
member = membership.getAuthenticatedMember()
if not member.hasProperty('memberOf'):
return [[],[],[]]
gr_info = member.getProperty("memberOf")
#return gr_info
classes = []
cours = []
disciplines = []
if not gr_info:
return [[],[],[]]
groupes = []
for gr in gr_info:
groupes = gr.split(',')
if groupes[2] == 'ou=COURS' and groupes[0] <> '1' and groupes[0] <> '2' and groupes[0] <> '3' and groupes[0] <> '4' and 'RG' not in groupes[0] and '_' not in groupes[0] and 'TM' not in groupes[0] and 'LBI' not in groupes[0] and 'LCH' not in groupes[0] and 'LPY' not in groupes[0]:
cours.append(groupes[0].split('=')[1])
elif groupes[1] == 'ou=CLASSES' and groupes[0].split('=')[1] not in classes:
classes.append(groupes[0].split('=')[1])
elif groupes[1] == 'ou=DISCIPLINES' and groupes[3] == 'ou=UO0830' and 'RG' not in groupes[0] and 'LABO' not in groupes[0] and 'ATELIER' not in groupes[0]:
disciplines.append(groupes[0].split('=')[1])
cours.sort()
classes.sort()
disciplines.sort()
return cours, classes, disciplines
#groups_tool = container.portal_groups
#groups = groups_tool.getGroupsByUserId(user['username'])
##print groups
#
##parmi tous les groupes, on sélectionne ceux dont le 1er caractère est un chiffre
##(on ne veut que les groupes qui correspondent à des cours) puis on les les mets dans une liste pour les trier
#
#cours = []
#for group in groups :
# if group.id[0] in '0123456789' and len(group.id)>1:
# cours.append(group.id)
#cours.sort()
#
#
#return cours