version 1.1, 2004/02/04 10:03:33
|
version 1.9, 2005/04/25 17:16:46
|
Line 1
|
Line 1
|
"""This file contains the classes for the organization of the staff""" |
"""This file contains the classes for the organization of the staff""" |
|
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
|
from Products.ZSQLExtend.ZSQLExtend import ZSQLExtendFolder |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplate import PageTemplate |
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(Folder): |
class MPIWGStaff(CatalogAware,ZSQLExtendFolder): |
"""Staff""" |
"""Staff""" |
|
|
meta_type="MPIWGStaff" |
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'}, |
|
) |
|
|
def __init__(self,id, lastName,firstName): |
def __init__(self,id, lastName,firstName): |
"""init""" |
"""init""" |
Line 16 class MPIWGStaff(Folder):
|
Line 39 class MPIWGStaff(Folder):
|
self.lastName=lastName |
self.lastName=lastName |
self.firstName=firstName |
self.firstName=firstName |
|
|
manage_options = Folder.manage_options+( |
|
{'label':'Edit','action':'changeMPIWGStaffForm'}, |
|
) |
|
def index_html(self): |
def index_html(self): |
"""show homepage, presently only a redirect""" |
"""show homepage""" |
red="http://www.mpiwg-berlin.mpg.de/members/"+self.getId() |
pt = getTemplate(self, "members_main") |
return self.REQUEST.RESPONSE.redirect(red) |
return pt() |
|
|
|
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): |
def changeMPIWGStaffForm(self): |
"""change form""" |
"""change form""" |
pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self) |
pt=PageTemplateFile('Products/MPIWGWeb/zpt/edit_MPIWGStaff.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def changeMPIWGStaff(self): |
def changeMPIWGStaff(self,lastName,firstName,RESPONSE=None): |
"""change it""" |
"""change it""" |
self.title="%s, %s"%(lastname,firstName) |
self.title="%s, %s"%(lastName,firstName) |
self.lastName=lastName |
self.lastName=lastName |
self.firstName=firstName |
self.firstName=firstName |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
|
|
def manage_addMPIWGStaffForm(self): |
def manage_addMPIWGStaffForm(self): |