comparison MPIWGProjects.py @ 79:7f26c8e6c8e9

more styles for project lists.
author casties
date Wed, 08 May 2013 17:03:50 +0200
parents d15cd451b5a9
children b1893c4c9d2c
comparison
equal deleted inserted replaced
78:d15cd451b5a9 79:7f26c8e6c8e9
1605 # check if active 1605 # check if active
1606 if p is not None and p.checkActive(active) and p.checkArchived(archived): 1606 if p is not None and p.checkActive(active) and p.checkArchived(archived):
1607 projects.append(p) 1607 projects.append(p)
1608 1608
1609 # sort by project number 1609 # sort by project number
1610 projects.sort(key=lambda p:[int(n) for n in p.getNumber().split('.')]) 1610 projects.sort(key=lambda p:[getInt(n) for n in p.getNumber().split('.')])
1611 return projects 1611 return projects
1612 1612
1613 1613
1614 def getMembersWithProjects(self): 1614 def getMembersWithProjects(self, onlyActive=True):
1615 """Return a list of all members that have projects. 1615 """Return a list of all members that have projects.
1616 1616
1617 Returns a list of member keys. 1617 @param onlyActive: only active members
1618
1619 Returns a list of member objects.
1618 """ 1620 """
1621 members = []
1622 sf = self.en.getStaffFolder()
1619 res = self.executeZSQL("select distinct member_key from projects_members") 1623 res = self.executeZSQL("select distinct member_key from projects_members")
1620 return [r.member_key for r in res] 1624 if onlyActive:
1625 for r in res:
1626 m = sf.getMember(key=r.member_key)
1627 if m is not None and m.isActive():
1628 members.append(m)
1629
1630 else:
1631 # not only active
1632 members = [sf.getMember(key=r.member_key) for r in res]
1633
1634 return members
1621 1635
1622 1636
1623 security.declareProtected('View management screens', 'changeProjectTree') 1637 security.declareProtected('View management screens', 'changeProjectTree')
1624 def changeProjectTree(self, RESPONSE=None): 1638 def changeProjectTree(self, RESPONSE=None):
1625 """change the complete tree""" 1639 """change the complete tree"""
1626 form=self.REQUEST.form 1640 form=self.REQUEST.form
1627 hashList={}
1628 onlyArchived=int(form.get("onlyArchived",0)) 1641 onlyArchived=int(form.get("onlyArchived",0))
1629 onlyActive=int(form.get("onlyActive",0)) 1642 onlyActive=int(form.get("onlyActive",0))
1630 dep=form.get("dep",None) 1643 dep=form.get("dep",None)
1631 1644
1632 fields = self.getProjectsAsList(start=dep, archived=onlyArchived, active=onlyActive) 1645 fields = self.getProjectsAsList(start=dep, archived=onlyArchived, active=onlyActive)