Exemple #1
0
    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)
Exemple #2
0
    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
Exemple #3
0
    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)
Exemple #4
0
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
Exemple #5
0
 def paperform_info(self):
     from ecs.core.paper_forms import get_field_info
     return get_field_info(self.model, self.field.name)
Exemple #6
0
 def paperform_info(self):
     if self.field:
         return get_field_info(self.model, self.field.name)
Exemple #7
0
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
Exemple #8
0
 def inv_label(f):
     return str(get_field_info(Investigator, f).label)
Exemple #9
0
 def label(f):
     return str(get_field_info(SubmissionForm, f).label)