Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.47.2.117 and 1.47.2.124

version 1.47.2.117, 2010/09/13 11:23:58 version 1.47.2.124, 2012/01/09 07:33:30
Line 140  class MPIWGProject_publication(Folder): Line 140  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 178  class MPIWGProject(CatalogAware,Folder,C Line 237  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 250  class MPIWGProject(CatalogAware,Folder,C Line 310  class MPIWGProject(CatalogAware,Folder,C
         """test ob es digital sources gibt"""          """test ob es digital sources gibt"""
                   
                   
         ret = (self.getContent('xdata_11')=='' and self.getContent('xdata_13')=='')          ret = (self.getContent('xdata_11').lstrip().rstrip()=='')
                           
               
               
Line 383  class MPIWGProject(CatalogAware,Folder,C Line 443  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 418  class MPIWGProject(CatalogAware,Folder,C Line 508  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(self.getLastPublicationNumber()+1)          name="publication_"+str(number)
           while hasattr(self,name):
               number+=1
               name="publication_"+str(number)
                   
         newPublication=MPIWGProject_publication(name)          newPublication=MPIWGProject_publication(name)
   
Line 431  class MPIWGProject(CatalogAware,Folder,C Line 534  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:          if RESPONSE is not None:
                   
             self.redirect(RESPONSE,'managePublications')              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:
           
               self.redirect(RESPONSE,'manageRelatedProjects')
   
    
     
     def getLastPublicationNumber(self):      def getLastPublicationNumber(self):
         publications=self.getPublications()          publications=self.getPublications()
Line 445  class MPIWGProject(CatalogAware,Folder,C Line 596  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 592  class MPIWGProject(CatalogAware,Folder,C Line 760  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 864  class MPIWGProject(CatalogAware,Folder,C Line 1043  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
Line 1500  class MPIWGProject(CatalogAware,Folder,C Line 1679  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.117  
changed lines
  Added in v.1.47.2.124


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