def render(self, name_prefix, data={}): tpl_vars = self.prepare_template_vars(name_prefix, data) tpl = self.get_template() obj = self.obj if not tpl: # No template supplied: use a template to glue fields together. # Prepare all additional vars needed for this kind of template. tpl = self.get_glue_template() errors = self.errors error_dict = errors if isinstance(errors, dict) else None field_qualifiers = self.get_field_qualifiers().iteritems() field_data = self.get_field_template_vars() def render_field(k, qf): f = obj.get_field(k) if not qf: qf = f.queryTaggedValue('widget-qualifier') if not qf: qf = self.context.provided_action.qualifier qa = QualAction(self.action, qualifier=qf) ef = error_dict.get(k) if error_dict else None df = field_data.get(k, {}) mf = markup_for_field(qa, f, errors=ef, name_prefix=name_prefix, data=df) return dict(field=f, markup=mf) tpl_vars['fields'] = OrderedDict( ((k, render_field(k, qf)) for k, qf in field_qualifiers)) markup = toolkit.render_snippet(tpl, tpl_vars) return markup
def render(self, name_prefix, data={}): tpl = self.get_template() tpl_vars = self.prepare_template_vars(name_prefix, data) markup = toolkit.render_snippet(tpl, tpl_vars) return markup