Diff for /MPIWGWeb/Attic/MPIWGRoot.py between versions 1.1.2.3 and 1.1.2.8

version 1.1.2.3, 2008/08/26 14:00:42 version 1.1.2.8, 2008/08/29 08:25:34
Line 30  import updatePersonalWWW Line 30  import updatePersonalWWW
 import MPIWGStaff  import MPIWGStaff
 from MPIWGHelper import *  from MPIWGHelper import *
   
   
   def sortWeight(x,y):
       x1=int(getattr(x[1],'weight','0'))
       y1=int(getattr(y[1],'weight','0'))
       return cmp(x1,y1)
   
   
 class MPIWGRoot(ZSQLExtendFolder):  class MPIWGRoot(ZSQLExtendFolder):
     """Stammordner fuer den Web-Server"""      """Stammordner fuer den Web-Server"""
   
     fieldLabels={'WEB_title':'WEB_Title','xdata_01':'Responsible Scientists','xdata_02':'Department',      fieldLabels={'WEB_title':'WEB_Title',
              'xdata_03':'Historical Persons','xdata_04':'Time period',                   'xdata_01':'Responsible Scientists',
              'xdata_05':'Sorting number','xdata_06':'Keywords','xdata_07':'Short title',                   'xdata_02':'Department',
              'xdata_08':'Other involved scholars' ,'xdata_09':'Disciplines','xdata_10':'Themes',                   'xdata_03':'Historical Persons',
              'xdata_11':'Object Digitallibrary','xdata_12':'Cooperation partners',                   'xdata_04':'Time period',
              'xdata_13':'Funding institutions','WEB_project_header':'WEB_project_header',                   'xdata_05':'Sorting number',
              'WEB_project_description':'WEB_project_description','WEB_related_pub':'WEB_related_pub'}                   'xdata_06':'Keywords',
                    'xdata_07':'Short title',
                    'xdata_08':'Other involved scholars' ,
                    'xdata_09':'Disciplines',
                    'xdata_10':'Themes',
                    'xdata_11':'Object Digitallibrary',
                    'xdata_12':'Cooperation partners',
                    'xdata_13':'Funding institutions',
                    'WEB_project_header':'WEB_project_header',
                    'WEB_project_description':'WEB_project_description',
                    'WEB_related_pub':'WEB_related_pub'}
           
     folders=['MPIWGProject','Folder','ECHO_Navigation']      folders=['MPIWGProject','Folder','ECHO_Navigation']
     meta_type='MPIWGRoot'      meta_type='MPIWGRoot'
Line 264  class MPIWGRoot(ZSQLExtendFolder): Line 281  class MPIWGRoot(ZSQLExtendFolder):
                 return True                  return True
         return False          return False
                   
     def getSection(self):      
         """returns the current section name"""      def getSections(self):
         root = self.absolute_url()          """returns a list of all sections i.e. top-level MPIWGFolders"""
         url = self.REQUEST['URL']          secs = self.objectItems(['MPIWGFolder'])
         if not url:          secs.sort(sortWeight)
             return None          #logging.debug("root: %s secs: %s"%(repr(self.absolute_url()), repr(secs)))
         path = string.replace(url, root, '')          return secs
         paths = path.split('/')  
         if len(paths) > 0:  
             sec = paths[1]  
             if sec.find('.') < 0:  
                 return sec  
             else:  
                 return None  
         return None  
   
     def getSectionStyle(self, name, style=""):      def getSectionStyle(self, name, style=""):
         """returns a string with the given style + '-sel' if the current section == name"""          """returns a string with the given style + '-sel' if the current section == name"""
Line 484  class MPIWGRoot(ZSQLExtendFolder): Line 493  class MPIWGRoot(ZSQLExtendFolder):
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
   
   
     def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True):      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=[]
                   
         if parents:          if parents:
             splitted=parents.split(".")              pnums=parents.split(".")
             parentId=string.join(splitted[0:len(splitted)-1],".")              while len(pnums) > 1:
                   pnums.pop()
                   parentId=string.join(pnums,".")
                   
             for project in self.getProjectFields('xdata_05',sort='int',date=date):              for project in self.getProjectFields('xdata_05',sort='int',date=date):
                 if project[1]==parentId:                  if project[1]==parentId:
                     ret.append(project)                      ret.append(project)
   
                   if (depth is not None) and (len(ret) >= depth):
                       break
   
         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+"(\..*)"
Line 511  class MPIWGRoot(ZSQLExtendFolder): Line 524  class MPIWGRoot(ZSQLExtendFolder):
                                 ret.append(project)                                  ret.append(project)
                         else:                          else:
                             ret.append(project)                              ret.append(project)
           
           logging.debug("getContexts: childs=%s parents=%s depth=%s => %s"%(childs,parents,depth,repr(ret)))
         return ret          return ret
           
       
     def getProjectFields(self,fieldName,date=None,folder=None,sort=None):      def getProjectFields(self,fieldName,date=None,folder=None,sort=None):
         """getListofFieldNames"""          """getListofFieldNames"""
         ret=[]          ret=[]
Line 845  class MPIWGRoot(ZSQLExtendFolder): Line 861  class MPIWGRoot(ZSQLExtendFolder):
         else:          else:
             return entry              return entry
   
       def getTreeRSS(self,dep=None,date=None,onlyActive=1,onlyArchived=0):
           """generateTree"""
           rss="""<?xml version="1.0" encoding="utf-8"?>
                    <rss version="2.0">
                      <channel>"""
           
           for obj in self.getTree(dep, date, onlyActive, onlyArchived):
               linkStr="""<link>http://wwwneu.mpiwg-berlin.mpg.de/en/research/projects/%s</link>"""
               rss+="""<item>"""
               rss+=linkStr%obj[3].getId()
               rss+="""</item>"""
               if hasattr(obj[3],'publicationList'):
               rss+="""<item>"""
                   rss+=linkStr%(obj[3].getId()+"/publicationList");
                   rss+="""</item>"""
           rss+="""</channel>
           </rss>"""
   
           
           return rss
   
     def getTree(self,dep=None,date=None,onlyActive=0,onlyArchived=0):      def getTree(self,dep=None,date=None,onlyActive=0,onlyArchived=0):
         """generate Tree from project list          """generate Tree from project list
Line 973  class MPIWGRoot(ZSQLExtendFolder): Line 1009  class MPIWGRoot(ZSQLExtendFolder):
                     logging.info("Changed!Completed+++++++++++++++++++++++++++++++++")                      logging.info("Changed!Completed+++++++++++++++++++++++++++++++++")
                     entryChanged = True                      entryChanged = True
                                   
                   if not (fields[nr][3].getStartedAt()==fields[nr][3].transformDate(form[str(nr)+'_started'])):
                       fields[nr][3].setStartedAt(form[str(nr)+'_started'])
                       logging.info("Changed!Started+++++++++++++++++++++++++++++++++")
                       entryChanged = True
                   
                                   
                 if entryChanged:                  if entryChanged:
                     logging.info("Changed!+++++++++++++++++++++++++++++++++")                      logging.info("Changed!+++++++++++++++++++++++++++++++++")

Removed from v.1.1.2.3  
changed lines
  Added in v.1.1.2.8


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