--- MPIWGWeb/MPIWGProjects.py 2005/08/15 15:22:42 1.47.2.19 +++ MPIWGWeb/MPIWGProjects.py 2005/08/30 17:07:53 1.47.2.20 @@ -252,6 +252,22 @@ class MPIWGRoot(ZSQLExtendFolder): folders=['MPIWGProject','Folder','ECHO_Navigation'] meta_type='MPIWGRoot' + def versionHeaderEN(self): + """version header text""" + + date= self.REQUEST.get('date',None) + if date: + txt="""

This pages shows the project which existed at %s

"""%str(date) + return txt + return "" + + def versionHeaderDE(self): + """version header text""" + date= self.REQUEST.get('date',None) + if date: + txt="""

Auf dieser Seite finden Sie die Projekte mit Stand vom %s

"""%str(date) + return "" + def queryLink(self,link): """append querystring to the link""" return "%s?%s"%(link,self.REQUEST.get('QUERY_STRING','')) @@ -584,7 +600,7 @@ class MPIWGRoot(ZSQLExtendFolder): def getContexts(self,childs=None,parents=None,depth=None,date=None): """childs alle childs, alle parents""" ret=[] - print "gC",date,childs + if parents: splitted=parents.split(".") parentId=string.join(splitted[0:len(splitted)-1],".") @@ -756,7 +772,7 @@ class MPIWGRoot(ZSQLExtendFolder): def getTree(self,date=None): """generate Tree from project list""" - print date + returnList=[] for project in self.getProjectFields('xdata_05',sort="int",date=date): # get Projects sorted by xdata_05 @@ -1325,22 +1341,24 @@ class MPIWGProject(CatalogAware,Folder): pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','no_project')).__of__(self) return pt() - def index_html(self): + def index_html(self,request=True,context=None): """show homepage""" - print "D",self.REQUEST.get('date','nodate') - if self.REQUEST.has_key('date') and self.REQUEST.SESSION.get('MPI_redirected',None)==None: - self.REQUEST.SESSION['MPI_redirected']=1 - print "redirect" - self.REQUEST.RESPONSE.redirect(self.checkDate(self.REQUEST['date'])+"?date="+self.REQUEST['date']) - else: - self.REQUEST.SESSION['MPI_redirected']=None + if not context: + context=self + if request: + if self.REQUEST.has_key('date') and self.REQUEST.SESSION.get('MPI_redirected',None)==None: + self.REQUEST.SESSION['MPI_redirected']=1 + self.REQUEST.RESPONSE.redirect(self.checkDate(self.REQUEST['date'])+"?date="+self.REQUEST['date']) + else: + self.REQUEST.SESSION['MPI_redirected']=None #ext=self.ZopeFind(self.aq_parent,obj_ids=["project_main"]) ext=getattr(self,"project_main",None) if ext: return getattr(self,ext.getId())() - pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','project_main')).__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','project_main')).__of__(context) + return pt() @@ -1447,12 +1465,65 @@ class MPIWGProject(CatalogAware,Folder): pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','MPIWGProject_index.zpt')).__of__(self) 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("") + end=kupu.find("") + newcontent= kupu[start+6:end] + + if preview: + return self.preview(newcontent) + + self.WEB_project_description=newcontent[0:] + + self.REQUEST.RESPONSE.redirect("./edit") + + return True + + 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 "Hello"+self.WEB_project_description[0]+"" + else: + return self.WEB_project_description + + def editMPIWGProjectForm(self): """editform""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProject.zpt')).__of__(self) return pt() - def editMPIWGProject(self,RESPONSE=None): + def editMPIWGProject(self,RESPONSE=None,fromEdit=None): """edit the project and archive the old version""" self.copyObjectToArchive() # archive the object @@ -1463,17 +1534,27 @@ class MPIWGProject(CatalogAware,Folder): setattr(self,x,[self.REQUEST[x].decode('utf-8')]) + if fromEdit and (RESPONSE is not None): + RESPONSE.redirect('./editMPIWGBasisEditor') - - if RESPONSE is not None: - RESPONSE.redirect('manage_main') + else: + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + + 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): """edit the disciplines and themes Form""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGDisciplinesThemes.zpt')).__of__(self) 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""" if disciplines: if type(disciplines) is StringType: @@ -1489,9 +1570,13 @@ class MPIWGProject(CatalogAware,Folder): self.xdata_10=string.join(themes,";") else: self.xdata_10="" - - if RESPONSE is not None: - RESPONSE.redirect('manage_main') + + if fromEdit and (RESPONSE is not None): + RESPONSE.redirect('./editMPIWGDisciplinesThemesEditor') + + else: + if RESPONSE is not None: + RESPONSE.redirect('manage_main') def isChecked(self,wert,list): @@ -1509,11 +1594,19 @@ class MPIWGProject(CatalogAware,Folder): if (not x==u'') and x in wert: return 1 return 0 + + def editMPIWGBasisEditor(self): + """editform""" + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasisNeu.zpt')).__of__(self) + return pt() + def editMPIWGBasisForm(self): """editform""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasis.zpt')).__of__(self) return pt() + + def editMPIWGRelatedPublicationsForm(self): """Edit related Publications""" pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGRelatedPublications.zpt')).__of__(self)