--- MPIWGWeb/MPIWGStaff.py 2004/06/28 18:47:14 1.2 +++ MPIWGWeb/MPIWGStaff.py 2005/04/25 17:21:48 1.10 @@ -1,14 +1,37 @@ """This file contains the classes for the organization of the staff""" - from OFS.Folder import Folder +from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate +from Products.ZCatalog.CatalogPathAwareness import CatalogAware +import os +from Globals import package_home + + +def getTemplate(self, tpName): + """get a template file either form the instance or from the product""" + ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName]) + if ext: + pt = getattr(self,ext[0][1].getId()) + else: + pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self) + assert(pt) + return pt -class MPIWGStaff(Folder): +class MPIWGStaff(CatalogAware,ZSQLExtendFolder): """Staff""" meta_type="MPIWGStaff" + default_catalog='MembersCatalog' + + def PrincipiaSearchSource(self): + """Return cataloguable key for ourselves.""" + return str(self) + manage_options = Folder.manage_options+( + {'label':'Edit','action':'changeMPIWGStaffForm'}, + ) + def __init__(self,id, lastName,firstName): """init""" self.id=id @@ -16,17 +39,29 @@ class MPIWGStaff(Folder): self.lastName=lastName self.firstName=firstName - manage_options = Folder.manage_options+( - {'label':'Edit','action':'changeMPIWGStaffForm'}, - ) def index_html(self): - """show homepage, presently only a redirect""" - red="http://www.mpiwg-berlin.mpg.de/members/"+self.getId() - return self.REQUEST.RESPONSE.redirect(red) + """show homepage""" + pt = getTemplate(self, "members_main") + return pt() + + def publications_full(self): + """show publication""" + pt=getTemplate(self, "publications_full_main") + return pt() + def talks_full(self): + """show talks""" + pt=getTemplate(self, 'talks_full_main') + return pt() + + def teaching_full(self): + """show talks""" + pt=getTemplate(self, 'teaching_full_main') + return pt() + def changeMPIWGStaffForm(self): """change form""" - pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self) return pt() def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None): @@ -42,7 +77,7 @@ class MPIWGStaff(Folder): def manage_addMPIWGStaffForm(self): """form for adding the project""" - pt=PageTemplateFile('Products/MPIWGWeb/zpt/addMPIWGStaffForm.zpt').__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self) return pt() def manage_addMPIWGStaff(self,id,lastName,firstName,RESPONSE=None):