Mercurial > hg > MPIWGWeb
diff MPIWGRoot.py @ 50:e30a4bd074db
more cleaning up projects.
author | casties |
---|---|
date | Mon, 29 Apr 2013 20:34:17 +0200 |
parents | cacba38c268c |
children | d456fe185649 |
line wrap: on
line diff
--- a/MPIWGRoot.py Mon Apr 29 18:00:46 2013 +0200 +++ b/MPIWGRoot.py Mon Apr 29 20:34:17 2013 +0200 @@ -324,35 +324,6 @@ return "" - # TODO: remove - def isActiveMember(self,key): - """tested ob Mitarbeiter key ist aktiv""" - key=utf8ify(key) - ret=getAt(self.ZSQLInlineSearch(_table='personal_www', - _op_key='eq',key=key, - _op_publish_the_data='eq', - publish_the_data='yes'), 0) - - logging.info("MPIWGROOT ACTIVE_MEMBER %s"%ret) - if ret: - return True - else: - return False - - # TODO: remove - def isActual(self,project): - """checke if project is actual""" - actualTime=time.localtime() - - if hasattr(project,'getObject'): #obj ist aus einer catalogTrefferList - obj=project.getObject() - else: - obj=project - - if getattr(obj,'archiveTime',actualTime)< actualTime: - return False - else: - return True def redirectIndex_html(self,request): #return request['URL1']+'/index_html' @@ -1143,178 +1114,7 @@ - def getProjectsOfMembers(self,date=None): - """give tuple member /projects""" - ret=[] - members=self.getAllMembers() - logging.debug("X %s"%repr(members)) - #return str(members) - for x in members: - #logging.debug("X %s"%repr(x)) - projects=self.getProjectsOfMember(key=x[1],date=date) - if len(projects)>0: - ret.append((x[0],projects)) - - return ret - - def getProjectsOfMember(self,key=None,date=None,onlyArchived=1,onlyActive=1): - """get projects of a member - - @param key: (optional) Key zur Idenfikation des Benutzer - @param date: (optional) Version die zum Zeitpunkt date gueltig war - @param onlyArchived: - onlyArchived=0: alle Projekte - onlyArchived= 1 : nur aktuelle Projekte - onlyArchived = 2: nur archivierte Projekte - """ - # TODO: Die ganze Loesung - def sortP(x,y): - """sort by sorting number""" - return cmp(x.WEB_title,y.WEB_title) - - ret=[] - if key: - logging.debug("MPIWGROOT (getProjectsOfMember):"+key) - proj=self.ProjectCatalog({'getPersonKeyList':utf8ify(key)}) - else: - return ret # key muss definiert sein - - #logging.debug("MPIWGROOT (getProjectsOfMember):"+repr(proj)) - if proj: - proj2=[] - for x in proj: - #logging.error("proj:%s"%repr(x.getPath())) - if (not getattr(x.getObject(),'invisible',None)) and (getattr(x.getObject(),'archiveTime','')==''): - proj2.append(x) - - else: - proj2=[] - - - - proj2.sort(sortP) - - projectListe=[] - #logging.error("getprojectsofmember proj2: %s"%repr(proj2)) - for proj in proj2: - obj=proj.getObject() - add=False - if onlyArchived==1: #nur aktuell projecte - if not obj.isArchivedProject(): - add=True - elif onlyArchived==2: #nur archivierte - if obj.isArchivedProject(): - add=True - else: #alle - add=True - - if onlyActive==1: #nur active projecte - if obj.isActiveProject(): - add=add & True - else: - add=add & False - - elif onlyArchived==2: #nur nicht aktvive - if not obj.isActiveProject(): - add=add & True - else: #alle - add=add & True - - if add: - projectListe.append(obj) - - #logging.error("getprojectsofmember projectliste: %s"%repr(projectListe)) - return projectListe - def givePersonList(self,name): - """check if person is in personfolder and return list of person objects""" - - splitted=name.split(",") - if len(splitted)==1: - splitted=name.lstrip().rstrip().split(" ") - splittedNew=[split.lstrip() for split in splitted] - - if splittedNew[0]=='': - del splittedNew[0] - search=string.join(splittedNew,' AND ') - - if not search=='': - proj=self.MembersCatalog({'title':search}) - - if proj: - return [[x.lastName,x.firstName] for x in proj] - else: - return [] - -## splitted=name.split(",") # version nachname, vorname... -## if len(splitted)>1: -## lastName=splitted[0] -## firstName=splitted[1] -## else: -## splitted=name.split(" ") #version vorname irgenwas nachnamae - -## lastName=splitted[len(splitted)-1] -## firstName=string.join(splitted[0:len(splitted)-1]) - -## objs=[] - - #print self.members - ## for x in self.members.__dict__: -## obj=getattr(self.members,x) -## if hasattr(obj,'lastName') and hasattr(obj,'firstName'): - -## if (re.match(".*"+obj.lastName+".*",lastName) or re.match(".*"+lastName+".*",obj.lastName)) and (re.match(".*"+obj.firstName+".*",firstName) or re.match(".*"+firstName+".*",obj.firstName)): - -## objs.append((obj,lastName+", "+firstName)) - - -## return objs - - - def personCheck(self,names): - """all persons for list""" - #print "names",names - splitted=names.split(";") - ret={} - for name in splitted: - - if not (name==""): - try: - ret[name]=self.givePersonList(name) - except: - """NOTHIHN""" - #print "RET",ret - return ret - - def giveCheckList(self,person,fieldname): - """return checklist""" - #print "GCL",fieldname - if fieldname=='xdata_01': - x=self.personCheck(person.getContent(fieldname)) - #print "GCLBACKX",x - return x - - - # TODO: do we need this here? - def isCheckField(self,fieldname): - """return chechfield""" - return (fieldname in checkFields) - - - - def sortResults(self,results): - """search the catalog and give results back sorted by meta_type""" - ret = {} - logging.debug(results()) - for result in results(): - metaType = result.meta_type - resultList= ret.get(metaType,[]) - resultList.append(result) - ret[metaType]=resultList - - logging.debug(ret) - return ret - def manage_addMPIWGRootForm(self): """form for adding the root"""