166 """ |
166 """ |
167 if rendervalues is not None: |
167 if rendervalues is not None: |
168 warn('[3.6] rendervalues argument is deprecated, all named arguments will be given instead', |
168 warn('[3.6] rendervalues argument is deprecated, all named arguments will be given instead', |
169 DeprecationWarning, stacklevel=2) |
169 DeprecationWarning, stacklevel=2) |
170 kwargs = rendervalues |
170 kwargs = rendervalues |
|
171 w = kwargs.pop('w', None) |
|
172 if w is None: |
|
173 warn('[3.10] you should specify "w" to form.render() named arguments', |
|
174 DeprecationWarning, stacklevel=2) |
|
175 data = [] |
|
176 w = data.append |
|
177 else: |
|
178 data = None |
171 self.build_context(formvalues) |
179 self.build_context(formvalues) |
172 if renderer is None: |
180 if renderer is None: |
173 renderer = self.default_renderer() |
181 renderer = self.default_renderer() |
174 return renderer.render(self, kwargs) |
182 renderer.render(w, self, kwargs) |
|
183 if data is not None: |
|
184 return '\n'.join(data) |
175 |
185 |
176 def default_renderer(self): |
186 def default_renderer(self): |
177 return self._cw.vreg['formrenderers'].select( |
187 return self._cw.vreg['formrenderers'].select( |
178 self.form_renderer_id, self._cw, |
188 self.form_renderer_id, self._cw, |
179 rset=self.cw_rset, row=self.cw_row, col=self.cw_col or 0) |
189 rset=self.cw_rset, row=self.cw_row, col=self.cw_col or 0) |