comparison MPIWGRoot.py @ 189:cc5198541af8

erzeugen neuer eintr?ge auf der homepage mittels updatexml
author dwinter
date Mon, 17 Jun 2013 13:48:55 +0200
parents 16d55695f1c8
children 938add25f81b
comparison
equal deleted inserted replaced
188:16d55695f1c8 189:cc5198541af8
262 self.autocommit = (autocommit == "on") 262 self.autocommit = (autocommit == "on")
263 if RESPONSE is not None: 263 if RESPONSE is not None:
264 RESPONSE.redirect('manage_main') 264 RESPONSE.redirect('manage_main')
265 265
266 266
267 # TODO: is this used? 267
268 def updatePublicationDB(self,personId=None):
269 """updates the publication db, i.e. copy year and type into the main table"""
270
271 if personId:
272 founds = self.ZSQLInlineSearch(_table="publications",key_main=personId)
273 else:
274 founds = self.ZSQLInlineSearch(_table="publications")
275
276 for found in founds:
277
278 if found.id_institutsbibliographie and (not found.id_institutsbibliographie =="") and (not found.id_institutsbibliographie =="0"):
279
280 entries = self.ZSQLInlineSearch(_table="institutsbiblio",id=found.id_institutsbibliographie)
281 for entry in entries:
282 self.ZSQLChange(_table='publications',_identify='oid=%s' % found.oid,year=entry.year,referencetype=entry.reference_type)
283
284 if found.id_gen_bib and (not found.id_gen_bib ==""):
285 entries = self.ZSQLInlineSearch(_table="bibliography",id=found.id_gen_bib)
286 for entry in entries:
287 self.ZSQLChange(_table='publications',_identify='oid=%s' % found.oid,year=entry.year,referencetype=entry.reference_type)
288
289 return True
290 268
291 def showNewDBEntries(self): 269 def showNewDBEntries(self):
292 """zeige neue Eintraege in der Datenbank ohne e-mail adressen bzw. fuer die noch kein Object angelegt wurde""" 270 """zeige neue Eintraege in der Datenbank ohne e-mail adressen bzw. fuer die noch kein Object angelegt wurde"""
293 qstr="select * from personal_www where web_object_created='no' and not key=''" 271 qstr="select * from personal_www where web_object_created='no' and not key=''"
294 res=self.ZSQLQuery(qstr) 272 res=self.members.executeZSQL(qstr)
295 273
296 pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','showNewDBEntries.zpt')).__of__(self) 274 pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','showNewDBEntries.zpt')).__of__(self)
297 return pt(newEntries=res) 275 return pt(newEntries=res)
298 276
299 def _createNewStaffObjects(self,RESPONSE): 277
300 """create new staff object"""
301 memberFolder=getattr(self,'members')
302 args=self.REQUEST.form
303 arg_k=args.keys()
304 arg_k.remove("submit")
305 ret=""
306 for key in arg_k:
307 k=self.urlUnQuote(key)
308
309 qstr="select * from personal_www where key=%s"%self.ZSQLQuote(k)
310 res=self.ZSQLQuery(qstr)[0]
311 if args[key]!="": #email-adresse wurde eingetragen
312 #create the object
313 e_mail=args[key]
314 try:
315 newObj=MPIWGStaff.MPIWGStaff(e_mail,res.last_name,res.first_name,k)
316 memberFolder._setObject(e_mail,newObj)
317 obj=getattr(memberFolder,e_mail)
318 obj.reindex_object()
319 ret+="Created %s \n"%e_mail
320 created=True
321 except:
322 msg="Cannot create new user %s (%s %s)"%(e_mail,sys.exc_info()[0],sys.exc_info()[1])
323 logging.error(msg)
324 ret+=msg+"\n"
325 created=False
326
327 if created:
328 qstr="update personal_www set web_object_created='yes',e_mail='%s@mpiwg-berlin.mpg.de' where key=%s"%(e_mail,self.ZSQLQuote(k))
329 self.ZSQLQuery(qstr)
330
331 return ret
332 278
333 279
334 def generateNewPersonEntry(self,data): 280 def generateNewPersonEntry(self,data):
335 """generate a new person entry for data, neue personen werden zunaechst nur in der datenbank angelegt """ 281 """generate a new person entry for data, neue personen werden zunaechst nur in der datenbank angelegt """
336 282
345 # 291 #
346 292
347 #create the new entry in the database 293 #create the new entry in the database
348 294
349 295
350 result,msg=MPIWGStaff.createNewDBEntry(self,data['publish_the_data'],data['key'],data['last_name'], 296 result,msg=self.members.createNewDBEntry(data['publish_the_data'],data['key'],data['last_name'],
351 data['first_name'],data['titles_new'],data['status'],"", 297 data['first_name'],data['titles_new'],data['status'],"",
352 "",data['date_from'],data['date_to'], 298 "",data['date_from'],data['date_to'],
353 data['department'],'',data['funded_by'], 299 data['department'],'',data['funded_by'],
354 data['e_mail2'],data['current_work'],"yes",data['date_stay_at_mpiwg'],data['group'],"no",data['current_work']) 300 data['e_mail2'],data['current_work'],"yes",data['date_stay_at_mpiwg'],data['group'],"no",data['current_work'])
355 301