This repository has been archived on 2023-02-21. You can view files and clone it, but cannot push or open issues or pull requests.
tabellio.pfbviews/tabellio/pfbviews/commission.py

49 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
from Products.Five import BrowserView
from themis.fields.vocabs import cmp_person
class View(BrowserView):
def presidence_polgroups(self):
return [self.context.president.to_object.polgroup.to_object]
def presidence_members(self, polgroup):
return [self.context.president.to_object]
def list_polgroups(self, list):
d = {}
polgroups = {}
for member in list:
polgroup = member.to_object.polgroup.to_object
polgroup_id = polgroup.id
polgroups[polgroup.id] = polgroup
if not polgroup_id in d:
d[polgroup_id] = 0
d[polgroup_id] = d[polgroup_id] + 1
items = d.items()
items.sort(lambda x,y: cmp(x[1], y[1]))
items.reverse()
return [polgroups.get(x[0]) for x in items]
def vicepresidence_polgroups(self):
return self.list_polgroups(self.context.vicepresidents)
def vicepresidence_members(self, polgroup):
return sorted([x.to_object for x in self.context.vicepresidents
if x.to_object.polgroup.to_object == polgroup], cmp_person)
def members_polgroups(self):
return self.list_polgroups(self.context.members)
def members_members(self, polgroup):
return sorted([x.to_object for x in self.context.members
if x.to_object.polgroup.to_object == polgroup], cmp_person)
def substitutes_polgroups(self):
return self.list_polgroups(self.context.substitutes)
def substitutes_members(self, polgroup):
return sorted([x.to_object for x in self.context.substitutes
if x.to_object.polgroup.to_object == polgroup], cmp_person)