Skip to main content

Customize Django form label in realtime in clinicedc/edc projects

Project description

pypi actions coverage

edc-form-label

Customize Django’s form label in realtime

For a sequence of data collection timepoints, we ask the question, “Are you circumcised?”. At some time point we hope the response will be YES, but until then, we need to ask “Since we last saw you, were you circumcised?”. It is a lot better if we can ask, “Since we last saw you in ‘October 2018’, were you circumcised?”, where ‘October 2018’ represents the timepoint from which we got our last reponse.

This module shows how you can insert ‘October 2018’ into the ModelAdmin/ModelForm the form label in realtime.

For example:

For a sequence of data collection timepoints, we ask the question, “Are you circumcised”. At some point we hope the response will be YES. But until then we need to ask “Since we last saw you in October 2018, were you circumcised?”, etc.

from edc_form_label import FormLabel, CustomFormLabel, FormLabelModelAdminMixin


class MyCustomLabelCondition(CustomLabelCondition):
    def check(self, **kwargs):
        if self.previous_obj.circumcised == NO:
            return True
        return False


@register(MyModel)
class MyModelAdmin(FormLabelModelAdminMixin admin.ModelAdmin):

    fieldsets = (
        (None, {
            'fields': (
                'subject_visit',
                'report_datetime',
                'circumcised')},
         ),
    )

    custom_form_labels = [
        FormLabel(
            field='circumcised',
            custom_label='Since we last saw you in {previous_visit}, were you circumcised?',
            condition_cls=MyCustomLabelCondition)
    ]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edc-form-label-0.3.8.tar.gz (29.9 kB view hashes)

Uploaded source

Built Distribution

edc_form_label-0.3.8-py3-none-any.whl (28.6 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page