File:  [Repository] / MPIWGWeb / MPIWGStaff.py
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Fri Oct 1 17:55:20 2004 UTC (19 years, 8 months ago) by casties
Branches: MAIN
CVS tags: HEAD
updated templates for *_full

    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:     print "getting ", tpName
   13:     ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])
   14:     if ext:
   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)
   21:     return pt
   22: 
   23: class MPIWGStaff(ZSQLExtendFolder):
   24:     """Staff"""
   25: 
   26:     meta_type="MPIWGStaff"
   27: 
   28:     manage_options = Folder.manage_options+(
   29:         {'label':'Edit','action':'changeMPIWGStaffForm'},
   30:         )
   31:     
   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):
   40:         """show homepage"""
   41:         pt = getTemplate(self, "members_main")
   42:         return pt()
   43: 
   44:     def publications_full(self):
   45:         """show publication"""
   46:         pt=getTemplate(self, "publications_full_main")
   47:         return pt()
   48: 
   49:     def talks_full(self):
   50:         """show talks"""
   51:         pt=getTemplate(self, 'talks_full_main')
   52:         return pt()
   53: 
   54:     def teaching_full(self):
   55:         """show talks"""
   56:         pt=getTemplate(self, 'teaching_full_main')
   57:         return pt()
   58:     
   59:     def changeMPIWGStaffForm(self):
   60:         """change form"""
   61:         pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self)
   62:         return pt()
   63: 
   64:     def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
   65:         """change it"""
   66:         self.title="%s, %s"%(lastName,firstName)
   67:         self.lastName=lastName
   68:         self.firstName=firstName
   69: 
   70:         if RESPONSE is not None:
   71:             RESPONSE.redirect('manage_main')
   72: 
   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>