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, 10 months ago) by dwinter
Branches: r2
free field for publication added

"""This file contains the classes for the organization of the staff"""
from OFS.Folder import Folder
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.PageTemplates.PageTemplate import PageTemplate
from Products.ZCatalog.CatalogPathAwareness import CatalogAware
import os
from Globals import package_home


def getTemplate(self, tpName):
    """get a template file either form the instance or from the product"""
    ext=self.ZopeFind(self.aq_parent,obj_ids=[tpName])
    if ext:
        pt = getattr(self,ext[0][1].getId())
    else:
        pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/'+tpName)).__of__(self)
    assert(pt)
    return pt

class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
    """Staff"""

    meta_type="MPIWGStaff"
    default_catalog='MembersCatalog'
    
    def PrincipiaSearchSource(self):
        """Return cataloguable key for ourselves."""
        return str(self)

    manage_options = Folder.manage_options+(
        {'label':'Edit','action':'changeMPIWGStaffForm'},
        {'label':'Change Publications Special','action':'changePublications_specialForm'},
        )
    
    def __init__(self,id, lastName,firstName):
        """init"""
        self.id=id
        self.title="%s, %s"%(lastName,firstName)
        self.lastName=lastName
        self.firstName=firstName


    def index_html(self):
        """show homepage"""
        pt = getTemplate(self, "members_main")
        return pt()

    def changePublications_specialForm(self):
	"""Priority publications manual field"""
	pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changePublications_special.zpt')).__of__(self)
        return pt()
	
    def changePublications_special(self,usePublicationsSpecial=None,specialPublicationsField=None,RESPONSE=None):
	"""change publications special params"""
	if usePublicationsSpecial:
          self.usePublicationsSpecial=True
	 
 	else:
	  self.usePublicationsSpecial=False

	self.specialPublicationsField=specialPublicationsField[0:]

        if RESPONSE is not None:
            RESPONSE.redirect('manage_main')

	
    def publications_full(self):
        """show publication"""
        pt=getTemplate(self, "publications_full_main")
        return pt()

    def talks_full(self):
        """show talks"""
        pt=getTemplate(self, 'talks_full_main')
        return pt()

    def teaching_full(self):
        """show talks"""
        pt=getTemplate(self, 'teaching_full_main')
        return pt()
    
    def changeMPIWGStaffForm(self):
        """change form"""
        pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
        return pt()

    def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
        """change it"""
        self.title="%s, %s"%(lastName,firstName)
        self.lastName=lastName
        self.firstName=firstName

        if RESPONSE is not None:
            RESPONSE.redirect('manage_main')

    

def manage_addMPIWGStaffForm(self):
    """form for adding the project"""
    pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self)
    return pt()

def manage_addMPIWGStaff(self,id,lastName,firstName,RESPONSE=None):
    """add it"""
    newObj=MPIWGStaff(id,lastName,firstName)

    self._setObject(id,newObj)


    if RESPONSE is not None:
        RESPONSE.redirect('manage_main')

    

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