Mercurial > hg > MPIWGWeb
comparison MPIWGStaff.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 | 9a09156eee7c |
comparison
equal
deleted
inserted
replaced
188:16d55695f1c8 | 189:cc5198541af8 |
---|---|
26 # | 26 # |
27 # compatibility | 27 # compatibility |
28 # TODO: should be removed when done | 28 # TODO: should be removed when done |
29 import MPIWGStaff_old | 29 import MPIWGStaff_old |
30 | 30 |
31 createNewDBEntry = MPIWGStaff_old.createNewDBEntry | 31 #createNewDBEntry = MPIWGStaff_old.createNewDBEntry |
32 | 32 |
33 class MPIWGStaff(MPIWGStaff_old.MPIWGStaff): | 33 class MPIWGStaff(MPIWGStaff_old.MPIWGStaff): |
34 """Staff""" | 34 """Staff""" |
35 pass | 35 pass |
36 | 36 |
98 """returns if member key is active""" | 98 """returns if member key is active""" |
99 res = self.executeZSQL("select * from personal_www where lower(key) = %s and publish_the_data = 'yes'", [key.lower()]) | 99 res = self.executeZSQL("select * from personal_www where lower(key) = %s and publish_the_data = 'yes'", [key.lower()]) |
100 return len(res) > 0 | 100 return len(res) > 0 |
101 | 101 |
102 | 102 |
103 def getMemberList(self, department=None, sortBy='last_name', onlyCurrent=False, arrivedWithin=None, limit=0): | 103 def getMemberList(self, department=None, sortBy='last_name', onlyCurrent=False, arrivedWithin=None, limit=0,withEmail=True): |
104 """Return the list of members. | 104 """Return the list of members. |
105 | 105 |
106 Returns a list of MPIWGStaffMember objects. | 106 Returns a list of MPIWGStaffMember objects. |
107 """ | 107 """ |
108 members = [] | 108 members = [] |
109 query = "select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes'" | 109 |
110 if withEmail: | |
111 query = "select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes' and e_mail <> '' " | |
112 else: | |
113 query = "select * from personal_www_list where publish_the_data = 'yes' and is_scholar='yes'" | |
110 args = [] | 114 args = [] |
111 | 115 |
112 if department is not None: | 116 if department is not None: |
113 query += " and department ilike %s" | 117 query += " and department ilike %s" |
114 args.append('%%%s%%'%department) | 118 args.append('%%%s%%'%department) |
219 ret.append(olduser) | 223 ret.append(olduser) |
220 | 224 |
221 return ret,len(ret) | 225 return ret,len(ret) |
222 | 226 |
223 | 227 |
224 | 228 def createNewDBEntry(self,publish_the_data,key,name,vorname,titles_new,position,e_mail,e_mail_p,date_from,date_to,abteilung,heimat_inst,funded_by="",e_mail2="",txt="",txt_p="no",stay_at_mpiwg="",group="",web_object_created="no",current_work=""): |
229 """lege person in der datenbank an""" | |
230 | |
231 if date_to=="": # wenn date_to leer | |
232 date_to="date_none" | |
233 | |
234 if date_from=="": # wenn date_fromleer | |
235 date_from="date_none" | |
236 msg="" | |
237 #test ob id schon existiert | |
238 if self.ZSQLQuery("select key from personal_www where key='%s'"%id): | |
239 return False,"ERROR:key%s already exists"%key | |
240 | |
241 #eintragen | |
242 columnlist="""publish_the_data,key,last_name,first_name,titles_new,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 """ | |
243 insertTuple=(publish_the_data,key,name,vorname,titles_new,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") | |
244 | |
245 insert=[] | |
246 for element in insertTuple: | |
247 if element=="date_none": # date_none eintrag wird zu null uebersetzt | |
248 insert.append('null') | |
249 else: | |
250 insert.append("%s"%self.ZSQLQuote(element)) | |
251 | |
252 insertStr=",".join(insert) | |
253 queryStr="INSERT INTO personal_www (%s) VALUES (%s)"%(columnlist,insertStr) | |
254 self.ZSQLQuery("SET DATESTYLE TO 'German'") | |
255 self.ZSQLQuery(queryStr) | |
256 logging.info("createNewDBEntry %s:"%queryStr) | |
257 #currentwork | |
258 #if not (current_work==""): | |
259 # queryStr="INSERT INTO current_work (key_main,current,publish) VALUES ('%s',%s,'%s')"%(key,self.ZSQLQuote(current_work),"yes") | |
260 | |
261 # self.ZSQLQuery(queryStr) | |
262 | |
263 return True,msg | |
264 | |
265 def addEmails(self,RESPONSE): | |
266 """add emails to the members from form""" | |
267 memberFolder=getattr(self,'members') | |
268 args=self.REQUEST.form | |
269 arg_k=args.keys() | |
270 arg_k.remove("submit") | |
271 ret="<html><body>" | |
272 for key in arg_k: | |
273 k=key | |
274 | |
275 qstr="select * from personal_www where key=%s"%self.ZSQLQuote(k) | |
276 res=self.executeZSQL(qstr)[0] | |
277 if args[key]!="": #email-adresse wurde eingetragen | |
278 #create the object | |
279 e_mail=args[key] | |
280 | |
281 | |
282 qstr="update personal_www set web_object_created='yes',e_mail='%s@mpiwg-berlin.mpg.de' where key=%s"%(e_mail,self.ZSQLQuote(k)) | |
283 self.executeZSQL(qstr) | |
284 | |
285 ret+="<p>Added: %s</p>"%k | |
286 | |
287 | |
288 return ret+"</body></html>" | |
225 def manage_addMPIWGStaffFolderForm(self): | 289 def manage_addMPIWGStaffFolderForm(self): |
226 """form for adding the project""" | 290 """form for adding the project""" |
227 pt=PageTemplateFile('zpt/addMPIWGStaffFolderForm', globals()).__of__(self) | 291 pt=PageTemplateFile('zpt/addMPIWGStaffFolderForm', globals()).__of__(self) |
228 return pt() | 292 return pt() |
229 | 293 |
882 ret+="<p class=\"bio_section_header\">Curriculum Vitae: </p><br/>" | 946 ret+="<p class=\"bio_section_header\">Curriculum Vitae: </p><br/>" |
883 ret+=self.formatAscii(self.content.cv) | 947 ret+=self.formatAscii(self.content.cv) |
884 | 948 |
885 return ret | 949 return ret |
886 | 950 |
951 | |
952 | |
887 # initialize security | 953 # initialize security |
888 InitializeClass(MPIWGStaffFolder) | 954 InitializeClass(MPIWGStaffFolder) |
889 InitializeClass(MPIWGStaffMember) | 955 InitializeClass(MPIWGStaffMember) |