--- MPIWGWeb/MPIWGStaff.py 2008/08/27 12:12:48 1.10.2.52
+++ MPIWGWeb/MPIWGStaff.py 2008/09/05 14:08:24 1.10.2.57
@@ -21,6 +21,9 @@ from AccessControl import ClassSecurityI
import time
import logging
import email
+import re
+
+from MPIWGHelper import *
#ersetzt logging
def logger(txt,method,txt2):
"""logging"""
@@ -53,8 +56,8 @@ def createNewDBEntry(self,publish_the_da
return False,"ERROR:key%s already exists"%key
#eintragen
- columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group" """
- insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group)
+ columnlist="""publish_the_data,key,last_name,first_name,title,status,e_mail,e_mail_p,date_from,date_to,department,home_inst,funded_by,e_mail2,date_stay_at_mpiwg,web_object_created,"group",current_work,current_work_p """
+ insertTuple=(publish_the_data,key,name,vorname,title,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by,e_mail2,stay_at_mpiwg,web_object_created,group,current_work,"yes")
insert=[]
for element in insertTuple:
@@ -69,10 +72,10 @@ def createNewDBEntry(self,publish_the_da
self.ZSQLQuery(queryStr)
logging.info("QQQQ %s:"%queryStr)
#currentwork
- if not (current_work==""):
- queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")
+ #if not (current_work==""):
+ # queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes")
- self.ZSQLQuery(queryStr)
+ # self.ZSQLQuery(queryStr)
return True,msg
class MPIWGStaff(CatalogAware,ZSQLExtendFolder):
@@ -97,12 +100,19 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
logging.error(email.Utils.formatdate()+' GMT')
RESPONSE.redirect(url+addStr%timeStamp)
+ def getKeyUTF8(self):
+ """get db_key utf8"""
+ return utf8ify(self.getKey())
+
def getKey(self):
"""get database key"""
if hasattr(self,'key'):
- return self.key.lower()
+ #logging.error("SAVED KEY:%s"%self.key)
+ return unicodify(self.key.lower())
+ #return self.key.lower()
#fuer alt faelle ohne key
+ #logging.error("NEW KEY:%s"%(self.firstName+'_'+self.lastName).lower().replace(' ',''))
return (self.firstName+'_'+self.lastName).lower().replace(' ','')
def getConnectionObj(self):#ueberschreibe connection id methode
@@ -303,11 +313,32 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
"""
return self.id
- def harvest_page(self):
+ def harvest_page_old(self,context=None):
"""geharvestete seite = verschlankte version von members_main"""
- pt = getTemplate(self, "harvest_members_main")
+ #pt = getTemplate(self, "harvest_members_main")
+
+ if not self.isPublished():
+ return ""
+ if not context:
+ context=self
+
+
+ ext=getattr(self,"harvest_members_main",None)
+ if ext:
+ return getattr(self,ext.getId())()
+
+ pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','harvest_members_main')).__of__(context)
+
+
return pt()
+ def harvest_page(self):
+ """harvest"""
+ if not self.isPublished():
+ return ""
+ return getattr(self.en.staff.members,self.getId()).index_html()
+
+
def index_html(self):
"""show homepage"""
pt = getTemplate(self, "members_main")
@@ -391,6 +422,33 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
return style
+ def getLabel(self):
+ """returns a label for this object"""
+ return self.title
+
+ def getBreadcrumbs(self):
+ """return list of breadcrumbs from here to the root"""
+ crumbs = []
+ # skip direct parent Folder /members/
+ parent = self.aq_parent.aq_parent
+ # get parents breadcrumbs
+ logging.debug("getbreadcrumbs-: title=%s self=%s parent=%s"%(self.title, repr(self), repr(parent)))
+ if hasattr(parent, 'getBreadcrumbs'):
+ logging.debug("getbreadcrumbs: recurse to %s"%parent)
+ crumbs = parent.getBreadcrumbs()
+
+ # try to get acquisition URL from parent
+ if hasattr(parent, 'absolute_url'):
+ baseUrl = "%s/%s/"%(parent.absolute_url(), 'members')
+ else:
+ baseUrl = "/en/staff/members/"
+
+ # add this
+ crumbs.append((self.getLabel(), baseUrl+self.getId(), self))
+
+ return crumbs
+
+
def changeCurrentWork(self,current_work,key,publish="yes",RESPONSE=None):
"""change current work"""
@@ -531,13 +589,13 @@ class MPIWGStaff(CatalogAware,ZSQLExtend
ret=""
founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key)
if founds:
- ret="Research interests:
"
+ ret="
Research interests:
Current work: