Esempio n. 1
0
 def index(self, format='html'):
     c.delegations = model.Delegation.all(instance=c.instance)
     if format == 'dot':
         c.users = model.User.all(instance=c.instance)
         response.content_type = "text/plain"
         return render("/delegation/graph.dot")
     elif format == 'json':
         c.delegations_pager = pager.delegations(c.delegations)
         return render_json(c.delegations_pager)
     else:
         return self.not_implemented(format=format)
Esempio n. 2
0
 def index(self, format='html'):
     c.delegations = model.Delegation.all(instance=c.instance)
     if format == 'dot':
         c.users = model.User.all(instance=c.instance)
         response.content_type = "text/plain"
         return render("/delegation/graph.dot")
     elif format == 'json':
         c.delegations_pager = pager.delegations(c.delegations)
         return render_json(c.delegations_pager)
     else:
         return self.not_implemented(format=format)
Esempio n. 3
0
    def delegations(self, id, format='html'):
        c.page_user = get_entity_or_abort(model.User, id,
                                          instance_filter=False)
        require.user.show(c.page_user)
        scope_id = request.params.get('scope', None)

        if format == 'json':
            delegations = model.Delegation.find_by_principal(c.page_user)
            scope = model.Delegateable.find(scope_id) if scope_id else None
            if scope is not None:
                delegations = [d for d in delegations if d.is_match(scope)]
            delegations_pager = pager.delegations(delegations)
            return render_json(delegations_pager)

        c.dgbs = []
        if scope_id:
            c.scope = forms.ValidDelegateable().to_python(scope_id)
            c.dgbs = [c.scope] + c.scope.children
        else:
            c.dgbs = model.Delegateable.all(instance=c.instance)
        c.nodeClass = democracy.DelegationNode
        self._common_metadata(c.page_user, member='delegations')
        return render("/user/delegations.html")