version 1.47.2.32, 2005/10/14 16:41:27
|
version 1.47.2.54, 2006/07/14 09:14:17
|
Line 4 for organizing and maintaining the diffe
|
Line 4 for organizing and maintaining the diffe
|
""" |
""" |
#TODO: mechanismus fur links to personen ueberarbeiten, da jetzt alle e_mails als members auftauchen unabhaengig vom status publish_the_data |
#TODO: mechanismus fur links to personen ueberarbeiten, da jetzt alle e_mails als members auftauchen unabhaengig vom status publish_the_data |
#TODO: was passiert wenn aenderungen von jochen im filemaker nicht mit den aenderungen im sql uebereinstimmen |
#TODO: was passiert wenn aenderungen von jochen im filemaker nicht mit den aenderungen im sql uebereinstimmen |
|
#TODO: in einzelnen projecte steht als pfad auf die bilder noch wwwneu statt www |
|
|
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplate import PageTemplate |
from Products.PageTemplates.PageTemplate import PageTemplate |
Line 269 class MPIWGRoot(ZSQLExtendFolder):
|
Line 270 class MPIWGRoot(ZSQLExtendFolder):
|
folders=['MPIWGProject','Folder','ECHO_Navigation'] |
folders=['MPIWGProject','Folder','ECHO_Navigation'] |
meta_type='MPIWGRoot' |
meta_type='MPIWGRoot' |
|
|
|
def decode(self,str): |
|
"""decoder""" |
|
if not str: |
|
return "" |
|
if type(str) is StringType: |
|
try: |
|
return str.decode('utf-8') |
|
except: |
|
return str.decode('latin-1') |
|
else: |
|
|
|
return str |
|
|
def versionHeaderEN(self): |
def versionHeaderEN(self): |
"""version header text""" |
"""version header text""" |
|
|
Line 633 class MPIWGRoot(ZSQLExtendFolder):
|
Line 647 class MPIWGRoot(ZSQLExtendFolder):
|
"""test""" |
"""test""" |
return self.getProjectsByFieldContent('xdata_09',['biology'])[0].absolute_url |
return self.getProjectsByFieldContent('xdata_09',['biology'])[0].absolute_url |
|
|
def getContexts(self,childs=None,parents=None,depth=None,date=None): |
def getContexts(self,childs=None,parents=None,depth=None,date=None,onlyActive=True): |
"""childs alle childs, alle parents""" |
"""childs alle childs, alle parents""" |
ret=[] |
ret=[] |
|
|
Line 648 class MPIWGRoot(ZSQLExtendFolder):
|
Line 662 class MPIWGRoot(ZSQLExtendFolder):
|
if childs: |
if childs: |
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
for project in self.getProjectFields('xdata_05',sort='int',date=date): |
searchStr=childs+"(\..*)" |
searchStr=childs+"(\..*)" |
|
|
|
if (onlyActive and project[0].isActiveProject()) or (not onlyActive): |
if re.match(searchStr,project[1]): |
if re.match(searchStr,project[1]): |
|
|
if depth: |
if depth: |
Line 761 class MPIWGRoot(ZSQLExtendFolder):
|
Line 777 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
def updateHomepages(self,RESPONSE=None): |
def updateHomepages(self,RESPONSE=None): |
""" update""" |
""" update""" |
#FIXME: seite wird hinter apache mehrfach ausgefŸhrt |
|
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.setHeader('Content-type', 'text/html') |
RESPONSE.write("<html><body>\n") |
RESPONSE.write("<html><body>\n") |
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=10000&-findall" |
RESPONSE.write("Update Institutsbibliography\n") |
|
ret=self.upDateSQL('personalwww.xml') |
|
RESPONSE.write("done Insitutsbibliography:%s\n"%ret) |
|
url="http://itgroup.mpiwg-berlin.mpg.de:8050/FMPro?-db=personal-www&-format=-dso_xml&-lay=sql_export&-max=20000&-findall" |
dom = NonvalidatingReader.parseUri(url) |
dom = NonvalidatingReader.parseUri(url) |
#fh=urllib.urlopen(url) |
#fh=urllib.urlopen(url) |
#dom=xml.dom.minidom.parse(fh) |
#dom=xml.dom.minidom.parse(fh) |
|
|
RESPONSE.write("got_xml_File\n") |
RESPONSE.write("got_xml_File\n") |
|
|
|
|
Line 786 class MPIWGRoot(ZSQLExtendFolder):
|
Line 806 class MPIWGRoot(ZSQLExtendFolder):
|
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
name=getTextFromNode(row.xpath('./dn:Name',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
vorname=getTextFromNode(row.xpath('./dn:Vorname',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
title=getTextFromNode(row.xpath('./dn:Title',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
position=getTextFromNode(row.xpath('./dn:Position',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail=getTextFromNode(row.xpath('./dn:e_mail',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail_p=getTextFromNode(row.xpath('./dn:e_mail_p',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
date_from=getTextFromNode(row.xpath('./dn:Date_from',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
Line 795 class MPIWGRoot(ZSQLExtendFolder):
|
Line 816 class MPIWGRoot(ZSQLExtendFolder):
|
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
funded_by=getTextFromNode(row.xpath('./dn:funded_by',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
e_mail2=getTextFromNode(row.xpath('./dn:e_mail2',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
publish_the_data=getTextFromNode(row.xpath('./dn:publish_the_data',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
|
stay_at_mpiwg=getTextFromNode(row.xpath('./dn:stay_at_mpiwg',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0]) |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
#cwNode=row.xpath('./dn:current_work.current',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'})[0] |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
cw=row.xpath('./dn:current_work/dn:DATA',explicitNss={'dn':'http://www.filemaker.com/fmpdsoresult'}) |
if cw: |
if cw: |
Line 821 class MPIWGRoot(ZSQLExtendFolder):
|
Line 842 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
RESPONSE.write("<p>new:%s</p>\n"%username.encode('utf-8')) |
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
ret=obj.createNewDBEntry(publish_the_data,id,name, |
vorname,username,title,e_mail, |
vorname,username,title,position,e_mail, |
e_mail_p,date_from,date_to, |
e_mail_p,date_from,date_to, |
abteilung,heimat_inst,funded_by, |
abteilung,heimat_inst,funded_by, |
e_mail2,txt,txt_p) |
e_mail2,txt,txt_p,stay_at_mpiwg) |
RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8')) |
RESPONSE.write("""<p>%s</p>"""%ret[1].encode('utf-8')) |
except: |
except: |
RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8'))) |
RESPONSE.write("<p>ERROR:%s %s %s</p>\n"%(username.encode('utf-8'),name.encode('utf-8'),vorname.encode('utf-8'))) |
Line 848 class MPIWGRoot(ZSQLExtendFolder):
|
Line 869 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
obj=getattr(memberFolder,username) |
obj=getattr(memberFolder,username) |
|
|
obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
done= obj.updateDBEntry(DBid=id,publish_the_data=publish_the_data, |
date_from=date_from, |
date_from=date_from, |
date_to=date_to) |
date_to=date_to,stay_at_mpiwg=stay_at_mpiwg,position=position,abteilung=abteilung) |
|
if not done and (publish_the_data=='yes'): |
|
|
|
ret=obj.createNewDBEntry(publish_the_data,id,name, |
|
vorname,username,title,position,e_mail, |
|
e_mail_p,date_from,date_to, |
|
abteilung,heimat_inst,funded_by, |
|
e_mail2,txt,txt_p,stay_at_mpiwg) |
|
if not ret[0]: |
|
|
self.reindexCatalogs(RESPONSE) |
RESPONSE.write("<p>Error: %s</p>\n"%repr(ret[1])) |
|
else: |
|
RESPONSE.write("<p>New: %s</p>\n"%repr(ret[1])) |
|
|
self.updatePublicationDB() |
#TODO: reindexCatlogs and updatePublications wieder einbaue |
|
#self.reindexCatalogs(RESPONSE) |
|
|
RESPONSE.write("<h2>Done</h2></body></html>") |
#self.updatePublicationDB() |
|
|
|
#self.ZSQLResetConnection() |
|
RESPONSE.write("<h2>Done</h2></body></html>") |
|
|
|
return True |
|
|
def reindexCatalogs(self,RESPONSE=None): |
def reindexCatalogs(self,RESPONSE=None): |
"""reindex members and project catalog""" |
"""reindex members and project catalog""" |
Line 873 class MPIWGRoot(ZSQLExtendFolder):
|
Line 908 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
|
|
|
|
|
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
Line 917 class MPIWGRoot(ZSQLExtendFolder):
|
Line 953 class MPIWGRoot(ZSQLExtendFolder):
|
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |
|
|
|
|
|
# def getAllMembers(self,reset=None): |
|
# """give list of all members""" |
|
# ret=[] |
|
# |
|
# |
|
# if reset or (getattr(self,'_v_membersList',None) is None): |
|
# for member in self.members._objects: |
|
# if member['meta_type']=='MPIWGStaff': |
|
# memberObj=getattr(self.members,member['id']) |
|
# if memberObj.isPublished(): |
|
# ret.append(memberObj.title.decode('utf-8')) |
|
# |
|
# ret.sort() |
|
# self._v_membersList=ret[0:] |
|
# print ret |
|
# |
|
# return self._v_membersList |
|
|
def getAllMembers(self): |
def getAllMembers(self): |
"""give list of all members""" |
#ret=[] |
ret=[] |
|
|
|
#for x in self.members.objectValues('MPIWGStaff'): |
results=self.MembersCatalog({'isPublished':True}) |
#print x.title |
|
# ret.append(x.title.decode('utf-8')) |
|
|
|
for x in self.ZopeFind(self.members,obj_metatypes=['MPIWGStaff']): |
|
if x[1].isPublished(): |
|
ret.append(x[1].title.decode('utf-8')) |
|
|
|
ret.sort() |
ret=[", ".join([proj.lastName, proj.firstName]).decode('utf-8') for proj in results] |
#print ret |
|
|
|
|
ret.sort() |
return ret |
return ret |
|
|
def printAllMembers(self): |
def printAllMembers(self): |
"""prin""" |
"""print""" |
members=self.getAllMembers() |
members=self.getAllMembers() |
ret="" |
ret="" |
for x in members: |
for x in members: |
Line 951 class MPIWGRoot(ZSQLExtendFolder):
|
Line 997 class MPIWGRoot(ZSQLExtendFolder):
|
return entry |
return entry |
|
|
|
|
def getTree(self,date=None): |
def getTree(self,date=None,onlyActive=None): |
"""generate Tree from project list""" |
"""generate Tree from project list""" |
|
|
returnList=[] |
returnList=[] |
Line 965 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1011 class MPIWGRoot(ZSQLExtendFolder):
|
#title=project[0].WEB_title |
#title=project[0].WEB_title |
title=[project[0].getContent('WEB_title')] |
title=[project[0].getContent('WEB_title')] |
#print title |
#print title |
if idNr[0]!="x": |
|
returnList.append((depth,nr,title,project[0])) |
|
|
|
|
if idNr[0]=="x": # kompatibilitŠt mit alter Konvention, x vor der Nummer macht project inactive |
|
project[0].setActiveFlag(False) |
|
|
|
if onlyActive and project[0].isActiveProject(): #nur active projekte |
|
returnList.append((depth,nr,title,project[0])) |
|
elif not onlyActive: |
|
returnList.append((depth,nr,title,project[0])) |
return returnList |
return returnList |
|
|
def formatElementsAsList(self,elements): |
def formatElementsAsList(self,elements): |
Line 1014 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1065 class MPIWGRoot(ZSQLExtendFolder):
|
ret+="""<li>\n""" |
ret+="""<li>\n""" |
|
|
if actualDepth==1: |
if actualDepth==1: |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group'} |
departmentName={'1':'Department I','2':'Department II','3':'Department III', '4':'Ind. Research Group','5':'Ind. Research Group','6':'Ind. Research Group','7':'Research Network'} |
department=element[3].getContent('xdata_05') |
department=element[3].getContent('xdata_05') |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
ret+="""<a href="#top"><img src="../grafik/totop.gif" vspace="10" border="0"></a><br><a name="dept%s"></a>%s: """%(department,departmentName[department]) |
|
|
Line 1032 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1083 class MPIWGRoot(ZSQLExtendFolder):
|
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group I: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
if element[3].getContent('xdata_05') == "5": |
if element[3].getContent('xdata_05') == "5": |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Ind. Research Group II: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
if element[3].getContent('xdata_05') == "6": |
|
return """<h2 class="hier"><a href="%s">Research Network "History of Scientific Objects": %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('WEB_title')) |
|
|
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
return """<h2 class="hier"><a href="%s">Department %s: %s</a></h2>"""%(element[3].absolute_url()+"/index.html",element[3].getContent('xdata_05'),element[3].getContent('WEB_title')) |
|
|
Line 1082 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1135 class MPIWGRoot(ZSQLExtendFolder):
|
|
|
|
|
for idNr in form.keys(): |
for idNr in form.keys(): |
|
|
|
splitted=idNr.split('_') |
|
|
|
if len(splitted)==1: # name des Feldes = idNr, dann Aendere id_nr |
if not (fields[int(idNr)][3].xdata_05==form[idNr]): |
if not (fields[int(idNr)][3].xdata_05==form[idNr]): |
fields[int(idNr)][3].xdata_05=form[idNr] |
fields[int(idNr)][3].xdata_05=form[idNr] |
fields[int(idNr)][3].copyObjectToArchive() |
fields[int(idNr)][3].copyObjectToArchive() |
|
|
|
if form.has_key(idNr+'_active'): # active flag is set |
|
|
|
fields[int(splitted[0])][3].setActiveFlag(True) |
|
else: |
|
|
|
fields[int(splitted[0])][3].setActiveFlag(False) |
|
|
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('showTree') |
RESPONSE.redirect('showTree') |
Line 1168 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1231 class MPIWGRoot(ZSQLExtendFolder):
|
"""give tuple member /projects""" |
"""give tuple member /projects""" |
ret=[] |
ret=[] |
members=self.getAllMembers() |
members=self.getAllMembers() |
|
|
#return str(members) |
#return str(members) |
for x in members: |
for x in members: |
|
|
ret+=self.getProjectsOfMember(name=x,date=date) |
ret+=self.getProjectsOfMember(name=x,date=date) |
|
|
return ret |
return ret |
Line 1237 class MPIWGRoot(ZSQLExtendFolder):
|
Line 1302 class MPIWGRoot(ZSQLExtendFolder):
|
if splittedNew[0]=='': |
if splittedNew[0]=='': |
del splittedNew[0] |
del splittedNew[0] |
search=string.join(splittedNew,' AND ') |
search=string.join(splittedNew,' AND ') |
|
|
if not search=='': |
if not search=='': |
proj=self.MembersCatalog({'title':search}) |
proj=self.MembersCatalog({'title':search}) |
|
|
Line 1396 class MPIWGProject(CatalogAware,Folder):
|
Line 1462 class MPIWGProject(CatalogAware,Folder):
|
|
|
def copyImageToMargin(self,RESPONSE=None): |
def copyImageToMargin(self,RESPONSE=None): |
"""copy inline images to marginal images""" |
"""copy inline images to marginal images""" |
self.getContent('WEB_project_description',filter='yes') |
|
|
|
filename=self.imageURL.split("/")[-1] |
|
|
#getImages from WEB_project_description |
|
description=self.getContent('WEB_project_description') |
|
|
|
text2=description |
|
splitted=text2.split("""<p class="picture">""") |
|
|
|
imageURLs=[] |
|
imageCaptions=[] |
|
for split in splitted[1:]: |
|
tmp=split.split("</p>") |
|
#return repr(splitted[1]) |
|
try: |
|
imageURLs.append(tmp[0].split("\"")[1].encode('utf-8')) |
|
except: |
|
imageURLs.append(tmp[0].split("src=")[1].split(" ")[0].encode('utf-8')) |
|
|
|
split2="</p>".join(tmp[1:]) |
|
|
|
|
|
splitted=split2.split("""<p class="picturetitle">""") |
|
if len(splitted)>1: |
|
tmp=splitted[1].split("</p>") |
|
imageCaptions.append(tmp[0].encode('utf-8')) |
|
|
|
|
|
else: |
|
#keine caption |
|
|
|
imageCaptions.append("") |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#eintragen: |
|
for imageURL in imageURLs: |
|
filename=imageURL.split("/")[-1] |
#lege neues images object an, mit leerem bild |
#lege neues images object an, mit leerem bild |
|
|
if self.ZopeFind(self,obj_ids=[filename]): |
if self.ZopeFind(self,obj_ids=[filename]): |
#existiert das bild schon, dann neueun filenamen |
#existiert das bild schon, dann neuen filenamen |
filename="project_image_"+filename |
filename="project_image_"+filename |
|
|
self.addImage(None,self.imagecap,filename=filename) |
self.addImage(None,imageCaptions[imageURLs.index(imageURL)],filename=filename) |
#hole die bilddaten aus der url |
#hole die bilddaten aus der url |
data=urllib.urlopen(self.absolute_url()+"/"+self.imageURL).read() |
url=self.absolute_url()+"/"+imageURL |
|
#url=self.absolute_url()+"/"+filename |
|
|
|
try:#relative url |
|
data=urllib.urlopen(url).read() |
|
except: |
|
try:#absolute |
|
data=urllib.urlopen(self.imageURL).read() |
|
except: |
|
zLOG.LOG("MPIWG Project",zLOG.ERROR,"can't open: %s"%url) |
|
|
obj=getattr(self,filename) |
obj=getattr(self,filename) |
obj.update_data(data) |
obj.update_data(data) |
Line 1537 class MPIWGProject(CatalogAware,Folder):
|
Line 1650 class MPIWGProject(CatalogAware,Folder):
|
if RESPONSE: |
if RESPONSE: |
RESPONSE.redirect('manageImages') |
RESPONSE.redirect('manageImages') |
|
|
|
|
|
def hasChildren(self,date=None,onlyActive=True): |
|
"""check if project has children""" |
|
ct=self.getContexts(childs=self.getContent('xdata_05'), |
|
depth=1,date=date,onlyActive=onlyActive) |
|
|
|
if ct and len(ct)>0: |
|
return True |
|
else: |
|
return False |
|
|
def addImage(self,fileHd,caption,RESPONSE=None,filename=None): |
def addImage(self,fileHd,caption,RESPONSE=None,filename=None): |
"""add an MPIWG_Project_image""" |
"""add an MPIWG_Project_image""" |
|
|
Line 1694 class MPIWGProject(CatalogAware,Folder):
|
Line 1818 class MPIWGProject(CatalogAware,Folder):
|
self.creationTime=time.strftime("%Y%m%d%H%M%S",time.localtime())[0:] |
self.creationTime=time.strftime("%Y%m%d%H%M%S",time.localtime())[0:] |
self.id=id |
self.id=id |
self.title=id |
self.title=id |
|
self.isActiveFlag=True #Flag is true is the project is still active, False if accomplished |
|
|
if argv: |
if argv: |
for arg in definedFields: |
for arg in definedFields: |
try: |
try: |
Line 1714 class MPIWGProject(CatalogAware,Folder):
|
Line 1840 class MPIWGProject(CatalogAware,Folder):
|
) |
) |
|
|
|
|
|
def isActiveProject(self): |
|
"""check if the project is still active, default is true, set to false is the project is accomplished""" |
|
return getattr(self,'isActiveFlag',True) |
|
|
|
def setActiveFlag(self,status=True): |
|
"""set the active flag""" |
|
self.isActiveFlag=status |
|
|
def checkDate(self,date): |
def checkDate(self,date): |
"""teste ob zum Zeitpunkt date eine andere version existierte""" |
"""teste ob zum Zeitpunkt date eine andere version existierte""" |
|
|
Line 1905 class MPIWGProject(CatalogAware,Folder):
|
Line 2039 class MPIWGProject(CatalogAware,Folder):
|
|
|
return True |
return True |
|
|
security.declareProtected('View managment screens','edit') |
security.declareProtected('View management screens','edit') |
def edit(self,western=None): |
def edit(self,western=None): |
"""Edit pages""" |
"""Edit pages""" |
if western: |
if western: |
Line 1915 class MPIWGProject(CatalogAware,Folder):
|
Line 2049 class MPIWGProject(CatalogAware,Folder):
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGProjectNeu.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
edit_MPIWGProject_main = PageTemplateFile('zpt/edit_MPIWGProject_main', globals()) |
|
|
|
def getPathStyle(self, path, selected, style=""): |
|
"""returns a string with the given style + 'sel' if path == selected.""" |
|
|
|
if path == selected: |
|
return style + 'sel' |
|
else: |
|
return style |
|
|
def preview(self,description): |
def preview(self,description): |
"""preview""" |
"""preview""" |
tmpPro=getattr(self,"previewTemplate",None) |
tmpPro=getattr(self,"previewTemplate",None) |
Line 1924 class MPIWGProject(CatalogAware,Folder):
|
Line 2068 class MPIWGProject(CatalogAware,Folder):
|
for field in definedFields: |
for field in definedFields: |
setattr(tmpPro,field,getattr(self,field)) |
setattr(tmpPro,field,getattr(self,field)) |
tmpPro.WEB_project_description=description[0:] |
tmpPro.WEB_project_description=description[0:] |
|
tmpPro.invisible=True |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','previewFrame.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
Line 1973 class MPIWGProject(CatalogAware,Folder):
|
Line 2117 class MPIWGProject(CatalogAware,Folder):
|
|
|
setattr(self,x,[self.REQUEST[x].decode('utf-8')]) |
setattr(self,x,[self.REQUEST[x].decode('utf-8')]) |
|
|
|
if self.REQUEST.has_key('active'): |
|
self.setActiveFlag(True) |
|
else: |
|
self.setActiveFlag(False) |
if fromEdit and (RESPONSE is not None): |
if fromEdit and (RESPONSE is not None): |
RESPONSE.redirect('./editMPIWGBasisEditor') |
RESPONSE.redirect('./editMPIWGBasisEditor') |
|
|
Line 2032 class MPIWGProject(CatalogAware,Folder):
|
Line 2180 class MPIWGProject(CatalogAware,Folder):
|
splitted=[y.rstrip().lstrip() for y in splitted] |
splitted=[y.rstrip().lstrip() for y in splitted] |
|
|
for x in splitted: |
for x in splitted: |
|
x=re.sub(r"[^A-z ]","",x) |
if (not x==u'') and x in wert: |
if (not x==u'') and x in wert: |
return 1 |
return 1 |
return 0 |
return 0 |
Line 2042 class MPIWGProject(CatalogAware,Folder):
|
Line 2191 class MPIWGProject(CatalogAware,Folder):
|
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasisNeu.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasisNeu.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
security.declareProtected('View management screens','editMPIWGBasisForm') |
def editMPIWGBasisForm(self): |
def editMPIWGBasisForm(self): |
"""editform""" |
"""editform""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasis.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGBasis.zpt')).__of__(self) |
return pt() |
return pt() |
|
|
|
security.declareProtected('View management screens','editMPIWGRelatedPublicationsForm') |
def editMPIWGRelatedPublicationsForm(self): |
def editMPIWGRelatedPublicationsForm(self): |
"""Edit related Publications""" |
"""Edit related Publications""" |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGRelatedPublications.zpt')).__of__(self) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','edit_MPIWGRelatedPublications.zpt')).__of__(self) |