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

version 1.47.2.117, 2010/09/13 11:23:58 version 1.47.2.118, 2010/09/14 06:22:50
Line 143  class MPIWGProject_publication(Folder): Line 143  class MPIWGProject_publication(Folder):
         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;
          
          
           if RESPONSE:
               self.redirect(RESPONSE,"../manageRelatedProjects")
   
 class MPIWGProject_image(Image):  class MPIWGProject_image(Image):
     """Images for Projects"""      """Images for Projects"""
   
Line 383  class MPIWGProject(CatalogAware,Folder,C Line 441  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 506  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"""
   
Line 436  class MPIWGProject(CatalogAware,Folder,C Line 534  class MPIWGProject(CatalogAware,Folder,C
                   
             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"""
   
           name="RelatedProject"+str(self.getLastRelatedProjectNumber()+1)
           
           # 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
           
           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 585  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])
Line 452  class MPIWGProject(CatalogAware,Folder,C Line 600  class MPIWGProject(CatalogAware,Folder,C
                   
                 self.redirect(RESPONSE,'managePublications')                  self.redirect(RESPONSE,'managePublications')
                                   
       def deleteRelatedProject(self,id,RESPONSE=None):
               """delete Publication id"""
               self.manage_delObjects([id])
               if RESPONSE:
           
                   self.redirect(RESPONSE,'manageRelatedProjects')
                 
     def getImages(self):      def getImages(self):
         """get all Images"""          """get all Images"""
   

Removed from v.1.47.2.117  
changed lines
  Added in v.1.47.2.118


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