File:  [Repository] / MPIWGWeb / MPIWGStaff.py
Revision 1.10.2.1: download - view: text, annotated - select for diffs - revision graph
Thu Jul 14 15:12:11 2005 UTC (18 years, 11 months ago) by dwinter
Branches: r2
free field for publication added

    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:         {'label':'Change Publications Special','action':'changePublications_specialForm'},
   34:         )
   35:     
   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: 
   43: 
   44:     def index_html(self):
   45:         """show homepage"""
   46:         pt = getTemplate(self, "members_main")
   47:         return pt()
   48: 
   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: 	
   68:     def publications_full(self):
   69:         """show publication"""
   70:         pt=getTemplate(self, "publications_full_main")
   71:         return pt()
   72: 
   73:     def talks_full(self):
   74:         """show talks"""
   75:         pt=getTemplate(self, 'talks_full_main')
   76:         return pt()
   77: 
   78:     def teaching_full(self):
   79:         """show talks"""
   80:         pt=getTemplate(self, 'teaching_full_main')
   81:         return pt()
   82:     
   83:     def changeMPIWGStaffForm(self):
   84:         """change form"""
   85:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
   86:         return pt()
   87: 
   88:     def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
   89:         """change it"""
   90:         self.title="%s, %s"%(lastName,firstName)
   91:         self.lastName=lastName
   92:         self.firstName=firstName
   93: 
   94:         if RESPONSE is not None:
   95:             RESPONSE.redirect('manage_main')
   96: 
   97:     
   98: 
   99: def manage_addMPIWGStaffForm(self):
  100:     """form for adding the project"""
  101:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self)
  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>