diff -r ab956b780d4e -r 136b5f995f8e web/component.py --- a/web/component.py Mon Dec 01 11:13:10 2014 +0100 +++ b/web/component.py Thu Mar 20 10:41:22 2014 +0100 @@ -598,27 +598,41 @@ w(self.rdef.rtype.display_name(self._cw, self.role, context=self.entity.cw_etype)) + def add_js_css(self): + self._cw.add_js(('jquery.ui.js', 'cubicweb.widgets.js')) + self._cw.add_js(('cubicweb.ajax.js', 'cubicweb.ajax.box.js')) + self._cw.add_css('jquery.ui.css') + return True + def render_body(self, w): req = self._cw entity = self.entity related = entity.related(self.rtype, self.role) if self.role == 'subject': mayadd = self.rdef.has_perm(req, 'add', fromeid=entity.eid) - maydel = self.rdef.has_perm(req, 'delete', fromeid=entity.eid) else: mayadd = self.rdef.has_perm(req, 'add', toeid=entity.eid) - maydel = self.rdef.has_perm(req, 'delete', toeid=entity.eid) - if mayadd or maydel: - req.add_js(('jquery.ui.js', 'cubicweb.widgets.js')) - req.add_js(('cubicweb.ajax.js', 'cubicweb.ajax.box.js')) - req.add_css('jquery.ui.css') + js_css_added = False + if mayadd: + js_css_added = self.add_js_css() _ = req._ if related: + maydel = None w(u'