File:  [Repository] / MPIWGWeb / MPIWGStaff.py
Revision 1.10: download - view: text, annotated - select for diffs - revision graph
Mon Apr 25 17:21:48 2005 UTC (19 years, 1 month ago) by dwinter
Branches: MAIN
CVS tags: r2, HEAD
zope2.7 comaptibilitaetsprobleme

    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: from Products.ZCatalog.CatalogPathAwareness import CatalogAware
    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:
   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)
   19:     return pt
   20: 
   21: class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
   22:     """Staff"""
   23: 
   24:     meta_type="MPIWGStaff"
   25:     default_catalog='MembersCatalog'
   26:     
   27:     def PrincipiaSearchSource(self):
   28:         """Return cataloguable key for ourselves."""
   29:         return str(self)
   30: 
   31:     manage_options = Folder.manage_options+(
   32:         {'label':'Edit','action':'changeMPIWGStaffForm'},
   33:         )
   34:     
   35:     def __init__(self,id, lastName,firstName):
   36:         """init"""
   37:         self.id=id
   38:         self.title="%s, %s"%(lastName,firstName)
   39:         self.lastName=lastName
   40:         self.firstName=firstName
   41: 
   42:     def index_html(self):
   43:         """show homepage"""
   44:         pt = getTemplate(self, "members_main")
   45:         return pt()
   46: 
   47:     def publications_full(self):
   48:         """show publication"""
   49:         pt=getTemplate(self, "publications_full_main")
   50:         return pt()
   51: 
   52:     def talks_full(self):
   53:         """show talks"""
   54:         pt=getTemplate(self, 'talks_full_main')
   55:         return pt()
   56: 
   57:     def teaching_full(self):
   58:         """show talks"""
   59:         pt=getTemplate(self, 'teaching_full_main')
   60:         return pt()
   61:     
   62:     def changeMPIWGStaffForm(self):
   63:         """change form"""
   64:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
   65:         return pt()
   66: 
   67:     def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
   68:         """change it"""
   69:         self.title="%s, %s"%(lastName,firstName)
   70:         self.lastName=lastName
   71:         self.firstName=firstName
   72: 
   73:         if RESPONSE is not None:
   74:             RESPONSE.redirect('manage_main')
   75: 
   76:     
   77: 
   78: def manage_addMPIWGStaffForm(self):
   79:     """form for adding the project"""
   80:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self)
   81:     return pt()
   82: 
   83: def manage_addMPIWGStaff(self,id,lastName,firstName,RESPONSE=None):
   84:     """add it"""
   85:     newObj=MPIWGStaff(id,lastName,firstName)
   86: 
   87:     self._setObject(id,newObj)
   88: 
   89: 
   90:     if RESPONSE is not None:
   91:         RESPONSE.redirect('manage_main')
   92: 
   93:     

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>