Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.47.2.53 and 1.47.2.54

version 1.47.2.53, 2006/07/13 09:56:56 version 1.47.2.54, 2006/07/14 09:14:17
Line 647  class MPIWGRoot(ZSQLExtendFolder): Line 647  class MPIWGRoot(ZSQLExtendFolder):
         """test"""          """test"""
         return self.getProjectsByFieldContent('xdata_09',['biology'])[0].absolute_url          return self.getProjectsByFieldContent('xdata_09',['biology'])[0].absolute_url
   
     def getContexts(self,childs=None,parents=None,depth=None,date=None):      def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True):
         """childs alle childs, alle parents"""          """childs alle childs, alle parents"""
         ret=[]          ret=[]
                   
Line 662  class MPIWGRoot(ZSQLExtendFolder): Line 662  class MPIWGRoot(ZSQLExtendFolder):
         if childs:          if childs:
             for project in self.getProjectFields('xdata_05',sort='int',date=date):              for project in self.getProjectFields('xdata_05',sort='int',date=date):
                 searchStr=childs+"(\..*)"                  searchStr=childs+"(\..*)"
                  
                   if (onlyActive and project[0].isActiveProject()) or (not onlyActive):
                 if re.match(searchStr,project[1]):                  if re.match(searchStr,project[1]):
                                           
                     if depth:                      if depth:
Line 995  class MPIWGRoot(ZSQLExtendFolder): Line 997  class MPIWGRoot(ZSQLExtendFolder):
             return entry              return entry
   
   
     def getTree(self,date=None):      def getTree(self,date=None,onlyActive=None):
         """generate Tree from project list"""          """generate Tree from project list"""
   
         returnList=[]          returnList=[]
Line 1009  class MPIWGRoot(ZSQLExtendFolder): Line 1011  class MPIWGRoot(ZSQLExtendFolder):
                     #title=project[0].WEB_title                      #title=project[0].WEB_title
                     title=[project[0].getContent('WEB_title')]                      title=[project[0].getContent('WEB_title')]
                     #print title                      #print title
                     if idNr[0]!="x":  
                        returnList.append((depth,nr,title,project[0]))  
                   
                       if idNr[0]=="x": # kompatibilitŠt mit alter Konvention, x vor der Nummer macht project inactive
                           project[0].setActiveFlag(False)
                      
                       if onlyActive and project[0].isActiveProject(): #nur active projekte
                          returnList.append((depth,nr,title,project[0]))
                       elif not onlyActive:
                         returnList.append((depth,nr,title,project[0]))
         return returnList          return returnList
   
     def formatElementsAsList(self,elements):      def formatElementsAsList(self,elements):
Line 1128  class MPIWGRoot(ZSQLExtendFolder): Line 1135  class MPIWGRoot(ZSQLExtendFolder):
   
                   
         for idNr in form.keys():          for idNr in form.keys():
               
               splitted=idNr.split('_')
               
               if len(splitted)==1: # name des Feldes = idNr, dann Aendere id_nr
             if not (fields[int(idNr)][3].xdata_05==form[idNr]):              if not (fields[int(idNr)][3].xdata_05==form[idNr]):
                 fields[int(idNr)][3].xdata_05=form[idNr]                  fields[int(idNr)][3].xdata_05=form[idNr]
                 fields[int(idNr)][3].copyObjectToArchive()                  fields[int(idNr)][3].copyObjectToArchive()
                   
                   if form.has_key(idNr+'_active'): # active flag is set
                     
                       fields[int(splitted[0])][3].setActiveFlag(True)
                   else:
                     
                       fields[int(splitted[0])][3].setActiveFlag(False)
   
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('showTree')              RESPONSE.redirect('showTree')
Line 1285  class MPIWGRoot(ZSQLExtendFolder): Line 1302  class MPIWGRoot(ZSQLExtendFolder):
         if splittedNew[0]=='':          if splittedNew[0]=='':
             del splittedNew[0]              del splittedNew[0]
         search=string.join(splittedNew,' AND ')          search=string.join(splittedNew,' AND ')
           
         if not search=='':          if not search=='':
             proj=self.MembersCatalog({'title':search})              proj=self.MembersCatalog({'title':search})
   
Line 1632  class MPIWGProject(CatalogAware,Folder): Line 1650  class MPIWGProject(CatalogAware,Folder):
         if RESPONSE:          if RESPONSE:
             RESPONSE.redirect('manageImages')              RESPONSE.redirect('manageImages')
   
       
       def hasChildren(self,date=None,onlyActive=True):
           """check if project has children"""
           ct=self.getContexts(childs=self.getContent('xdata_05'),
                                    depth=1,date=date,onlyActive=onlyActive)
           
           if ct and len(ct)>0:
                return True
           else:
                return False
            
     def addImage(self,fileHd,caption,RESPONSE=None,filename=None):      def addImage(self,fileHd,caption,RESPONSE=None,filename=None):
         """add an MPIWG_Project_image"""          """add an MPIWG_Project_image"""
   
Line 1789  class MPIWGProject(CatalogAware,Folder): Line 1818  class MPIWGProject(CatalogAware,Folder):
         self.creationTime=time.strftime("%Y%m%d%H%M%S",time.localtime())[0:]          self.creationTime=time.strftime("%Y%m%d%H%M%S",time.localtime())[0:]
         self.id=id          self.id=id
         self.title=id          self.title=id
           self.isActiveFlag=True #Flag is true is the project is still active, False if accomplished
           
         if argv:          if argv:
             for arg in definedFields:              for arg in definedFields:
                 try:                  try:
Line 1809  class MPIWGProject(CatalogAware,Folder): Line 1840  class MPIWGProject(CatalogAware,Folder):
         )          )
   
   
       def isActiveProject(self):
           """check if the project is still active, default is true, set to false is the project is accomplished"""
           return getattr(self,'isActiveFlag',True)
           
       def setActiveFlag(self,status=True):
           """set the active flag"""
           self.isActiveFlag=status
           
     def checkDate(self,date):      def checkDate(self,date):
         """teste ob zum Zeitpunkt date eine andere version existierte"""          """teste ob zum Zeitpunkt date eine andere version existierte"""
                   
Line 2078  class MPIWGProject(CatalogAware,Folder): Line 2117  class MPIWGProject(CatalogAware,Folder):
                                   
                 setattr(self,x,[self.REQUEST[x].decode('utf-8')])                  setattr(self,x,[self.REQUEST[x].decode('utf-8')])
   
           if self.REQUEST.has_key('active'):
               self.setActiveFlag(True)
           else:
               self.setActiveFlag(False)
         if fromEdit and (RESPONSE is not None):          if fromEdit and (RESPONSE is not None):
             RESPONSE.redirect('./editMPIWGBasisEditor')              RESPONSE.redirect('./editMPIWGBasisEditor')
   

Removed from v.1.47.2.53  
changed lines
  Added in v.1.47.2.54


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