Mercurial > hg > MPIWGWeb
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) |