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