diff --git a/src/collective/onlogin/adapters.py b/src/collective/onlogin/adapters.py index a7a818e..2c54213 100644 --- a/src/collective/onlogin/adapters.py +++ b/src/collective/onlogin/adapters.py @@ -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') @@ -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 diff --git a/src/collective/onlogin/configure.zcml b/src/collective/onlogin/configure.zcml index 48c0966..5d45e7b 100644 --- a/src/collective/onlogin/configure.zcml +++ b/src/collective/onlogin/configure.zcml @@ -29,27 +29,34 @@ /> - - - - - - + - + zope.publisher.interfaces.IRequest" + /> + + + + + + + + + @@ -63,7 +70,5 @@ layer=".interfaces.IOnloginLayer" /> - - diff --git a/src/collective/onlogin/interfaces.py b/src/collective/onlogin/interfaces.py index 9a77310..fad22f7 100644 --- a/src/collective/onlogin/interfaces.py +++ b/src/collective/onlogin/interfaces.py @@ -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)