diff -r 7769d0f61810 -r 8391bf718485 web/component.py --- a/web/component.py Fri May 02 17:41:11 2014 +0200 +++ b/web/component.py Fri May 02 17:57:37 2014 +0200 @@ -270,7 +270,7 @@ layout_id = None # to be defined in concret class layout_args = {} - def layout_render(self, w): + def layout_render(self, w, **kwargs): getlayout = self._cw.vreg['components'].select layout = getlayout(self.layout_id, self._cw, **self.layout_select_args()) layout.render(w) @@ -331,19 +331,8 @@ title = None layout_id = 'component_layout' - # XXX support kwargs for compat with old boxes which gets the view as - # argument def render(self, w, **kwargs): - if hasattr(self, 'call'): - warn('[3.10] should not anymore implement call on %s, see new CtxComponent api' - % self.__class__, DeprecationWarning) - self.w = w - def wview(__vid, rset=None, __fallback_vid=None, **kwargs): - self._cw.view(__vid, rset, __fallback_vid, w=self.w, **kwargs) - self.wview = wview - self.call(**kwargs) # pylint: disable=E1101 - return - self.layout_render(w) + self.layout_render(w, **kwargs) def layout_select_args(self): args = super(CtxComponent, self).layout_select_args() @@ -410,19 +399,6 @@ def separator(self): return Separator() - @deprecated('[3.10] use action_link() / link()') - def box_action(self, action): # XXX action_link - return self.build_link(self._cw._(action.title), action.url()) - - @deprecated('[3.10] use action_link() / link()') - def build_link(self, title, url, **kwargs): - if self._cw.selected(url): - try: - kwargs['klass'] += ' selected' - except KeyError: - kwargs['klass'] = 'selected' - return tags.a(title, href=url, **kwargs) - class EntityCtxComponent(CtxComponent): """base class for boxes related to a single entity""" @@ -725,30 +701,3 @@ def entity_call(self, entity, view=None): raise NotImplementedError() - -class RelatedObjectsVComponent(EntityVComponent): - """a section to display some related entities""" - __select__ = EntityVComponent.__select__ & partial_has_related_entities() - - vid = 'list' - # to be defined in concrete classes - rtype = title = None - - def rql(self): - """override this method if you want to use a custom rql query""" - return None - - def cell_call(self, row, col, view=None): - rql = self.rql() - if rql is None: - entity = self.cw_rset.get_entity(row, col) - rset = entity.related(self.rtype, role(self)) - else: - eid = self.cw_rset[row][col] - rset = self._cw.execute(self.rql(), {'x': eid}) - if not rset.rowcount: - return - self.w(u'
' % self.cssclass) - self.w(u'

%s

\n' % self._cw._(self.title).capitalize()) - self.wview(self.vid, rset) - self.w(u'
')