Annotation of MPIWGWeb/MPIWGStaff.py, revision 1.6
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:
! 14: if ext:
! 15: return getattr(self,ext[0][1].getId())
! 16:
! 17: pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self)
! 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.6 ! casties 43: pt=getTemplate(self, "publications_full")
1.3 dwinter 44: return pt()
45:
46: def talks_full(self):
47: """show talks"""
1.6 ! casties 48: pt=getTemplate(self, 'talks_full')
1.3 dwinter 49: return pt()
50:
51: def teaching_full(self):
52: """show talks"""
1.6 ! casties 53: pt=getTemplate(self, 'teaching_full')
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>