Annotation of MPIWGWeb/MPIWGStaff.py, revision 1.10.2.1

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.9       dwinter     6: from Products.ZCatalog.CatalogPathAwareness import CatalogAware
1.6       casties     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:
1.7       casties    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)
1.6       casties    19:     return pt
1.1       dwinter    20: 
1.9       dwinter    21: class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
1.1       dwinter    22:     """Staff"""
                     23: 
                     24:     meta_type="MPIWGStaff"
1.9       dwinter    25:     default_catalog='MembersCatalog'
                     26:     
                     27:     def PrincipiaSearchSource(self):
                     28:         """Return cataloguable key for ourselves."""
                     29:         return str(self)
1.1       dwinter    30: 
1.6       casties    31:     manage_options = Folder.manage_options+(
                     32:         {'label':'Edit','action':'changeMPIWGStaffForm'},
1.10.2.1! dwinter    33:         {'label':'Change Publications Special','action':'changePublications_specialForm'},
1.6       casties    34:         )
                     35:     
1.1       dwinter    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: 
1.10.2.1! dwinter    43: 
1.1       dwinter    44:     def index_html(self):
1.3       dwinter    45:         """show homepage"""
1.6       casties    46:         pt = getTemplate(self, "members_main")
1.3       dwinter    47:         return pt()
1.1       dwinter    48: 
1.10.2.1! dwinter    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:    
1.3       dwinter    68:     def publications_full(self):
                     69:         """show publication"""
1.7       casties    70:         pt=getTemplate(self, "publications_full_main")
1.3       dwinter    71:         return pt()
                     72: 
                     73:     def talks_full(self):
                     74:         """show talks"""
1.7       casties    75:         pt=getTemplate(self, 'talks_full_main')
1.3       dwinter    76:         return pt()
                     77: 
                     78:     def teaching_full(self):
                     79:         """show talks"""
1.7       casties    80:         pt=getTemplate(self, 'teaching_full_main')
1.3       dwinter    81:         return pt()
                     82:     
1.1       dwinter    83:     def changeMPIWGStaffForm(self):
                     84:         """change form"""
1.10      dwinter    85:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGStaff.zpt')).__of__(self)
1.1       dwinter    86:         return pt()
                     87: 
1.2       dwinter    88:     def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None):
1.1       dwinter    89:         """change it"""
1.2       dwinter    90:         self.title="%s, %s"%(lastName,firstName)
1.1       dwinter    91:         self.lastName=lastName
                     92:         self.firstName=firstName
1.2       dwinter    93: 
                     94:         if RESPONSE is not None:
                     95:             RESPONSE.redirect('manage_main')
                     96: 
1.1       dwinter    97:     
                     98: 
                     99: def manage_addMPIWGStaffForm(self):
                    100:     """form for adding the project"""
1.10      dwinter   101:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','addMPIWGStaffForm.zpt')).__of__(self)
1.1       dwinter   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>