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>