Redirection vers url passée en paramètre « came_from » lors de l'inscription.
[Plinn.git] / Products / Plinn / skins / custom_generic / logged_in.py
1 ##parameters=
2 ##
3 from Products.CMFCore.utils import getUtilityByInterfaceName
4 from Products.CMFCore.utils import getToolByName
5 from Products.CMFDefault.utils import decode
6 from ZTUtils import make_query as mq
7 from Products.CMFDefault.utils import Message as _
8
9 mtool = getToolByName(script, 'portal_membership')
10 ptool = getUtilityByInterfaceName('Products.CMFCore.interfaces.IPropertiesTool')
11 stool = getToolByName(script, 'portal_skins')
12 utool = getToolByName(script, 'portal_url')
13 atool = getToolByName(script, 'portal_actions')
14 portal_url = utool()
15 portal = utool.getPortalObject()
16
17
18 if stool.updateSkinCookie():
19 context.setupCurrentSkin()
20
21
22 options = {}
23
24 isAnon = mtool.isAnonymousUser()
25 if isAnon:
26 context.REQUEST.RESPONSE.expireCookie('__ac', path='/')
27 options['is_anon'] = True
28 options['title'] = _(u'Login failure')
29 options['admin_email'] = ptool.getProperty('email_from_address')
30 else:
31 mtool.createMemberArea()
32 member = mtool.getAuthenticatedMember()
33 now = context.ZopeTime()
34 last_login = member.getProperty('login_time', None)
35 member.setProperties(last_login_time=last_login, login_time=now)
36 came_from = context.REQUEST.get('came_from', None)
37 if came_from:
38 return context.REQUEST.RESPONSE.redirect(came_from)
39 else :
40 url = '%s?%s' %(portal_url, mq(portal_status_message=_('Login success')))
41 return context.REQUEST.RESPONSE.redirect(url)