diff documentViewer.py @ 546:2928037f9a75

ASSIGNED - # 249: Annotations shared in groups https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/249
author casties
date Tue, 28 Aug 2012 20:24:01 +0200
parents 6cdc31e9ed8e
children 7acc919f52ff
line wrap: on
line diff
--- a/documentViewer.py	Wed Aug 22 16:51:21 2012 +0200
+++ b/documentViewer.py	Tue Aug 28 20:24:01 2012 +0200
@@ -126,8 +126,8 @@
     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'],
+    # available layer types (annotator not default)
+    builtinLayers = {'text': ['dict','search','gis'],
                      'xml': None, 'images': None, 'index': None}
     availableLayers = builtinLayers;
     # layer templates
@@ -316,18 +316,6 @@
         # and execute with parameters
         return pt(docinfo=docinfo, pageinfo=pageinfo)
   
-    #WTF?
-    def generateMarks(self,mk):
-        ret=""
-        if mk is None:
-            return ""
-        if not isinstance(mk, list):
-            mk=[mk]
-        for m in mk:
-            ret+="mk=%s"%m
-        return ret
-    
-    
     def getAvailableLayers(self):
         """returns dict with list of available layers per viewMode"""
         return self.availableLayers
@@ -985,6 +973,22 @@
         return batch
         
 
+    def getAnnotatorGroupsForUser(self, user, annotationServerUrl="http://tuxserve03.mpiwg-berlin.mpg.de/AnnotationManager"):
+        """returns list of groups {name:*, id:*} on the annotation server for the user"""
+        groups = []
+        groupsUrl = "%s/annotator/groups?user=%s"%(annotationServerUrl,user)
+        data = getHttpData(url=groupsUrl, noExceptions=True)
+        if data:
+            res = json.loads(data)
+            rows = res.get('rows', None)
+            if rows is None:
+                return groups
+            for r in rows:
+                groups.append({'id': r.get('id', None), 'name': r.get('name', None), 'uri': r.get('uri', None)})
+                
+        return groups
+    
+
     security.declareProtected('View management screens','changeDocumentViewerForm')    
     changeDocumentViewerForm = PageTemplateFile('zpt/changeDocumentViewer', globals())