Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.47.2.122 and 1.47.2.131

version 1.47.2.122, 2011/05/20 13:49:39 version 1.47.2.131, 2013/05/16 12:40:52
Line 43  import MPIWGRoot Line 43  import MPIWGRoot
 import MPIWGLink  import MPIWGLink
 import MPIWGTemplate  import MPIWGTemplate
   
   import transaction
   
 # die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, bleiben die Klassen hier noch drin.  # die folgenden Klassen sind jetzt in einzelne Files ausgelagert aus Kompatibilitaetsgruenden, bleiben die Klassen hier noch drin.
 # Sonst funktionieren die alten Webseiten nicht mehr.  # Sonst funktionieren die alten Webseiten nicht mehr.
   
Line 73  class MPIWGProject_publication(Folder): Line 75  class MPIWGProject_publication(Folder):
         logging.debug(email.Utils.formatdate()+' GMT')          logging.debug(email.Utils.formatdate()+' GMT')
         RESPONSE.redirect(url+addStr%timeStamp)          RESPONSE.redirect(url+addStr%timeStamp)
   
     def hasLinkToBookPage(self):      def hasLinkToBookPage(self,mode="not_cached"):
         """teste ob eingebener link zu einer MPIWG Book page geht"""          """teste ob eingebener link zu einer MPIWG Book page geht"""
                   
           
           logging.debug("MPIWGProject_publication - begin hasLinkToBookPage")
         if (getattr(self,'link','')==''):          if (getattr(self,'link','')==''):
             return False #es gibt keinen link              return False #es gibt keinen link
                   
           logging.debug("MPIWGProject_publication - begin hasLinkToBookPage:"+self.link)
         server = xmlrpclib.ServerProxy(self.link)          server = xmlrpclib.ServerProxy(self.link)
                   
           if(mode=="cached"):
               if (hasattr(self,"_v_hasLinkToBookPage")):
                   logging.debug("haslink cached")
                   return self._v_hasLinkToBookPage
           
         try:          try:
             server.getImageUrls()              server.getImageUrls()
               logging.debug("MPIWGProject_publication - end TRUE")
               self._v_hasLinkToBookPage=True
             return True              return True
         except:          except:
               logging.debug("MPIWGProject_publication - end FALSE ")
               self._v_hasLinkToBookPage=True
             return False              return False
                   
           
     def getImageUrls(self):      
       def getImageUrls(self,mode="not_cached"):
         """get the image urls"""          """get the image urls"""
                   
         if (getattr(self,'link','')==''):          if (getattr(self,'link','')==''):
             return False #es gibt keinen link              return [] #es gibt keinen link
                   
         server = xmlrpclib.ServerProxy(self.link)          server = xmlrpclib.ServerProxy(self.link)
                   
           
           if(mode=="cached"):
               if (hasattr(self,"_v_imageUrls")):
                   logging.debug("getImageURL cached")
                   return self._v_imageUrls
          
         try:          try:
             urls = server.getImageUrls()              urls = server.getImageUrls()
             ret=[]              ret=[]
Line 104  class MPIWGProject_publication(Folder): Line 125  class MPIWGProject_publication(Folder):
                 ret.append(url)                  ret.append(url)
                         
         except:          except:
               self._v_imageUrls=[]
             return []              return []
                   self._v_imageUrls=ret[0:]
         return ret          return ret
                   
     def editPublication(self,text=None,image1=None,image2=None,description=None,link=None,RESPONSE=None):      def editPublication(self,text=None,image1=None,image2=None,description=None,link=None,RESPONSE=None):
Line 237  class MPIWGProject(CatalogAware,Folder,C Line 259  class MPIWGProject(CatalogAware,Folder,C
     security=ClassSecurityInfo()      security=ClassSecurityInfo()
     meta_type='MPIWGProject'      meta_type='MPIWGProject'
     default_catalog='ProjectCatalog'      default_catalog='ProjectCatalog'
       
     def redirect(self,RESPONSE,url):      def redirect(self,RESPONSE,url):
         """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen"""          """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen"""
                   
Line 260  class MPIWGProject(CatalogAware,Folder,C Line 283  class MPIWGProject(CatalogAware,Folder,C
         def sort(x,y):          def sort(x,y):
             return cmp(getattr(x[1],'place',0),getattr(y[1],'place',0))              return cmp(getattr(x[1],'place',0),getattr(y[1],'place',0))
   
           logging.debug("MPIWGProjects begin: sorted by place: "+ metatype)
         founds=self.ZopeFind(self,obj_metatypes=[metatype]);          founds=self.ZopeFind(self,obj_metatypes=[metatype]);
                   
         founds.sort(sort)          founds.sort(sort)
                   logging.debug("MPIWGProjects end: sorted by place: "+ metatype)
         return founds          return founds
           
   
Line 759  class MPIWGProject(CatalogAware,Folder,C Line 783  class MPIWGProject(CatalogAware,Folder,C
         else:          else:
             return 1              return 1
                   
       def isActualForIndex(self): #isActual kann nicht indiziert werden, da intern fom ZCAtalog verwendete Funktion
           """gibt 1 zurueck wenn aktuell, 0 sonst"""
           actualTime=time.localtime()
           
           
           #print getattr(self,'archiveTime',actualTime)
           if getattr(self,'archiveTime',actualTime)< actualTime:
               return 0
           else:
               return 1
           
     def copyObjectToArchive(self):      def copyObjectToArchive(self):
         """kopiere aktuelles objekt ins archiv"""          """kopiere aktuelles objekt ins archiv"""
         logging.info("copytoarchive 1")          logging.info("copytoarchive 1")
Line 1031  class MPIWGProject(CatalogAware,Folder,C Line 1066  class MPIWGProject(CatalogAware,Folder,C
         return pt()          return pt()
           
       
     def harvest_page(self,context=None):      def harvest_page(self,context=None,mode="normal"):
         """seite fuer harvesting fuer die Projektsuche"""          """seite fuer harvesting fuer die Projektsuche"""
          
         if not context:          if not context:
             context=self              context=self
                           
         if self.isActiveProject() and self.isActual():          if self.isActiveProject() and self.isActual():
                templates = self.en.getHarvestCache()
               
              ext=getattr(self,"harvest_main",None)               ext=getattr(self,"harvest_main",None)
              if ext:               if ext:
                  return getattr(self,ext.getId())()                   rendered = getattr(self,ext.getId())()
                    templates[self.absolute_url()]=rendered
                    transaction.commit()
                    return rendered
                    
   
              pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_main')).__of__(context)                   pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_main')).__of__(context)    
   
                rendered = pt()
                templates[self.absolute_url()]=rendered
                transaction.commit()
                return rendered
                    
   
              return pt()  
               
     def index_html(self,request=True,context=None):      def index_html(self,request=True,context=None):
         """show homepage"""          """show homepage"""
Line 1275  class MPIWGProject(CatalogAware,Folder,C Line 1321  class MPIWGProject(CatalogAware,Folder,C
                   
         return True          return True
   
     security.declareProtected('View management screens','edit')      security.declareProtected('View management screens','editOldVersion')
     def edit(self,western=None):      def editOldVersion(self,western=None):
         """Edit pages"""          """Edit pages"""
         if western:          if western:
             self.REQUEST.RESPONSE.setCookie("MP_debug_code","western",path="/")              self.REQUEST.RESPONSE.setCookie("MP_debug_code","western",path="/")
Line 1549  class MPIWGProject(CatalogAware,Folder,C Line 1595  class MPIWGProject(CatalogAware,Folder,C
              tmpList.append((unicodify(names[nr]),unicodify(keys.get(nr,""))))               tmpList.append((unicodify(names[nr]),unicodify(keys.get(nr,""))))
                             
         self.responsibleScientistsList=tmpList          self.responsibleScientistsList=tmpList
           
           self.reindex_object()
         if fromEdit and (RESPONSE is not None):          if fromEdit and (RESPONSE is not None):
             #RESPONSE.redirect('./editMPIWGBasisEditor')              #RESPONSE.redirect('./editMPIWGBasisEditor')
             return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.decode(self.REQUEST.get('xdata_01',''))))              return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.decode(self.REQUEST.get('xdata_01',''))))

Removed from v.1.47.2.122  
changed lines
  Added in v.1.47.2.131


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>