def line(self, obj, label, input, help_string='', error=None): _class = self.get_class(obj) if error: _class = _class + ' error' if self.get_widget_name(obj) == 'RadioSelect': obj.build = YamlRadioSelect fs = Tag('fieldset') fs << Tag('legend', label) fs << input return fs else: div = Tag('div', _class=_class, id='div_'+obj.id) with div: if error: div.strong(error, _class="message") if self.get_widget_name(obj) == 'Checkbox': div << input div << label div << help_string else: div << label div << help_string div << input return div
def line(self, fields, n): _x = 0 for _f in fields: if isinstance(_f, string_types): _x += 1 elif isinstance(_f, dict): _x += _f.get('colspan', 1) else: raise Exception( 'Colume definition is not right, only support string or dict' ) tr = Tag('tr', newline=True) with tr: for x in fields: _span = int(n / _x) if isinstance(x, string_types): name = x elif isinstance(x, dict): name = x['name'] _span = _span * x.get('colspan', 1) f = getattr(self.form, name) obj = self.form.fields[name] #process hidden field if self.is_hidden(obj): #tr << f continue _class = self.get_class(obj) if f.error: _class = _class + ' error' with tr.td(colspan=_span, width='%d%%' % (100 * _span / n, ), valign='top'): with tr.Div(_class=_class, id='div_' + obj.id): if f.error: tr.strong(f.error, _class="message") if self.get_widget_name(obj) == 'Checkbox': tr << f tr << f.label tr << f.help_string or ' ' else: if self.label_fix: tr << f.field.get_label( _class='field label_fix') else: tr << f.label tr << f tr << f.help_string or ' ' return tr
def line(self, fields, n): _x = 0 for _f in fields: if isinstance(_f, (str, unicode)): _x += 1 elif isinstance(_f, dict): _x += _f.get('colspan', 1) else: raise Exception, 'Colume definition is not right, only support string or dict' tr = Tag('tr', newline=True) with tr: for x in fields: _span = n / _x if isinstance(x, (str, unicode)): name = x elif isinstance(x, dict): name = x['name'] _span = _span * x.get('colspan', 1) f = getattr(self.form, name) obj = self.form.fields[name] #process hidden field if self.is_hidden(obj): #tr << f continue _class = self.get_class(obj) if f.error: _class = _class + ' error' with tr.td(colspan=_span, width='%d%%' % (100*_span/n,), valign='top'): with tr.Div(_class=_class, id='div_'+obj.id): if f.error: tr.strong(f.error, _class="message") if self.get_widget_name(obj) == 'Checkbox': tr << f tr << f.label tr << f.help_string or ' ' else: if self.label_fix: tr << f.field.get_label(_class='field label_fix') else: tr << f.label tr << f tr << f.help_string or ' ' return tr
def line(self, fields, n): _x = 0 for _f in fields: if isinstance(_f, (str, unicode)): _x += 1 elif isinstance(_f, dict): _x += _f.get("colspan", 1) else: raise Exception, "Colume definition is not right, only support string or dict" tr = Tag("tr") with tr: for x in fields: _span = n / _x if isinstance(x, (str, unicode)): name = x elif isinstance(x, dict): name = x["name"] _span = _span * x.get("colspan", 1) f = getattr(self.form, name) obj = self.form.fields[name] _class = self.get_class(obj) if f.error: _class = _class + " error" with tr.td(colspan=_span, width="%d%%" % (100 * _span / n,), valign="top"): with tr.div(_class=_class, id="div_" + obj.id): if f.error: tr.strong(f.error, _class="message") if self.get_widget_name(obj) == "Checkbox": tr << f tr << f.label tr << f.help_string or " " else: if self.label_fix: tr << f.field.get_label(_class="field label_fix") else: tr << f.label tr << f tr << f.help_string or " " return tr
def do_field(self, indent, value, **kwargs): field_name = kwargs['name'] field = getattr(self.form, field_name) error = field.error obj = self.form.fields[field_name] help_string = kwargs.get('help_string', None) or field.help_string if 'label' in kwargs: label = kwargs['label'] else: label = obj.label if label: obj.label = label label_text = obj.get_label(_class='field') else: label_text = '' _class = self.get_class(obj) if error: _class = _class + ' error' if self.is_hidden(obj): return str(field) div = Tag('div', _class=_class) with div: if error: div.strong(error, _class="message") if self.get_widget_name(obj) == 'Checkbox': div << field div << label_text div << help_string else: div << label_text div << help_string div << field return indent*' ' + str(div)
def do_field(self, indent, value, **kwargs): field_name = kwargs['name'] field = getattr(self.form, field_name) error = field.error obj = self.form.fields[field_name] help_string = kwargs.get('help_string', None) or field.help_string if 'label' in kwargs: label = kwargs['label'] else: label = obj.label if label: obj.label = label label_text = obj.get_label(_class='field') else: label_text = '' _class = self.get_class(obj) if error: _class = _class + ' error' if self.is_hidden(obj): return str(field) div = Tag('div', _class=_class) with div: if error: div.strong(error, _class="message") if self.get_widget_name(obj) == 'Checkbox': div << '<label>' + str(field) + label + '</label>' # div << label_text div << help_string else: div << label_text div << help_string div << field return indent * ' ' + str(div)
def line(self, obj, label, input, help_string="", error=None): _class = self.get_class(obj) if error: _class = _class + " error" if self.get_widget_name(obj) == "RadioSelect": obj.build = YamlRadioSelect fs = Tag("fieldset") fs << input return fs else: div = Tag("div", _class=_class, id="div_" + obj.id) with div: if error: div.strong(error, _class="message") if self.get_widget_name(obj) == "Checkbox": div << input div << label div << help_string else: div << label div << help_string div << input return div