Diff for /MPIWGWeb/MPIWGProjects.py between versions 1.47.2.15 and 1.47.2.21

version 1.47.2.15, 2005/06/20 17:53:25 version 1.47.2.21, 2005/08/31 08:24:29
Line 19  import xmlhelper # Methoden zur Verwaltu Line 19  import xmlhelper # Methoden zur Verwaltu
 from OFS.SimpleItem import SimpleItem  from OFS.SimpleItem import SimpleItem
 from OFS.Folder import Folder  from OFS.Folder import Folder
 from Products.ZSQLMethods.SQL import SQLConnectionIDs  from Products.ZSQLMethods.SQL import SQLConnectionIDs
   from AccessControl import ClassSecurityInfo
 from bibliography import *  from bibliography import *
 import time  import time
   
Line 66  class MPIWGLink(SimpleItem): Line 66  class MPIWGLink(SimpleItem):
   
     meta_type="MPIWGLink"      meta_type="MPIWGLink"
           
       def isActiveItem(self):
           """teste ob ausgewaehlt"""
           #url1 beim link anstelle von url1, da link jeweils index_html als url hat.
           if self.absolute_url()==self.REQUEST['URL1']:
               return "aktiv"
           else:
               return ""
   
     def __init__(self,id,link,title='',weight=''):      def __init__(self,id,link,title='',weight=''):
         """init mpiwglink"""          """init mpiwglink"""
Line 174  class MPIWGTemplate(ZopePageTemplate): Line 181  class MPIWGTemplate(ZopePageTemplate):
           
         """change form"""          """change form"""
   
     def isActive(self):      def isActiveItem(self):
         """teste ob ausgewaehlt"""          """teste ob ausgewaehlt"""
         if self.absolute_url()==self.REQUEST['URL']:          if self.absolute_url()==self.REQUEST['URL']:
             return "aktiv"              return "aktiv"
Line 237  class MPIWGRoot(ZSQLExtendFolder): Line 244  class MPIWGRoot(ZSQLExtendFolder):
     fieldLabels={'WEB_title':'WEB_Title','xdata_01':'Responsible Scientists','xdata_02':'Department',      fieldLabels={'WEB_title':'WEB_Title','xdata_01':'Responsible Scientists','xdata_02':'Department',
              'xdata_03':'Historical Persons','xdata_04':'Time period',               'xdata_03':'Historical Persons','xdata_04':'Time period',
              'xdata_05':'Sorting number','xdata_06':'Keywords','xdata_07':'Short title',               'xdata_05':'Sorting number','xdata_06':'Keywords','xdata_07':'Short title',
              'xdata_08':'Other involved scholars' ,'xdata_09':'Part of','xdata_10':'Covered by',               'xdata_08':'Other involved scholars' ,'xdata_09':'Disciplines','xdata_10':'Themes',
              'xdata_11':'Object Digitallibrary','xdata_12':'Cooperation partners',               'xdata_11':'Object Digitallibrary','xdata_12':'Cooperation partners',
              'xdata_13':'Funding institutions','WEB_project_header':'WEB_project_header',               'xdata_13':'Funding institutions','WEB_project_header':'WEB_project_header',
              'WEB_project_description':'WEB_project_description','WEB_related_pub':'WEB_related_pub'}               'WEB_project_description':'WEB_project_description','WEB_related_pub':'WEB_related_pub'}
Line 245  class MPIWGRoot(ZSQLExtendFolder): Line 252  class MPIWGRoot(ZSQLExtendFolder):
     folders=['MPIWGProject','Folder','ECHO_Navigation']      folders=['MPIWGProject','Folder','ECHO_Navigation']
     meta_type='MPIWGRoot'      meta_type='MPIWGRoot'
   
       def versionHeaderEN(self):
           """version header text"""
           
           date= self.REQUEST.get('date',None)
           if date:
               txt="""<h2>This pages shows the project which existed at %s</h2>"""%str(date)
               return txt
           return ""
   
       def versionHeaderDE(self):
           """version header text"""
           date= self.REQUEST.get('date',None)
           if date:
               txt="""<h2>Auf dieser Seite finden Sie die Projekte mit Stand vom %s</h2>"""%str(date)
           return ""
       
       def queryLink(self,link):
           """append querystring to the link"""
           return "%s?%s"%(link,self.REQUEST.get('QUERY_STRING',''))
   
     def getKategory(self,url):      def getKategory(self,url):
     """kategorie"""      """kategorie"""
     splitted=url.split("/")      splitted=url.split("/")
Line 252  class MPIWGRoot(ZSQLExtendFolder): Line 279  class MPIWGRoot(ZSQLExtendFolder):
   
     def generateUrlProject(self,url,project=None):      def generateUrlProject(self,url,project=None):
         """erzeuge aus absoluter url, relative des Projektes"""          """erzeuge aus absoluter url, relative des Projektes"""
       if project:
         splitted=url.split("/")          splitted=url.split("/")
         length=len(splitted)          length=len(splitted)
         short=splitted[length-2:length]          short=splitted[length-2:length]
     if project:              
             base=self.REQUEST['URL3']+"/"+"/".join(short)              base=self.REQUEST['URL3']+"/"+"/".join(short)
   
     else:      else:
         base=self.REQUEST['URL1']+"/"+"/".join(short)              findPart=url.find("/projects/")
               base=self.REQUEST['URL1']+"/"+url[findPart:]
   
                   
         return base          return base
           
     def isNewCapital(self,text=None,reset=None):      def isNewCapital(self,text=None,reset=None):
Line 273  class MPIWGRoot(ZSQLExtendFolder): Line 304  class MPIWGRoot(ZSQLExtendFolder):
             else:              else:
                 return False                  return False
                   
     def subNav(self,id):      def subNav(self,obj):
         """return subnav elemente"""          """return subnav elemente"""
         def sortWeight(x,y):          def sortWeight(x,y):
             x1=int(getattr(x[1],'weight','0'))              x1=int(getattr(x[1],'weight','0'))
             y1=int(getattr(y[1],'weight','0'))              y1=int(getattr(y[1],'weight','0'))
             return cmp(x1,y1)              return cmp(x1,y1)
         if hasattr(self,id):          #if obj.meta_type in ['MPIWGTemplate','MPIWGLink']:
             subs=self.ZopeFind(getattr(self,id),obj_metatypes=['MPIWGTemplate','MPIWGLink'])          #    id=obj.aq_parent.getId()
           #else:
   
           #id=obj.getId()
   
           
           #suche die zweite ebene
           if not obj.aq_parent.getId() in ['de','en']:
               obj=obj.aq_parent
               
           while not self.ZopeFind(self,obj_ids=[obj.getId()]):
               obj=obj.aq_parent
           
           if hasattr(self,obj.getId()):
               
               subs=self.ZopeFind(getattr(self,obj.getId()),obj_metatypes=['MPIWGTemplate','MPIWGLink'])
             subret=[]              subret=[]
   
             for x in subs:              for x in subs:
                 if not(x[1].title==""):                  if not(x[1].title==""):
                     subret.append(x)                      subret.append(x)
Line 289  class MPIWGRoot(ZSQLExtendFolder): Line 336  class MPIWGRoot(ZSQLExtendFolder):
             return subret              return subret
         else:          else:
             return None              return None
   
     def isActive(self,name):      def isActive(self,name):
         """teste ob subnavigation aktiv"""          """teste ob subnavigation aktiv"""
         for part in self.REQUEST['URL'].split("/"):          for part in self.REQUEST['URL'].split("/"):
Line 493  class MPIWGRoot(ZSQLExtendFolder): Line 541  class MPIWGRoot(ZSQLExtendFolder):
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editHistoricalPersonsForm')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','editHistoricalPersonsForm')).__of__(self)
         return pt()          return pt()
   
     def getProjectsByFieldContent(self,fieldName,fieldContentsEntry):      def getProjectsByFieldContent(self,fieldName,fieldContentsEntry, date=None):
         """gib alle Projekte aus mit Value von field mit fieldName enthält ein Element der Liste fieldContents"""          """gib alle Projekte aus mit Value von field mit fieldName enthält ein Element der Liste fieldContents"""
         def sort(x,y):          def sort(x,y):
         return cmp(x.WEB_title[0],y.WEB_title[0])          return cmp(x.WEB_title[0],y.WEB_title[0])
Line 508  class MPIWGRoot(ZSQLExtendFolder): Line 556  class MPIWGRoot(ZSQLExtendFolder):
             fieldContents.append(" AND ".join(x.split()))              fieldContents.append(" AND ".join(x.split()))
         projects=self.ProjectCatalog({fieldName:string.join(fieldContents,' AND')})          projects=self.ProjectCatalog({fieldName:string.join(fieldContents,' AND')})
         #print projects          #print projects
     ret=[x for x in projects]      #ret=[x for x in projects]
           ret=[]
           for x in projects:
               obj=x.getObject()
               obj=obj.getActualVersion(date)
               if obj and (not getattr(obj,'invisible',None)):
                   #if not (x in ret):
                       ret.append(x)
   
     ret.sort(sort)      ret.sort(sort)
         return ret          return ret
   
Line 541  class MPIWGRoot(ZSQLExtendFolder): Line 597  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):      def getContexts(self,childs=None,parents=None,depth=None,date=None):
         """childs alle childs, alle parents"""          """childs alle childs, alle parents"""
         ret=[]          ret=[]
           
         if parents:          if parents:
             splitted=parents.split(".")              splitted=parents.split(".")
             parentId=string.join(splitted[0:len(splitted)-1],".")              parentId=string.join(splitted[0:len(splitted)-1],".")
                   
             for project in self.getProjectFields('xdata_05',sort='int'):              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 childs:          if childs:
             for project in self.getProjectFields('xdata_05',sort='int'):              for project in self.getProjectFields('xdata_05',sort='int',date=date):
                 searchStr=childs+"(\..*)"                  searchStr=childs+"(\..*)"
                 if re.match(searchStr,project[1]):                  if re.match(searchStr,project[1]):
                                           
Line 566  class MPIWGRoot(ZSQLExtendFolder): Line 623  class MPIWGRoot(ZSQLExtendFolder):
                         ret.append(project)                          ret.append(project)
         return ret          return ret
           
     def getProjectFields(self,fieldName,actual="yes",folder=None,sort=None):      def getProjectFields(self,fieldName,date=None,folder=None,sort=None):
         """getListofFieldNames"""          """getListofFieldNames"""
         ret=[]          ret=[]
           
Line 575  class MPIWGRoot(ZSQLExtendFolder): Line 632  class MPIWGRoot(ZSQLExtendFolder):
                                   
         for object in objects:          for object in objects:
             obj=object[1]              obj=object[1]
                           obj=obj.getActualVersion(date)
             if (not getattr(obj,'invisible',None)) and (obj.isActual()):              if obj and (not getattr(obj,'invisible',None)):
                 if fieldName=="WEB_title_or_short":                  if fieldName=="WEB_title_or_short":
   
                     if len(obj.getContent('xdata_07'))<3: # hack weil z.Z. manchmal noch ein Trennzeichen ; oder , im Feld statt leer                      if len(obj.getContent('xdata_07'))<3: # hack weil z.Z. manchmal noch ein Trennzeichen ; oder , im Feld statt leer
Line 599  class MPIWGRoot(ZSQLExtendFolder): Line 656  class MPIWGRoot(ZSQLExtendFolder):
     def showNewProjects(self):      def showNewProjects(self):
         projects=[]          projects=[]
         for objs in self.getProjectFields('WEB_title_or_short'): # Get all Projets          for objs in self.getProjectFields('WEB_title_or_short'): # Get all Projets
             if objs[0].xdata_05[0] == "":              if objs[0].xdata_05 and (objs[0].xdata_05[0] == ""):
                                   
                 projects.append(objs)                  projects.append(objs)
                                   
Line 713  class MPIWGRoot(ZSQLExtendFolder): Line 770  class MPIWGRoot(ZSQLExtendFolder):
             return entry              return entry
   
   
     def getTree(self):      def getTree(self,date=None):
         """generate Tree from project list"""          """generate Tree from project list"""
   
         returnList=[]          returnList=[]
         for project in self.getProjectFields('xdata_05',sort="int"): # get Projects sorted by xdata_05          for project in self.getProjectFields('xdata_05',sort="int",date=date): # get Projects sorted by xdata_05
   
             for idNr in project[1].split(";"): # more than one number              for idNr in project[1].split(";"): # more than one number
                 if not idNr=="":                  if not idNr=="":
Line 779  class MPIWGRoot(ZSQLExtendFolder): Line 837  class MPIWGRoot(ZSQLExtendFolder):
                 department=element[3].getContent('xdata_05')                  department=element[3].getContent('xdata_05')
                 ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department])                  ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department])
   
               if self.REQUEST.has_key('date'):
                   ret+="""<a href="%s?date=%s">%s</a>"""%(self.generateUrlProject(element[3].absolute_url())+"/index.html",self.REQUEST['date'],element[3].getContent('WEB_title'))
               else:
             ret+="""<a href="%s">%s</a>"""%(self.generateUrlProject(element[3].absolute_url())+"/index.html",element[3].getContent('WEB_title'))              ret+="""<a href="%s">%s</a>"""%(self.generateUrlProject(element[3].absolute_url())+"/index.html",element[3].getContent('WEB_title'))
         return ret          return ret
           
Line 840  class MPIWGRoot(ZSQLExtendFolder): Line 901  class MPIWGRoot(ZSQLExtendFolder):
   
                   
         for idNr in form.keys():          for idNr in form.keys():
               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()
                   
   
         if RESPONSE is not None:          if RESPONSE is not None:
Line 921  class MPIWGRoot(ZSQLExtendFolder): Line 983  class MPIWGRoot(ZSQLExtendFolder):
                     ret.append("%s"%person)                      ret.append("%s"%person)
         return string.join(ret,";")          return string.join(ret,";")
                                                     
     def getProjectsOfMembers(self):      def getProjectsOfMembers(self,date=None):
         """give tuple member /projects"""          """give tuple member /projects"""
         ret=[]          ret=[]
         members=self.getAllMembers()          members=self.getAllMembers()
         #return str(members)          #return str(members)
         for x in members:          for x in members:
             ret+=self.getProjectsOfMember(name=x)              ret+=self.getProjectsOfMember(name=x,date=date)
                           
         return ret          return ret
   
     def getProjectsOfMember(self,name=None,email=None):      def getProjectsOfMember(self,name=None,email=None,date=None):
         """get project of a member"""          """get project of a member"""
         def sortP(x,y):          def sortP(x,y):
             """sort by sorting number"""              """sort by sorting number"""
Line 960  class MPIWGRoot(ZSQLExtendFolder): Line 1022  class MPIWGRoot(ZSQLExtendFolder):
         if proj:          if proj:
             proj2=[]              proj2=[]
             for x in proj:              for x in proj:
                   if (not getattr(x.getObject(),'invisible',None)) and (getattr(x.getObject(),'archiveTime','')==''):
                 if not getattr(x.getObject(),'invisible',None):  
                     if not((splitted[1]==" Christoph") and (splitted[0]=="Hoffmann") and (str(x.WEB_title).find('Einstein')>0)):                      if not((splitted[1]==" Christoph") and (splitted[0]=="Hoffmann") and (str(x.WEB_title).find('Einstein')>0)):
                        proj2.append(x)                         proj2.append(x)
   
Line 973  class MPIWGRoot(ZSQLExtendFolder): Line 1034  class MPIWGRoot(ZSQLExtendFolder):
             names=[x.WEB_title for x in proj]              names=[x.WEB_title for x in proj]
             for x in proj:              for x in proj:
   
                 if not x.WEB_title in names:                  if (not x.WEB_title in names) and (getattr(x.getObject(),'archiveTime','')==''):
                     proj2.append(x)                      proj2.append(x)
   
   
Line 1078  def manage_addMPIWGRoot(self,id,title,co Line 1139  def manage_addMPIWGRoot(self,id,title,co
   
 class MPIWGProject(CatalogAware,Folder):  class MPIWGProject(CatalogAware,Folder):
     """Class for Projects"""      """Class for Projects"""
       security=ClassSecurityInfo()
     meta_type='MPIWGProject'      meta_type='MPIWGProject'
     default_catalog='ProjectCatalog'      default_catalog='ProjectCatalog'
           
Line 1097  class MPIWGProject(CatalogAware,Folder): Line 1158  class MPIWGProject(CatalogAware,Folder):
             return retTXT%(s,s)              return retTXT%(s,s)
         else:          else:
             return ""              return ""
   
       def getActualVersion(self,date=None):
           """actuelle version"""
           def sortProjectsByTime(x,y):
               return cmp(x[1].archiveTime,y[1].archiveTime)
   
           if not date:
               if self.isActual():
                   return self
               else:
                   return None
   
           #suche ob aeltere versionen vorhanden sind
   
           finds=self.ZopeFind(self,obj_metatypes=['MPIWGProject'])
           if not finds: #wenn nicht dann teste ob die aktuelle version schon existiert hat.
               ad=getattr(self,'creationTime','20050101000000')
               if int(date)>int(ad):
                   return self
               else:
                   return None
   
   
           else:
               finds.sort(sortProjectsByTime)
   
           for find in finds:
               #gehe durch die alten Projekte und finde das entprechende
               if (int(find[1].archiveTime) > int(date)) and (int(date)>int(getattr(find[1],'creationTime','20050101000000'))):
                   return find[1]
   
           #kein passendes gefunden, dann teste ob das aktuelle in frage kommt
           ad=getattr(self,'creationTime','20050101000000')
           
           if int(date)>int(ad):
           
               return self
           else:
               return None
             
           
     def isActual(self):      def isActual(self):
         """gibt 1 zurueck wenn aktuell, 0 sonst"""          """gibt 1 zurueck wenn aktuell, 0 sonst"""
         actualTime=time.localtime()          actualTime=time.localtime()
Line 1173  class MPIWGProject(CatalogAware,Folder): Line 1275  class MPIWGProject(CatalogAware,Folder):
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
                           
     def __init__(self, id, argv=None):      def __init__(self, id, argv=None):
         """initieriere classe"""          """initiere classe"""
                   
           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
         if argv:          if argv:
Line 1204  class MPIWGProject(CatalogAware,Folder): Line 1307  class MPIWGProject(CatalogAware,Folder):
         def sortProjectsByTime(x,y):          def sortProjectsByTime(x,y):
             return cmp(x[1].archiveTime,y[1].archiveTime)              return cmp(x[1].archiveTime,y[1].archiveTime)
                   
           #suche ob aeltere versionen vorhanden sind
   
         finds=self.ZopeFind(self,obj_metatypes=['MPIWGProject'])          finds=self.ZopeFind(self,obj_metatypes=['MPIWGProject'])
         if not finds:          if not finds: #wenn nicht dann teste ob die aktuelle version schon existiert hat.
             return self.absolute_url()              ad=getattr(self,'creationTime','20050101000000')
               if int(date)>int(ad):
                   return self.REQUEST['URL1']+"/"+self.getId()
               else:
                   return self.REQUEST['URL1']+"/no_project"
   
   
         else:          else:
             finds.sort(sortProjectsByTime)              finds.sort(sortProjectsByTime)
   
         for find in finds:          for find in finds:
             if int(find[1].archiveTime) > int(date):              #gehe durch die alten Projekte und finde das entprechende
                 return find[1].absolute_url()              if (int(find[1].archiveTime) > int(date)) and (int(date)>int(getattr(find[1],'creationTime','20050101000000'))):
                   return self.REQUEST['URL1']+"/"+find[1].getId()
   
         return self.absolute_url()          #kein passendes gefunden, dann teste ob das aktuelle in frage kommt
           ad=getattr(self,'creationTime','20050101000000')
                   
           if int(date)>int(ad):
                           
               return self.REQUEST['URL1']+"/"+self.getId()
           else:
               return self.REQUEST['URL1']+"/no_project"
                           
     def index_html(self):  
         """show homepage"""  
                   
       def no_project(self):
           """warnung: project noch nicht existent"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','no_project')).__of__(self)
           return pt()
       
       def index_html(self,request=True,context=None):
           """show homepage"""
           if not context:
               context=self
           if request:
         if self.REQUEST.has_key('date') and self.REQUEST.SESSION.get('MPI_redirected',None)==None:          if self.REQUEST.has_key('date') and self.REQUEST.SESSION.get('MPI_redirected',None)==None:
             self.REQUEST.SESSION['MPI_redirected']=1              self.REQUEST.SESSION['MPI_redirected']=1
             self.REQUEST.RESPONSE.redirect(self.checkDate(self.REQUEST['date']))                  self.REQUEST.RESPONSE.redirect(self.checkDate(self.REQUEST['date'])+"?date="+self.REQUEST['date'])
         else:          else:
             self.REQUEST.SESSION['MPI_redirected']=None              self.REQUEST.SESSION['MPI_redirected']=None
                   
     ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"])      #ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"])
           ext=getattr(self,"project_main",None)
         if ext:          if ext:
             return getattr(self,ext[0][1].getId())()              return getattr(self,ext.getId())()
   
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','project_main')).__of__(context)    
   
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','project_main')).__of__(self)  
         return pt()          return pt()
   
           
Line 1339  class MPIWGProject(CatalogAware,Folder): Line 1465  class MPIWGProject(CatalogAware,Folder):
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_index.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_index.zpt')).__of__(self)
         return pt()          return pt()
   
       def saveFromPreview(self):
           """save content aus preview"""
           self.WEB_project_description=self.previewTemplate.WEB_project_description[0:]
           self.REQUEST.RESPONSE.redirect("./index.html")
           
       def saveEditedContent(self,kupu=None,preview=None):
           """save Edited content"""
   
           kupu=preview
           #find content of body tags
           start=kupu.find("<body>")
           end=kupu.find("</body>")
           newcontent= kupu[start+6:end]
   
           if preview:
               return self.preview(newcontent)
   
           self.WEB_project_description=newcontent[0:]
   
           self.REQUEST.RESPONSE.redirect("./edit")
           
           return True
   
       security.declareProtected('View managment screens','edit')
       def edit(self):
           """Edit pages"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self)
           return pt()
   
       def preview(self,description):
           """preview"""
           tmpPro=getattr(self,"previewTemplate",None)
           if not tmpPro:
               tmpPro=MPIWGProject("previewTemplate")
               self._setObject("previewTemplate",tmpPro)
           for field in definedFields:
               setattr(tmpPro,field,getattr(self,field))
           tmpPro.WEB_project_description=description[0:]
           
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self)
           return pt()
   
           #return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"/previewTemplate")
           
   
       def getWebProject_description(self):
           """get description"""
           
           if type(self.WEB_project_description) is ListType:
               return "<html><body>Hello"+self.WEB_project_description[0]+"</body></html>"
           else:
               return self.WEB_project_description
           
           
     def editMPIWGProjectForm(self):      def editMPIWGProjectForm(self):
         """editform"""          """editform"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProject.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProject.zpt')).__of__(self)
         return pt()          return pt()
   
     def editMPIWGProject(self,RESPONSE=None):      
       def editMPIWGProject(self,RESPONSE=None,fromEdit=None):
         """edit the project and archive the old version"""          """edit the project and archive the old version"""
                   
         self.copyObjectToArchive() # archive the object          self.copyObjectToArchive() # archive the object
Line 1355  class MPIWGProject(CatalogAware,Folder): Line 1536  class MPIWGProject(CatalogAware,Folder):
                                   
                 setattr(self,x,[self.REQUEST[x].decode('utf-8')])                  setattr(self,x,[self.REQUEST[x].decode('utf-8')])
   
           if fromEdit and (RESPONSE is not None):
               RESPONSE.redirect('./editMPIWGBasisEditor')
   
                   else:
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
   
   
       security.declareProtected('View managment screens','editMPIWGDisciplinesThemesEditor')
       def editMPIWGDisciplinesThemesEditor(self):
           """edit from edit"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGDisciplinesThemesNeu.zpt')).__of__(self)
           return pt()
           
       
     def editMPIWGDisciplinesThemesForm(self):      def editMPIWGDisciplinesThemesForm(self):
         """edit the disciplines and themes Form"""          """edit the disciplines and themes Form"""
        
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGDisciplinesThemes.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGDisciplinesThemes.zpt')).__of__(self)
         return pt()          return pt()
   
     def editMPIWGDisciplinesThemes(self,disciplines=None,themes=None,RESPONSE=None):      def editMPIWGDisciplinesThemes(self,disciplines=None,themes=None,RESPONSE=None,fromEdit=None):
         """edit disciplin and form"""          """edit disciplin and form"""
         if disciplines:          if disciplines:
             if type(disciplines) is StringType:              if type(disciplines) is StringType:
Line 1382  class MPIWGProject(CatalogAware,Folder): Line 1575  class MPIWGProject(CatalogAware,Folder):
         else:          else:
             self.xdata_10=""              self.xdata_10=""
                           
           if fromEdit and (RESPONSE is not None):
               RESPONSE.redirect('./editMPIWGDisciplinesThemesEditor')
   
           else:
         if RESPONSE is not None:          if RESPONSE is not None:
             RESPONSE.redirect('manage_main')              RESPONSE.redirect('manage_main')
   
Line 1402  class MPIWGProject(CatalogAware,Folder): Line 1599  class MPIWGProject(CatalogAware,Folder):
                 return 1                  return 1
         return 0          return 0
           
       security.declareProtected('View management screens','editMPIWGBasisEditor')
       def editMPIWGBasisEditor(self):
           """editform"""
           pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasisNeu.zpt')).__of__(self)
           return pt()
   
       
     def editMPIWGBasisForm(self):      def editMPIWGBasisForm(self):
         """editform"""          """editform"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasis.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasis.zpt')).__of__(self)
         return pt()          return pt()
   
       
     def editMPIWGRelatedPublicationsForm(self):      def editMPIWGRelatedPublicationsForm(self):
         """Edit related Publications"""          """Edit related Publications"""
         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGRelatedPublications.zpt')).__of__(self)          pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGRelatedPublications.zpt')).__of__(self)

Removed from v.1.47.2.15  
changed lines
  Added in v.1.47.2.21


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