Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions src/collective/onlogin/adapters.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,17 @@
from plone.api.portal import get as get_portal
from plone.registry.interfaces import IRegistry
from Products.CMFCore.Expression import Expression
from Products.CMFPlone.interfaces import IRedirectAfterLogin
from Products.CMFPlone.PloneBaseTool import getExprContext
from zope.component import getUtility
from zope.interface import implementer


try:
from Products.CMFPlone.interfaces import IRedirectAfterLogin
except ImportError:
from plone.login.interfaces import IRedirectAfterLogin


def OUTAHERE():
logger.info('audi5000')

Expand Down Expand Up @@ -54,7 +59,7 @@ def __call__(self, came_from=None, is_first_login=False):

logger.info('ignore_came_from {0}'.format(self.ignore_came_from))
logger.info('came_from ' + self.came_from)
if not self.ignore_came_from and self.came_from:
if not self.ignore_came_from and self.came_from != 'redirect_on':
OUTAHERE()
return self.came_from

Expand Down
43 changes: 24 additions & 19 deletions src/collective/onlogin/configure.zcml
Original file line number Diff line number Diff line change
Expand Up @@ -29,27 +29,34 @@
/>

<configure zcml:condition="not-have plone-52">
<subscriber
for="*
Products.PlonePAS.interfaces.events.IUserLoggedInEvent"
handler=".events.userLogin"
/>

<subscriber
for="*
Products.PlonePAS.interfaces.events.IUserInitialLoginInEvent"
handler=".events.userInitialLogin"
/>
</configure>

<configure zcml:condition="have plone-52">
<configure zcml:condition="installed plone.login">
<adapter
factory="collective.onlogin.adapters.RedirectAfterLoginAdapter"
for="OFS.interfaces.ITraversable
zope.publisher.interfaces.IRequest"
/>
</configure>
zope.publisher.interfaces.IRequest"
/>
</configure>
<configure zcml:condition="not-installed plone.login">
<subscriber
for="*
Products.PlonePAS.interfaces.events.IUserLoggedInEvent"
handler=".events.userLogin"
/>
<subscriber
for="*
Products.PlonePAS.interfaces.events.IUserInitialLoginInEvent"
handler=".events.userInitialLogin"
/>
</configure>
</configure>

<configure zcml:condition="have plone-52">
<adapter
factory="collective.onlogin.adapters.RedirectAfterLoginAdapter"
for="OFS.interfaces.ITraversable
zope.publisher.interfaces.IRequest"
/>
</configure>

<include package="plone.app.registry" />

Expand All @@ -63,7 +70,5 @@
layer=".interfaces.IOnloginLayer"
/>




</configure>
5 changes: 4 additions & 1 deletion src/collective/onlogin/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,10 @@ class IOnloginSettings(Interface):
title=_(u'Ignore came_from parameter on login'),
description=_(u'By default Plone redirects user to last visited page '
'after login. Here you can disable this behavior and '
'always redirect to above entered url.'),
'always redirect to above entered url. To selectively '
'enable the redirect, use came_from=redirect_on '
'in a link. For example, '
'http://localhost/Plone/login?came_from=redirect_on'),
required=False,
default=False)

Expand Down