Annotation of MPIWGWeb/MPIWGStaff.py, revision 1.10.2.1
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'},
1.10.2.1! dwinter 33: {'label':'Change Publications Special','action':'changePublications_specialForm'},
1.6 casties 34: )
35:
1.1 dwinter 36: def __init__(self,id, lastName,firstName):
37: """init"""
38: self.id=id
39: self.title="%s, %s"%(lastName,firstName)
40: self.lastName=lastName
41: self.firstName=firstName
42:
1.10.2.1! dwinter 43:
1.1 dwinter 44: def index_html(self):
1.3 dwinter 45: """show homepage"""
1.6 casties 46: pt = getTemplate(self, "members_main")
1.3 dwinter 47: return pt()
1.1 dwinter 48:
1.10.2.1! dwinter 49: def changePublications_specialForm(self):
! 50: """Priority publications manual field"""
! 51: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changePublications_special.zpt')).__of__(self)
! 52: return pt()
! 53:
! 54: def changePublications_special(self,usePublicationsSpecial=None,specialPublicationsField=None,RESPONSE=None):
! 55: """change publications special params"""
! 56: if usePublicationsSpecial:
! 57: self.usePublicationsSpecial=True
! 58:
! 59: else:
! 60: self.usePublicationsSpecial=False
! 61:
! 62: self.specialPublicationsField=specialPublicationsField[0:]
! 63:
! 64: if RESPONSE is not None:
! 65: RESPONSE.redirect('manage_main')
! 66:
! 67:
1.3 dwinter 68: def publications_full(self):
69: """show publication"""
1.7 casties 70: pt=getTemplate(self, "publications_full_main")
1.3 dwinter 71: return pt()
72:
73: def talks_full(self):
74: """show talks"""
1.7 casties 75: pt=getTemplate(self, 'talks_full_main')
1.3 dwinter 76: return pt()
77:
78: def teaching_full(self):
79: """show talks"""
1.7 casties 80: pt=getTemplate(self, 'teaching_full_main')
1.3 dwinter 81: return pt()
82:
1.1 dwinter 83: def changeMPIWGStaffForm(self):
84: """change form"""
1.10 dwinter 85: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
1.1 dwinter 86: return pt()
87:
1.2 dwinter 88: def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
1.1 dwinter 89: """change it"""
1.2 dwinter 90: self.title="%s, %s"%(lastName,firstName)
1.1 dwinter 91: self.lastName=lastName
92: self.firstName=firstName
1.2 dwinter 93:
94: if RESPONSE is not None:
95: RESPONSE.redirect('manage_main')
96:
1.1 dwinter 97:
98:
99: def manage_addMPIWGStaffForm(self):
100: """form for adding the project"""
1.10 dwinter 101: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self)
1.1 dwinter 102: return pt()
103:
104: def manage_addMPIWGStaff(self,id,lastName,firstName,RESPONSE=None):
105: """add it"""
106: newObj=MPIWGStaff(id,lastName,firstName)
107:
108: self._setObject(id,newObj)
109:
110:
111: if RESPONSE is not None:
112: RESPONSE.redirect('manage_main')
113:
114:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>