Mercurial > hg > MPIWGWeb
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 |