def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for name in self.fields: if name.startswith('invoice_'): fi = paper_forms.get_field_info(self.model, name, None) self.label_map[name] = '{}: {} {}'.format( _('invoice recipient'), fi.number, fi.label) elif name.startswith('sponsor_'): fi = paper_forms.get_field_info(self.model, name, None) self.label_map[name] = '{}: {} {}'.format( _('sponsor'), fi.number, fi.label)
def render(self, instance, plain=False): d = {} for name in self.get_field_names(): d[name] = self.render_field(instance, name) if not plain: return d text = u'' for field, value in d.items(): field_info = paper_forms.get_field_info(self.model, field, None) if field_info is not None: label = field_info.label else: label = field text += u'%s: %s<br />\n' % (label, value) return text
def diff(self, old, new, **kwargs): d = [] for name in self.fields: field_info = paper_forms.get_field_info(self.model, name, None) if name in self.label_map: label = self.label_map[name] elif field_info is not None: label = force_text(field_info.label) if field_info.number: label = "%s %s" % (field_info.number, label) else: label = name field_diff = self.diff_field(name, old, new, **kwargs) if field_diff: d.append((label, field_diff)) identity = None if self.identify: identity = getattr(new or old, self.identify) return ModelDiffNode(old, new, OrderedDict(d), identity=identity)
def get_field_info(formfield): if formfield and hasattr(formfield.form, '_meta'): return paper_forms.get_field_info(model=formfield.form._meta.model, name=formfield.name) else: return None
def paperform_info(self): from ecs.core.paper_forms import get_field_info return get_field_info(self.model, self.field.name)
def paperform_info(self): if self.field: return get_field_info(self.model, self.field.name)
def inv_label(f): return str(get_field_info(Investigator, f).label)
def label(f): return str(get_field_info(SubmissionForm, f).label)