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