version 1.47.2.96, 2008/09/01 15:42:58
|
version 1.47.2.97, 2008/09/02 12:00:06
|
Line 591 class MPIWGProject(CatalogAware,Folder):
|
Line 591 class MPIWGProject(CatalogAware,Folder):
|
|
|
def setCompletedAt(self,date): |
def setCompletedAt(self,date): |
"""set the date of completion, date should be in the form DD.MM.YYYY or MM.YYYY or YYYY""" |
"""set the date of completion, date should be in the form DD.MM.YYYY or MM.YYYY or YYYY""" |
logging.info("DATE:"+repr(date)) |
#logging.info("DATE:"+repr(date)) |
transformedDate=self.transformDate(date); |
transformedDate=self.transformDate(date); |
logging.info("transformed"+repr(transformedDate)) |
#logging.info("transformed"+repr(transformedDate)) |
if transformedDate is not None: |
if transformedDate is not None: |
setattr(self,"completedAt",transformedDate) |
setattr(self,"completedAt",transformedDate) |
return True; |
return True; |
Line 602 class MPIWGProject(CatalogAware,Folder):
|
Line 602 class MPIWGProject(CatalogAware,Folder):
|
|
|
def setStartedAt(self,date): |
def setStartedAt(self,date): |
"""set the date of start, date should be in the form DD.MM.YYYY or MM.YYYY or YYYY""" |
"""set the date of start, date should be in the form DD.MM.YYYY or MM.YYYY or YYYY""" |
logging.info("DATE:"+repr(date)) |
#logging.info("DATE:"+repr(date)) |
transformedDate=self.transformDate(date); |
transformedDate=self.transformDate(date); |
logging.info("transformed"+repr(transformedDate)) |
#logging.info("transformed"+repr(transformedDate)) |
if transformedDate is not None: |
if transformedDate is not None: |
setattr(self,"startedAt",transformedDate) |
setattr(self,"startedAt",transformedDate) |
return True; |
return True; |
Line 1107 class MPIWGProject(CatalogAware,Folder):
|
Line 1107 class MPIWGProject(CatalogAware,Folder):
|
#logging.info("XXXXXXXXXXXXX"+repr(self.responsibleScientistsList)) |
#logging.info("XXXXXXXXXXXXX"+repr(self.responsibleScientistsList)) |
|
|
|
|
keys = [x[1] for x in getattr(self,"responsibleScientistsList",[])] |
keys = [unicodify(x[1]) for x in getattr(self,"responsibleScientistsList",[])] |
|
#logging.error("RESP. SCIEN:%s"%getattr(self,"responsibleScientistsList",[])) |
|
#logging.error("RESP. SCIEN:%s"%unicodify(key)) |
|
|
if key in keys: |
if unicodify(key) in keys: |
return True |
return True |
else: |
else: |
return False |
return False |
|
|
def getPersonKeyList(self): |
def getPersonKeyList(self): |
"""gibt die key Lister der beteiligten Personen zurŸck""" |
"""gibt die key Liste der beteiligten Personen zurŸck (utf8 codiert)""" |
return [x[1] for x in getattr(self,'responsibleScientistsList',[])] |
#logging.error("getPersonKeyList:%s"%getattr(self,'responsibleScientistsList',[])) |
|
try: |
|
return [utf8ify(x[1]) for x in getattr(self,'responsibleScientistsList',[])] |
|
except: |
|
return[] |
|
|
|
|
|
def myCapitalize(self,txt): |
|
"""kapitalisiere auch Namen mit -""" |
|
splitted=[x.capitalize() for x in txt.split("-")] |
|
return "-".join(splitted) |
|
|
def identifyNames(self,nameList): |
def identifyNames(self,nameList): |
"""Bekommt eine Komma oder Semikolon getrennte Liste mit Name der Form Vorname MittelName(n) Nachname |
"""Bekommt eine Komma oder Semikolon getrennte Liste mit Name der Form Vorname MittelName(n) Nachname |
und ordnet diese dann Mitarbeiter IDs zu falls es schone eine Liste gibt wird im Projekte gibt wird diese Upgedated. |
und ordnet diese dann Mitarbeiter IDs zu falls es schone eine Liste gibt wird im Projekte gibt wird diese Upgedated. |
@param nameList |
@param nameList |
""" |
""" |
nameList=nameList.replace(";",",") # falls ; als Trenner ersetze |
|
|
if nameList.find(";")>-1: # rate Trenner ist ; |
|
names=nameList.split(";") |
|
|
|
else: |
names=nameList.split(",") |
names=nameList.split(",") |
|
|
|
##nameList=nameList.replace(";",",") # falls ; als Trenner ersetze |
returnNamesDict={} |
returnNamesDict={} |
|
|
|
|
Line 1144 class MPIWGProject(CatalogAware,Folder):
|
Line 1158 class MPIWGProject(CatalogAware,Folder):
|
lastname=nameSplitted[0] |
lastname=nameSplitted[0] |
|
|
#finde Mitarbeiter mit den entsprechenden Name |
#finde Mitarbeiter mit den entsprechenden Name |
logging.info("Search: %s %s %s"%(name,firstname,lastname)) |
|
firstname=firstname.capitalize() |
firstname=self.myCapitalize(firstname).encode('utf-8') |
lastname=lastname.capitalize() |
lastname=self.myCapitalize(lastname).encode('utf-8') |
|
logging.info("Search: %s %s %s"%(name,repr(firstname),repr(lastname))) |
try: |
try: |
cataloggedNames=self.MembersCatalog(firstName=firstname,lastName=lastname) |
cataloggedNames=self.MembersCatalog({'firstName':firstname,'lastName':lastname}) |
except: |
except: |
cataloggedNames=[] |
cataloggedNames=[] |
|
logging.error("ERROR: identifyNames %s %s"%sys.exc_info()[0:2]) |
|
|
#Teste ob die ensprechenden Namen schon der Liste zu geordnet sind |
#Teste ob die ensprechenden Namen schon der Liste zu geordnet sind |
#if not hasattr(self,'responsibleScientistsList'): |
#if not hasattr(self,'responsibleScientistsList'): |
# self.responsibleScientistsList={} |
# self.responsibleScientistsList={} |
Line 1209 class MPIWGProject(CatalogAware,Folder):
|
Line 1226 class MPIWGProject(CatalogAware,Folder):
|
keys[nr]=self.REQUEST[key] |
keys[nr]=self.REQUEST[key] |
|
|
|
|
for nr in names.keys(): |
for nr in names.keys():#schreibe keys und namen in die Liste, stelle ausserdem sicher, dass name unicode |
tmpList.append((names[nr],keys.get(nr,""))) |
tmpList.append((unicodify(names[nr]),unicodify(keys.get(nr,"")))) |
|
|
self.responsibleScientistsList=tmpList |
self.responsibleScientistsList=tmpList |
if fromEdit and (RESPONSE is not None): |
if fromEdit and (RESPONSE is not None): |
#RESPONSE.redirect('./editMPIWGBasisEditor') |
#RESPONSE.redirect('./editMPIWGBasisEditor') |
return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.REQUEST.get('xdata_01',''))) |
return self.editMPIWGBasisEditor(identifiedNames=self.identifyNames(self.decode(self.REQUEST.get('xdata_01','')))) |
|
|
else: |
else: |
if RESPONSE is not None: |
if RESPONSE is not None: |
Line 1286 class MPIWGProject(CatalogAware,Folder):
|
Line 1303 class MPIWGProject(CatalogAware,Folder):
|
identifiedNames=self.identifyNames(self.getContent('xdata_01')) |
identifiedNames=self.identifyNames(self.getContent('xdata_01')) |
# identifiedNames=self.getFullNameEntries() |
# identifiedNames=self.getFullNameEntries() |
|
|
|
logging.error("IdentifiedNames: %s"% repr(identifiedNames)) |
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(identifiedNames=identifiedNames) |
return pt(identifiedNames=identifiedNames) |
|
|