1: """This file contains the classes for the organization of the staff"""
2: from OFS.Folder import Folder
3: from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
4: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
5: from Products.PageTemplates.PageTemplate import PageTemplate
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
19:
20: class MPIWGStaff(ZSQLExtendFolder):
21: """Staff"""
22:
23: meta_type="MPIWGStaff"
24:
25: manage_options = Folder.manage_options+(
26: {'label':'Edit','action':'changeMPIWGStaffForm'},
27: )
28:
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):
37: """show homepage"""
38: pt = getTemplate(self, "members_main")
39: return pt()
40:
41: def publications_full(self):
42: """show publication"""
43: pt=getTemplate(self, "publications_full")
44: return pt()
45:
46: def talks_full(self):
47: """show talks"""
48: pt=getTemplate(self, 'talks_full')
49: return pt()
50:
51: def teaching_full(self):
52: """show talks"""
53: pt=getTemplate(self, 'teaching_full')
54: return pt()
55:
56: def changeMPIWGStaffForm(self):
57: """change form"""
58: pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self)
59: return pt()
60:
61: def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
62: """change it"""
63: self.title="%s, %s"%(lastName,firstName)
64: self.lastName=lastName
65: self.firstName=firstName
66:
67: if RESPONSE is not None:
68: RESPONSE.redirect('manage_main')
69:
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>