equal
deleted
inserted
replaced
13 from z3c.template.interfaces import ILayoutTemplate |
13 from z3c.template.interfaces import ILayoutTemplate |
14 from zope.authentication.interfaces import IAuthentication |
14 from zope.authentication.interfaces import IAuthentication |
15 from zope.pagetemplate.interfaces import IPageTemplate |
15 from zope.pagetemplate.interfaces import IPageTemplate |
16 |
16 |
17 # import local interfaces |
17 # import local interfaces |
|
18 from zope.security.interfaces import IUnauthorized |
18 from ztfy.myams.interfaces import IInnerPage, IModalPage |
19 from ztfy.myams.interfaces import IInnerPage, IModalPage |
19 |
20 |
20 # import Zope3 packages |
21 # import Zope3 packages |
21 from z3c.template.template import getPageTemplate, getLayoutTemplate |
22 from z3c.template.template import getPageTemplate, getLayoutTemplate |
22 from zope.component import getMultiAdapter, getUtility |
23 from zope.component import getMultiAdapter, getUtility |
121 |
122 |
122 def __call__(self): |
123 def __call__(self): |
123 principal = self.request.principal |
124 principal = self.request.principal |
124 auth = getUtility(IAuthentication) |
125 auth = getUtility(IAuthentication) |
125 auth.unauthorized(principal.id, self.request) |
126 auth.unauthorized(principal.id, self.request) |
|
127 try: |
|
128 context = self.context.args[0] |
|
129 except: |
|
130 context = self.context |
126 self.request.response.setStatus(200) |
131 self.request.response.setStatus(200) |
127 parent = getParent(self.context, IPersistent) |
132 if ('/@@ajax/' in self.request.getURL()) or (self.request.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'): |
128 writer = getUtility(IJSONWriter) |
133 # Send JSON result when using AJAX |
129 return writer.write({'status': 'modal', |
134 parent = getParent(context, IPersistent) |
130 'location': 'login-dialog.html?came_from=%s' % absoluteURL(parent, self.request)}) |
135 writer = getUtility(IJSONWriter) |
|
136 return writer.write({'status': 'modal', |
|
137 'location': 'login-dialog.html?came_from=%s' % absoluteURL(parent, self.request)}) |
|
138 else: |
|
139 # else do a simple redirect... |
|
140 self.request.response.redirect('login.html?came_from=%s' % absoluteURL(context, self.request)) |