Annotation of MPIWGWeb/MPIWGStaff.py, revision 1.9
1.1 dwinter 1: """This file contains the classes for the organization of the staff"""
2: from OFS.Folder import Folder
1.3 dwinter 3: from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
1.1 dwinter 4: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
5: from Products.PageTemplates.PageTemplate import PageTemplate
1.9 ! dwinter 6: from Products.ZCatalog.CatalogPathAwareness import CatalogAware
1.6 casties 7: import os
8: from Globals import package_home
9:
10:
11: def getTemplate(self, tpName):
12: """get a template file either form the instance or from the product"""
13: ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])
14: if ext:
1.7 casties 15: pt = getattr(self,ext[0][1].getId())
16: else:
17: pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self)
18: assert(pt)
1.6 casties 19: return pt
1.1 dwinter 20:
1.9 ! dwinter 21: class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
1.1 dwinter 22: """Staff"""
23:
24: meta_type="MPIWGStaff"
1.9 ! dwinter 25: default_catalog='MembersCatalog'
! 26:
! 27: def PrincipiaSearchSource(self):
! 28: """Return cataloguable key for ourselves."""
! 29: return str(self)
1.1 dwinter 30:
1.6 casties 31: manage_options = Folder.manage_options+(
32: {'label':'Edit','action':'changeMPIWGStaffForm'},
33: )
34:
1.1 dwinter 35: def __init__(self,id, lastName,firstName):
36: """init"""
37: self.id=id
38: self.title="%s, %s"%(lastName,firstName)
39: self.lastName=lastName
40: self.firstName=firstName
41:
42: def index_html(self):
1.3 dwinter 43: """show homepage"""
1.6 casties 44: pt = getTemplate(self, "members_main")
1.3 dwinter 45: return pt()
1.1 dwinter 46:
1.3 dwinter 47: def publications_full(self):
48: """show publication"""
1.7 casties 49: pt=getTemplate(self, "publications_full_main")
1.3 dwinter 50: return pt()
51:
52: def talks_full(self):
53: """show talks"""
1.7 casties 54: pt=getTemplate(self, 'talks_full_main')
1.3 dwinter 55: return pt()
56:
57: def teaching_full(self):
58: """show talks"""
1.7 casties 59: pt=getTemplate(self, 'teaching_full_main')
1.3 dwinter 60: return pt()
61:
1.1 dwinter 62: def changeMPIWGStaffForm(self):
63: """change form"""
64: pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self)
65: return pt()
66:
1.2 dwinter 67: def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
1.1 dwinter 68: """change it"""
1.2 dwinter 69: self.title="%s, %s"%(lastName,firstName)
1.1 dwinter 70: self.lastName=lastName
71: self.firstName=firstName
1.2 dwinter 72:
73: if RESPONSE is not None:
74: RESPONSE.redirect('manage_main')
75:
1.1 dwinter 76:
77:
78: def manage_addMPIWGStaffForm(self):
79: """form for adding the project"""
80: pt=PageTemplateFile('Products/MPIWGWeb/zpt/addMPIWGStaffForm.zpt').__of__(self)
81: return pt()
82:
83: def manage_addMPIWGStaff(self,id,lastName,firstName,RESPONSE=None):
84: """add it"""
85: newObj=MPIWGStaff(id,lastName,firstName)
86:
87: self._setObject(id,newObj)
88:
89:
90: if RESPONSE is not None:
91: RESPONSE.redirect('manage_main')
92:
93:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>