add commission view
This commit is contained in:
parent
ffe8801413
commit
224fad97e6
|
@ -0,0 +1,83 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"
|
||||
xmlns:tal="http://xml.zope.org/namespaces/tal"
|
||||
xmlns:metal="http://xml.zope.org/namespaces/metal"
|
||||
xmlns:i18n="http://xml.zope.org/namespaces/i18n"
|
||||
lang="fr"
|
||||
metal:use-macro="context/main_template/macros/master"
|
||||
i18n:domain="tabellio.pfbviews">
|
||||
<body>
|
||||
|
||||
<metal:main fill-slot="main">
|
||||
<tal:main-macro metal:define-macro="main">
|
||||
|
||||
<div tal:replace="structure provider:plone.abovecontenttitle" />
|
||||
<h1>Les commissions</h1>
|
||||
<div tal:replace="structure provider:plone.belowcontenttitle" />
|
||||
|
||||
<div tal:replace="structure provider:plone.abovecontentbody" />
|
||||
|
||||
<h2 metal:use-macro="context/kss_generic_macros/macros/generic_title_view">Title</h2>
|
||||
|
||||
<h3>Président(e)</h3>
|
||||
|
||||
<div class="commission-people-group" tal:repeat="polgroup view/presidence_polgroups">
|
||||
<span tal:attributes="class string:polgroup polgroup-${polgroup/getId}"
|
||||
tal:content="polgroup/Title"/>
|
||||
<ul>
|
||||
<li tal:repeat="member python: view.presidence_members(polgroup)"><a
|
||||
tal:attributes="href member/absolute_url"
|
||||
tal:content="member/Title">member</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div tal:condition="context/vicepresidents">
|
||||
<h3>Vice Président(e)s</h3>
|
||||
|
||||
<div class="commission-people-group" tal:repeat="polgroup view/vicepresidence_polgroups">
|
||||
<span tal:attributes="class string:polgroup polgroup-${polgroup/getId}"
|
||||
tal:content="polgroup/Title"/>
|
||||
<ul>
|
||||
<li tal:repeat="member python: view.vicepresidence_members(polgroup)"><a
|
||||
tal:attributes="href member/absolute_url"
|
||||
tal:content="member/Title">member</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div tal:condition="context/members">
|
||||
<h3>Membres effectifs/ves</h3>
|
||||
|
||||
<div class="commission-people-group" tal:repeat="polgroup view/members_polgroups">
|
||||
<span tal:attributes="class string:polgroup polgroup-${polgroup/getId}"
|
||||
tal:content="polgroup/Title"/>
|
||||
<ul>
|
||||
<li tal:repeat="member python: view.members_members(polgroup)"><a
|
||||
tal:attributes="href member/absolute_url"
|
||||
tal:content="member/Title">member</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div tal:condition="context/substitutes">
|
||||
<h3>Membres suppléant(e)s</h3>
|
||||
|
||||
<div class="commission-people-group" tal:repeat="polgroup view/substitutes_polgroups">
|
||||
<span tal:attributes="class string:polgroup polgroup-${polgroup/getId}"
|
||||
tal:content="polgroup/Title"/>
|
||||
<ul>
|
||||
<li tal:repeat="member python: view.substitutes_members(polgroup)"><a
|
||||
tal:attributes="href member/absolute_url"
|
||||
tal:content="member/Title">member</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div tal:replace="structure provider:plone.belowcontentbody" />
|
||||
|
||||
</tal:main-macro>
|
||||
</metal:main>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from Products.Five import BrowserView
|
||||
|
||||
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 [x.to_object for x in self.context.vicepresidents
|
||||
if x.to_object.polgroup.to_object == polgroup]
|
||||
|
||||
def members_polgroups(self):
|
||||
return self.list_polgroups(self.context.members)
|
||||
|
||||
def members_members(self, polgroup):
|
||||
return [x.to_object for x in self.context.members
|
||||
if x.to_object.polgroup.to_object == polgroup]
|
||||
|
||||
def substitutes_polgroups(self):
|
||||
return self.list_polgroups(self.context.substitutes)
|
||||
|
||||
def substitutes_members(self, polgroup):
|
||||
return [x.to_object for x in self.context.substitutes
|
||||
if x.to_object.polgroup.to_object == polgroup]
|
|
@ -17,4 +17,12 @@
|
|||
permission="zope2.View"
|
||||
/>
|
||||
|
||||
<browser:page
|
||||
for="themis.datatypes.commission.ICommission"
|
||||
name="view"
|
||||
class=".commission.View"
|
||||
template="commission.pt"
|
||||
permission="zope2.View"
|
||||
/>
|
||||
|
||||
</configure>
|
||||
|
|
Reference in New Issue