diff -r 9ae260b2d1c4 -r 31776723c0c5 web/views/startup.py --- a/web/views/startup.py Fri Jul 30 10:07:12 2010 +0200 +++ b/web/views/startup.py Fri Jul 30 10:09:31 2010 +0200 @@ -159,15 +159,14 @@ url = self._cw.build_url(etype) etypelink = u' %s (%d)' % ( xml_escape(url), label, nb) - yield (label, etypelink, self.add_entity_link(eschema, req)) + if eschema.has_perm(req, 'add'): + yield (label, etypelink, self.add_entity_link(etype)) - def add_entity_link(self, eschema, req): - """creates a [+] link for adding an entity if user has permission to do so""" - if not eschema.has_perm(req, 'add'): - return u'' + def add_entity_link(self, etype): + """creates a [+] link for adding an entity""" + url = self._cw.vreg["etypes"].etype_class(etype).cw_create_url(self._cw) return u'[+]' % ( - xml_escape(self.create_url(eschema.type)), - self._cw.__('add a %s' % eschema)) + xml_escape(url), self._cw.__('add a %s' % etype)) class IndexView(ManageView):