diff documentViewer.py @ 528:f8a5f63eafc0

new viewMode=thumbs.
author casties
date Fri, 13 Apr 2012 16:55:16 +0200
parents 3f375a048402
children 5c7433c2515c
line wrap: on
line diff
--- a/documentViewer.py	Thu Apr 12 14:27:37 2012 +0200
+++ b/documentViewer.py	Fri Apr 13 16:55:16 2012 +0200
@@ -123,6 +123,7 @@
     viewer_xml = PageTemplateFile('zpt/viewer_xml', globals())
     viewer_images = PageTemplateFile('zpt/viewer_images', globals())
     viewer_index = PageTemplateFile('zpt/viewer_index', globals())
+    viewer_thumbs = PageTemplateFile('zpt/viewer_thumbs', globals())
     # available layer types
     builtinLayers = {'text': ['dict','search','gis','annotator'],
                      'xml': None, 'images': None, 'index': None}
@@ -461,6 +462,14 @@
         pt = getattr(self.template, 'info_xml')
         return pt(docinfo=docinfo)
 
+    def getAuthenticatedUser(self, anon=None):
+        """returns the authenticated user object or None. (ignores Zopes anonymous user)"""
+        user = getSecurityManager().getUser()
+        if user is not None and user.getUserName() != "Anonymous User":
+            return user
+        else:
+            return anon
+
     def isAccessible(self, docinfo):
         """returns if access to the resource is granted"""
         access = docinfo.get('accessType', None)
@@ -471,17 +480,12 @@
         
         elif access is None or access in self.authgroups:
             # only local access -- only logged in users
-            user = getSecurityManager().getUser()
+            user = self.getAuthenticatedUser()
             logging.debug("documentViewer (accessOK) user=%s ip=%s"%(user,self.REQUEST.getClientAddr()))
-            if user is not None:
-                #print "user: ", user
-                return (user.getUserName() != "Anonymous User")
-            else:
-                return False
+            return (user is not None)
         
         logging.error("documentViewer (accessOK) unknown access type %s"%access)
         return False
-    
 
 
     def getDocinfo(self, mode, url, tocMode=None):