133 not eschema.has_local_role('read')): |
133 not eschema.has_local_role('read')): |
134 continue |
134 continue |
135 etype = eschema.type |
135 etype = eschema.type |
136 label = display_name(req, etype, 'plural') |
136 label = display_name(req, etype, 'plural') |
137 nb = req.execute('Any COUNT(X) WHERE X is %s' % etype)[0][0] |
137 nb = req.execute('Any COUNT(X) WHERE X is %s' % etype)[0][0] |
138 if nb > 1: |
138 url = self.build_url(etype) |
139 view = self.vreg.select('views', 'list', req, |
|
140 rset=req.etype_rset(etype)) |
|
141 url = view.url() |
|
142 else: |
|
143 url = self.build_url('view', rql='%s X' % etype) |
|
144 etypelink = u' <a href="%s">%s</a> (%d)' % ( |
139 etypelink = u' <a href="%s">%s</a> (%d)' % ( |
145 xml_escape(url), label, nb) |
140 xml_escape(url), label, nb) |
146 yield (label, etypelink, self.add_entity_link(eschema, req)) |
141 yield (label, etypelink, self.add_entity_link(eschema, req)) |
147 |
142 |
148 def add_entity_link(self, eschema, req): |
143 def add_entity_link(self, eschema, req): |