--- MPIWGWeb/MPIWGStaff.py 2008/08/28 18:20:09 1.10.2.53 +++ MPIWGWeb/MPIWGStaff.py 2008/09/07 17:13:32 1.10.2.58 @@ -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") @@ -558,18 +589,18 @@ class MPIWGStaff(CatalogAware,ZSQLExtend ret="" founds=self.ZSQLInlineSearch(_table='research_interest',key_main=person.key) if founds: - ret="Research interests:

" + ret="

Research interests:


" for found in self.sortPriority(founds): ret+=found.interest+"
" if (person.current_work) and (not person.current_work==""): - ret="Current work:

" + ret+="

Current work:


" ret+=person.current_work+"
" - - ret+="
" - ret+=self.formatAscii(person.cv) + if (person.cv) and (not person.cv==""): + ret+="

Curriculum Vitae:


" + ret+=self.formatAscii(person.cv) return ret security.declareProtected('View management screens','editDownloads') @@ -693,7 +724,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.sortingMode=sortingMode if RESPONSE and REQUEST: - REQUEST.self.redirect(RESPONSE,REQUEST['HTTP_REFERER']) + self.redirect(RESPONSE,REQUEST['HTTP_REFERER']) return True @@ -720,6 +751,7 @@ class MPIWGStaff(CatalogAware,ZSQLExtend self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER']) + security.declareProtected('View management screens','addPublications') def addPublications(self,submit=None,REQUEST=None,noredirect=None,RESPONSE=None): """add publications""" @@ -834,12 +866,12 @@ class MPIWGStaff(CatalogAware,ZSQLExtend tmp.sort(sort) return tmp - def deleteField(self,table,oid): + def deleteField(self,table,oid,RESPONSE=None): """delete entry""" query="DELETE FROM %s WHERE oid = '%s'"%(table,oid) self.ZSQLQuery(query) - self.REQUEST.self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER']) + self.redirect(RESPONSE,self.REQUEST['HTTP_REFERER']) def manage_addMPIWGStaffForm(self):