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>