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

version 1.47.2.131, 2013/05/16 12:40:52 version 1.48, 2009/02/18 13:01:17
Line 25  from AccessControl import getSecurityMan Line 25  from AccessControl import getSecurityMan
 from bibliography import *  from bibliography import *
 import time  import time
 from OFS.Cache import Cacheable  from OFS.Cache import Cacheable
 import xmlrpclib  
 #import xml.dom.minidom  #import xml.dom.minidom
 import sys  import sys
 #from Ft.Xml.XPath import Evaluate  #from Ft.Xml.XPath import Evaluate
Line 43  import MPIWGRoot Line 42  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 75  class MPIWGProject_publication(Folder): Line 72  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,mode="not_cached"):      def editPublication(self,text=None,image1=None,image2=None,description=None,RESPONSE=None):
         """teste ob eingebener link zu einer MPIWG Book page geht"""  
           
           
         logging.debug("MPIWGProject_publication - begin hasLinkToBookPage")  
         if (getattr(self,'link','')==''):  
             return False #es gibt keinen link  
           
         logging.debug("MPIWGProject_publication - begin hasLinkToBookPage:"+self.link)  
         server = xmlrpclib.ServerProxy(self.link)  
           
         if(mode=="cached"):  
             if (hasattr(self,"_v_hasLinkToBookPage")):  
                 logging.debug("haslink cached")  
                 return self._v_hasLinkToBookPage  
           
         try:  
             server.getImageUrls()  
             logging.debug("MPIWGProject_publication - end TRUE")  
             self._v_hasLinkToBookPage=True  
             return True  
         except:  
             logging.debug("MPIWGProject_publication - end FALSE ")  
             self._v_hasLinkToBookPage=True  
             return False  
           
       
       
     def getImageUrls(self,mode="not_cached"):  
         """get the image urls"""  
           
         if (getattr(self,'link','')==''):  
             return [] #es gibt keinen link  
           
         server = xmlrpclib.ServerProxy(self.link)  
           
           
         if(mode=="cached"):  
             if (hasattr(self,"_v_imageUrls")):  
                 logging.debug("getImageURL cached")  
                 return self._v_imageUrls  
          
         try:  
             urls = server.getImageUrls()  
             ret=[]  
             for url in urls:  
                 url = os.path.join(self.link,url)  
                 ret.append(url)  
              
         except:  
             self._v_imageUrls=[]  
             return []  
         self._v_imageUrls=ret[0:]  
         return ret  
           
     def editPublication(self,text=None,image1=None,image2=None,description=None,link=None,RESPONSE=None):  
         """edit a publication"""          """edit a publication"""
   
         if (not text) and (not description):          if (not text) and (not description):
Line 138  class MPIWGProject_publication(Folder): Line 80  class MPIWGProject_publication(Folder):
             return pt()              return pt()
   
                 
         if text:  
             self.text=text[0:]              self.text=text[0:]
           
         if description:  
             self.description=description              self.description=description
                   
         if link:  
             self.link=link[0:]  
           
         if image1:          if image1:
             if hasattr(self,'publicationImage1'):              if hasattr(self,'publicationImage1'):
                 self.publicationImage1.manage_upload(image1)                  self.publicationImage1.manage_upload(image1)
Line 162  class MPIWGProject_publication(Folder): Line 98  class MPIWGProject_publication(Folder):
                 self._setObject('publicationImage2',nO)                  self._setObject('publicationImage2',nO)
                                         
   
         self.ZCacheable_invalidate()  
         if RESPONSE:          if RESPONSE:
             self.redirect(RESPONSE,"../managePublications")              self.redirect(RESPONSE,"../managePublications")
   
 class MPIWGProject_relatedProject(Folder):  
     """publications object fuer project"""  
   
     meta_type="MPIWGProject_relatedProject"  
     def redirect(self,RESPONSE,url):  
         """mache ein redirect mit einem angehaengten time stamp um ein reload zu erzwingen"""  
           
         timeStamp=time.time()  
           
         if url.find("?")>-1: #giebt es schon parameter  
             addStr="&time=%s"  
         else:  
             addStr="?time=%s"  
               
         RESPONSE.setHeader('Last-Modified',email.Utils.formatdate().split("-")[0]+'GMT')  
         logging.debug(email.Utils.formatdate()+' GMT')  
         RESPONSE.redirect(url+addStr%timeStamp)  
   
           
     def editRelatedProject(self,link=None,RESPONSE=None):  
         """edit a publication"""  
   
         if (not link):  
             pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_relatedProjectForm.zpt')).__of__(self)  
             return pt()  
   
          
          
         
           
         # hole die id des projektes  
         splitted=link.split("/")  
           
         #teste ob es das project gibt  
         if len(splitted)<1:  
             self.redirect(RESPONSE,'errorRelatedProjects?link='+link)  
           
         objid=splitted[-1]  
         object = getattr(self.projects,objid,None)  
           
         if object==None:  
             self.redirect(RESPONSE,'errorRelatedProjects?link='+link)  
           
         
   
           
          
         self.orginallink=link[0:]  
         self.objid=objid[0:]  
       
         self.projectWEB_title=object.getContent('WEB_title')[0:]  
          
         self.enabled=True;  
         self.ZCacheable_invalidate()  
          
         if RESPONSE:  
             self.redirect(RESPONSE,"../manageRelatedProjects")  
   
 class MPIWGProject_image(Image):  class MPIWGProject_image(Image):
     """Images for Projects"""      """Images for Projects"""
   
Line 248  class MPIWGProject_image(Image): Line 125  class MPIWGProject_image(Image):
             self.caption=caption[0:]              self.caption=caption[0:]
   
         if RESPONSE:          if RESPONSE:
       
             self.redirect(RESPONSE,"../manageImages")              self.redirect(RESPONSE,"../manageImages")
   
 class MPIWGProject(CatalogAware,Folder,Cacheable):  class MPIWGProject(CatalogAware,Folder,Cacheable):
     """Class for Projects"""      """Class for Projects"""
           
     def _p_resolveConflict(self, oldState, savedState, newState):  
         return newState  
   
     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 283  class MPIWGProject(CatalogAware,Folder,C Line 158  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 302  class MPIWGProject(CatalogAware,Folder,C Line 176  class MPIWGProject(CatalogAware,Folder,C
             pubSplit=pubSplit.replace("</p>","")              pubSplit=pubSplit.replace("</p>","")
             self.addPublication(pubSplit)              self.addPublication(pubSplit)
   
         setattr(self,"WEB_related_pub_copied",True);  
           
         if RESPONSE:          if RESPONSE:
                                   
             self.redirect(RESPONSE,'managePublications')              self.redirect(RESPONSE,'managePublications')
                   
     def hasRelatedPublicationsOldVersion(self):  
         """teste ob es related publications gibt"""  
           
         ret = True;  
         if (self.getContent('WEB_related_pub')==''):  
             ret=False;  #nichts im alten feld  
         logging.debug("webrel:"+repr(ret))  
         if (getattr(self,'WEB_related_pub_copied',False)):  
             ret=False; # alte daten sind schon kopiert worden  
           
         logging.debug("webrel_copied:"+repr(ret))  
         publications=self.ZopeFind(self,obj_metatypes=['MPIWGProject_publication']);  
           
         if(len(publications)>0):  
             ret=False; # es gibt publicationen in der neuen liste  
         
           
         logging.debug("len(publ)"+repr(ret))  
           
         return ret;  
       
     def hasRelatedDigitalSources(self):  
         """test ob es digital sources gibt"""  
           
           
         ret = (self.getContent('xdata_11').lstrip().rstrip()=='')  
               
         
         
         return not ret;  
               
           
       
           
     def copyImageToMargin(self,RESPONSE=None):        def copyImageToMargin(self,RESPONSE=None):  
         """copy inline images to marginal images"""          """copy inline images to marginal images"""
Line 466  class MPIWGProject(CatalogAware,Folder,C Line 305  class MPIWGProject(CatalogAware,Folder,C
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_managePublicationsForm.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_managePublicationsForm.zpt')).__of__(self)
         return pt()          return pt()
       
     def manageRelatedProjects(self,pubName=None,op=None):  
         """managage relatedProjectd"""  
   
   
         if pubName and op:  
             if op=='up':  
                 relatedProjects=self.getRelatedProjects()  
                 for project in relatedProjects:  
                     if project[0]==pubName:  
                         nr=relatedProjects.index(project)  
                         if not nr==0:  
                             relatedProjects[nr-1][1].place+=1  
                             relatedProjects[nr][1].place-=1  
                         pass  
             elif op=='down':  
                 relatedProjects=self.getRelatedProjects()  
                 for project in relatedProjects:  
                     if project[0]==pubName:  
                         nr=relatedProjects.index(project)  
                         if not (nr==len(relatedProjects)-1):  
                             relatedProjects[nr+1][1].place-=1  
                             relatedProjects[nr][1].place+=1  
                         pass  
   
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_manageRelatedProjectsForm.zpt')).__of__(self)  
         return pt()  
       
       
     def hasExtendedPublicationList(self):      def hasExtendedPublicationList(self):
         """test if extended publication list exists"""          """test if extended publication list exists"""
         if not hasattr(self,"publicationList"):          if not hasattr(self,"publicationList"):
Line 531  class MPIWGProject(CatalogAware,Folder,C Line 340  class MPIWGProject(CatalogAware,Folder,C
         publications.sort(sort_images)          publications.sort(sort_images)
         return publications          return publications
   
     def getRelatedProjects(self):  
         """get all Publications"""  
         def sort_images(x,y):  
             return cmp(getattr(x[1],'place',0),getattr(y[1],'place',0))  
   
         publications=self.ZopeFind(self,obj_metatypes=['MPIWGProject_relatedProject'])  
           
         publications.sort(sort_images)  
         return publications  
   
     def addPublication(self,text,RESPONSE=None):      def addPublication(self,text,RESPONSE=None):
         """add an MPIWG_Publication"""          """add an MPIWG_Publication"""
         number=self.getLastPublicationNumber()+1  
         name="publication_"+str(number)          name="publication_"+str(self.getLastPublicationNumber()+1)
         while hasattr(self,name):  
             number+=1  
             name="publication_"+str(number)  
                   
         newPublication=MPIWGProject_publication(name)          newPublication=MPIWGProject_publication(name)
   
Line 557  class MPIWGProject(CatalogAware,Folder,C Line 353  class MPIWGProject(CatalogAware,Folder,C
         obj.enabled=True;          obj.enabled=True;
         obj.place=self.getLastPublicationNumber()+1          obj.place=self.getLastPublicationNumber()+1
         obj.id=name          obj.id=name
         self.ZCacheable_invalidate()  
         if RESPONSE is not None:  
           
             self.redirect(RESPONSE,'managePublications')  
   
     def errorRelatedProjects(self,link):  
         """error creating a related project"""  
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_project_error_relatedProject.zpt')).__of__(self)  
         return pt(link=link)  
   
     def addRelatedProject(self,link,RESPONSE=None):  
         """add an MPIWG_Publication"""  
   
                   
           
         number=self.getLastPublicationNumber()+1  
         name="RelatedProject"+str(number)  
         while hasattr(self,name):  
             number+=1  
             name="RelatedProject_"+str(number)  
           
         # hole die id des projektes  
         splitted=link.split("/")  
           
         #teste ob es das project gibt  
         if len(splitted)<1:  
             self.redirect(RESPONSE,'errorRelatedProjects?link='+link)  
           
         objid=splitted[-1]  
         object = getattr(self.projects,objid,None)  
           
         if object==None:  
             self.redirect(RESPONSE,'errorRelatedProjects?link='+link)  
             return  
           
         newPublication=MPIWGProject_relatedProject(name)  
   
         self._setObject(name,newPublication)  
         obj=getattr(self,name)  
         obj.orginallink=link[0:]  
         obj.objid=objid[0:]  
         logging.debug("add relobj:objid"+repr(obj.objid))  
         obj.projectWEB_title=object.getContent('WEB_title')[0:]  
         logging.debug("add relobj:webtitle"+repr(obj.projectWEB_title))  
         obj.enabled=True;  
         obj.place=self.getLastRelatedProjectNumber()+1  
         obj.id=name  
         self.ZCacheable_invalidate()  
         if RESPONSE is not None:          if RESPONSE is not None:
                   
             self.redirect(RESPONSE,'manageRelatedProjects')              self.redirect(RESPONSE,'managePublications')
   
     
           
     def getLastPublicationNumber(self):      def getLastPublicationNumber(self):
Line 619  class MPIWGProject(CatalogAware,Folder,C Line 367  class MPIWGProject(CatalogAware,Folder,C
         else:          else:
             return getattr(publications[-1][1],'place',0)              return getattr(publications[-1][1],'place',0)
                   
     def getLastRelatedProjectNumber(self):  
         publications=self.getRelatedProjects()  
           
         if not publications:  
             return 0  
         else:  
             return getattr(publications[-1][1],'place',0)  
           
     def deletePublication(self,id,RESPONSE=None):      def deletePublication(self,id,RESPONSE=None):
             """delete Publication id"""              """delete Publication id"""
             self.manage_delObjects([id])              self.manage_delObjects([id])
             self.ZCacheable_invalidate()  
             if RESPONSE:              if RESPONSE:
                   
                 self.redirect(RESPONSE,'managePublications')                  self.redirect(RESPONSE,'managePublications')
                               
     def deleteRelatedProject(self,id,RESPONSE=None):  
             """delete Publication id"""  
             self.manage_delObjects([id])  
             self.ZCacheable_invalidate()  
             if RESPONSE:  
           
                 self.redirect(RESPONSE,'manageRelatedProjects')  
                 
     def getImages(self):      def getImages(self):
         """get all Images"""          """get all Images"""
   
Line 783  class MPIWGProject(CatalogAware,Folder,C Line 514  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")  
         cb=self.aq_parent.manage_copyObjects(self.getId())          cb=self.aq_parent.manage_copyObjects(self.getId())
         logging.info("copytoarchive 2")  
         self.manage_pasteObjects(cb)          self.manage_pasteObjects(cb)
         logging.info("copytoarchive 3")  
         actualTime=time.localtime()          actualTime=time.localtime()
                   
         self.manage_renameObject(self.getId(),self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime))          self.manage_renameObject(self.getId(),self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime))
         logging.info("copytoarchive 4")  
         obj=getattr(self,self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime))          obj=getattr(self,self.getId()+"_"+time.strftime("%Y%m%d%H%M%S",actualTime))
         obj.setArchiveTime(time.strftime("%Y%m%d%H%M%S",actualTime))          obj.setArchiveTime(time.strftime("%Y%m%d%H%M%S",actualTime))
         logging.info("copytoarchive 5")  
         ids=[x[0] for x in self.ZopeFind(obj,obj_metatypes=['MPIWGProject'])]          ids=[x[0] for x in self.ZopeFind(obj,obj_metatypes=['MPIWGProject'])]
         logging.info("copytoarchive 6")  
         obj.manage_delObjects(ids)          obj.manage_delObjects(ids)
         logging.info("copytoarchive 7")  
                   
     def setArchiveTime(self,time):      def setArchiveTime(self,time):
         """set Archive Time"""          """set Archive Time"""
         self.archiveTime=time[0:]          self.archiveTime=time[0:]
                   
     def delArchiveTime(self):  
         """delete archive time"""  
         del self.archiveTime  
   
     def versionManageForm(self):      def versionManageForm(self):
         """version Manage form:currently only set to invisible"""          """version Manage form:currently only set to invisible"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_versionManageForm.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_versionManageForm.zpt')).__of__(self)
Line 962  class MPIWGProject(CatalogAware,Folder,C Line 671  class MPIWGProject(CatalogAware,Folder,C
                 return '';                  return '';
                   
     def getStartedAt(self):      def getStartedAt(self):
         """gibt das transformierte Datum zurueck, an dem Projekt begonnen wurde."""          """gibt das transformierte Datum zurŸck, an dem Projekt begonnen wurde."""
         date=getattr(self,'startedAt','')          date=getattr(self,'startedAt','')
         if date:          if date:
             return self.reTransformDate(date);              return self.reTransformDate(date);
Line 983  class MPIWGProject(CatalogAware,Folder,C Line 692  class MPIWGProject(CatalogAware,Folder,C
                   
                   
     def transformDate(self,date):      def transformDate(self,date):
         """transformiert ein Datum von DD.MM.YYYY, MM.YYYY,YYYY nach  YYYYMMDD, alle nicht angebenen Werte          """transformiert ein Datum von DD.MM.YYYY, MM.YYYY,YYYY nach  YYYYMMDD, alle nicht angebebenn Werte
         werden auf 0 gesetzt, es wird null zurueckgegeben falls das Datum ungueltig ist"""           werden auf 0 gesetzt, es wird null zurŸckgegeben falls das Datum ungueltig ist""" 
         
         if (date==None):          if (date==None):
             return None;              return None;
Line 1066  class MPIWGProject(CatalogAware,Folder,C Line 775  class MPIWGProject(CatalogAware,Folder,C
         return pt()          return pt()
           
       
     def harvest_page(self,context=None,mode="normal"):      def harvest_page(self,context=None):
         """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:
                  rendered = getattr(self,ext.getId())()                   return 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 1119  class MPIWGProject(CatalogAware,Folder,C Line 817  class MPIWGProject(CatalogAware,Folder,C
         security = getSecurityManager()          security = getSecurityManager()
         bound_names['user'] = security.getUser()          bound_names['user'] = security.getUser()
               
         
         # Retrieve the value from the cache.          # Retrieve the value from the cache.
         keyset = None          keyset = None
         if self.ZCacheable_isCachingEnabled():          if self.ZCacheable_isCachingEnabled():
Line 1137  class MPIWGProject(CatalogAware,Folder,C Line 836  class MPIWGProject(CatalogAware,Folder,C
         security.addContext(self)          security.addContext(self)
   
         try:          try:
             #logging.debug("index_html pt=%s"%repr(pt))  
             result = pt.pt_render(extra_context=bound_names)              result = pt.pt_render(extra_context=bound_names)
             #logging.debug("index_html result=%s"%repr(result))  
             if keyset is not None:              if keyset is not None:
                 # Store the result in the cache.                  # Store the result in the cache.
                 self.ZCacheable_set(result, keywords=keyset)                  self.ZCacheable_set(result, keywords=keyset)
Line 1191  class MPIWGProject(CatalogAware,Folder,C Line 888  class MPIWGProject(CatalogAware,Folder,C
   
     def getContent(self,field,filter=None):      def getContent(self,field,filter=None):
         """Inhalt des Feldes"""          """Inhalt des Feldes"""
         #logging.debug("getContent field=%s filter=%s"%(field,filter))  
                   
         if field=="short_title":          if field=="short_title":
                 text = self.getContent("xdata_07")                  text = self.getContent("xdata_07")
Line 1301  class MPIWGProject(CatalogAware,Folder,C Line 997  class MPIWGProject(CatalogAware,Folder,C
                   
     def saveEditedContent(self,kupu=None,preview=None):      def saveEditedContent(self,kupu=None,preview=None):
         """save Edited content"""          """save Edited content"""
         #logging.debug("saveEditedContent kupu=%s preview=%s"%(kupu,preview))  
   
         if preview:          if preview:
             kupu=preview              kupu=preview
Line 1311  class MPIWGProject(CatalogAware,Folder,C Line 1006  class MPIWGProject(CatalogAware,Folder,C
         newcontent= kupu[start+6:end]          newcontent= kupu[start+6:end]
             
         if preview:          if preview:
               
             return self.preview(newcontent)              return self.preview(newcontent)
   
         self.copyObjectToArchive()          self.copyObjectToArchive()
Line 1321  class MPIWGProject(CatalogAware,Folder,C Line 1017  class MPIWGProject(CatalogAware,Folder,C
                   
         return True          return True
   
     security.declareProtected('View management screens','editOldVersion')      security.declareProtected('View management screens','edit')
     def editOldVersion(self,western=None):      def edit(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 1392  class MPIWGProject(CatalogAware,Folder,C Line 1088  class MPIWGProject(CatalogAware,Folder,C
   
     def preview(self,description):      def preview(self,description):
         """preview"""          """preview"""
         #logging.debug("preview description=%s"%description)  
         tmpPro=getattr(self,"previewTemplate",None)          tmpPro=getattr(self,"previewTemplate",None)
         if not tmpPro:          if not tmpPro:
             tmpPro=MPIWGProject("previewTemplate")              tmpPro=MPIWGProject("previewTemplate")
Line 1401  class MPIWGProject(CatalogAware,Folder,C Line 1096  class MPIWGProject(CatalogAware,Folder,C
             setattr(tmpPro,field,getattr(self,field))              setattr(tmpPro,field,getattr(self,field))
         tmpPro.WEB_project_description=description[0:]          tmpPro.WEB_project_description=description[0:]
         tmpPro.invisible=True          tmpPro.invisible=True
         pt=PageTemplateFile('zpt/previewFrame.zpt',globals()).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self)
         return pt()          return pt()
   
         #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"/previewTemplate")          #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"/previewTemplate")
Line 1417  class MPIWGProject(CatalogAware,Folder,C Line 1112  class MPIWGProject(CatalogAware,Folder,C
             <head>              <head>
             <meta http-equiv="Content-Type" content="text/html; charset=utf-8">              <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
             </head>              </head>
             <body>%s</body>              <body>%s
             </html>              </html></body>
             """%self.WEB_project_description[0]              """%self.WEB_project_description[0]
                   
         return """          return """
Line 1426  class MPIWGProject(CatalogAware,Folder,C Line 1121  class MPIWGProject(CatalogAware,Folder,C
             <head>              <head>
             <meta http-equiv="Content-Type" content="text/html; charset=utf-8">              <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
             </head>              </head>
             <body>%s</body>              <body>%s
             </html>              </html></body>
             """%self.getContent('WEB_project_description')              """%self.getContent('WEB_project_description')
                   
                   
Line 1452  class MPIWGProject(CatalogAware,Folder,C Line 1147  class MPIWGProject(CatalogAware,Folder,C
             return False              return False
                   
     def getPersonKeyList(self):      def getPersonKeyList(self):
         """gibt die key Liste der beteiligten Personen zurueck (utf8 codiert)"""          """gibt die key Liste der beteiligten Personen zurŸck (utf8 codiert)"""
         #logging.error("getPersonKeyList:%s"%getattr(self,'responsibleScientistsList',[]))          #logging.error("getPersonKeyList:%s"%getattr(self,'responsibleScientistsList',[]))
         try:          try:
             return [utf8ify(x[1]) for x in getattr(self,'responsibleScientistsList',[])]              return [utf8ify(x[1]) for x in getattr(self,'responsibleScientistsList',[])]
Line 1595  class MPIWGProject(CatalogAware,Folder,C Line 1290  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',''))))
Line 1715  class MPIWGProject(CatalogAware,Folder,C Line 1408  class MPIWGProject(CatalogAware,Folder,C
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
     def tagTheProject(self,RESPONSE=None):  
         """TAG"""  
         id=self.getId();  
         tmpl =getattr(self.thesaurus,"main.html")  
         if RESPONSE:  
             RESPONSE.redirect("./thesaurus/main.html?project="+id)  
         return  
           
 def manage_addMPIWGProjectForm(self):  def manage_addMPIWGProjectForm(self):
     """form for adding the project"""      """form for adding the project"""
     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGProjectForm.zpt')).__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGProjectForm.zpt')).__of__(self)

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


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