def setHelper(self): if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": "Update an existing endpoint.", "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new endpoint", "help_text": """ Create a new endpoint. An endpoint should describe one measure-of-effect which was measured in the study. It may or may not contain quantitative data. For endpoint terminology, use the reference document "<a href="https://hawcprd.epa.gov/assessment/100000039/">Recommended Terminology for Outcomes/Endpoints</a>." """, "cancel_url": self.instance.animal_group.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.form_id = "endpoint" self.fields['diagnostic'].widget.attrs['rows'] = 2 for fld in ('results_notes', 'endpoint_notes', 'power_notes'): self.fields[fld].widget.attrs['rows'] = 3 # by default take-up the whole row-fluid for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["effects"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' helper.add_fluid_row('system', 4, "span3") helper.add_fluid_row('effects', 2, "span6") helper.add_fluid_row('observation_time', 3, "span4") helper.add_fluid_row('data_reported', 3, "span4") helper.add_fluid_row('data_type', 3, "span4") helper.add_fluid_row('response_units', 3, "span4") helper.add_fluid_row('NOEL', 4, "span3") helper.add_fluid_row('statistical_test', 3, ["span6", "span3", "span3"]) helper.add_fluid_row('litter_effects', 2, "span6") url = reverse('assessment:effect_tag_create', kwargs={'pk': self.instance.assessment.pk}) helper.addBtnLayout(helper.layout[4], 0, url, "Add new effect tag", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if fld in ["species", "strain"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": "Update an existing animal-group.", "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new animal-group", "help_text": """ Create a new animal-group. Each animal-group is a set of animals which are comparable for a given experiment. For example, they may be a group of F1 rats. Animal-groups may have different exposures or doses, but should be otherwise comparable.""", "cancel_url": self.instance.experiment.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.form_id = "animal_group" helper.add_fluid_row('species', 3, "span4") helper.add_fluid_row('lifestage_exposed', 2, "span6") assessment_id = self.instance.experiment.study.assessment.pk url = reverse('assessment:species_create', kwargs={'pk': assessment_id}) helper.addBtnLayout(helper.layout[3], 0, url, "Add new species", "span4") url = reverse('assessment:strain_create', kwargs={'pk': assessment_id}) helper.addBtnLayout(helper.layout[3], 1, url, "Add new strain", "span4") if "generation" in self.fields: helper.add_fluid_row('siblings', 3, "span4") helper.add_fluid_row('comments', 2, "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["metric_units"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new exposure", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.study_population.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('inhalation', 6, "span2") helper.add_fluid_row('measured', 3, "span4") helper.add_fluid_row('metric_description', 3, "span4") helper.add_fluid_row('age_of_exposure', 3, "span6") url = reverse( 'assessment:dose_units_create', kwargs={'pk': self.instance.study_population.study.assessment_id}) helper.addBtnLayout(helper.layout[4], 2, url, "Create units", "span4") # we want a single "help text" that spans the chemical exposure route checkboxes (inhalation, dermal, oral, etc.) # if we just attach help_text attribute in the model, it will appear grouped with inhalation. Doing it this way gives # a little more layout control; just need to find the right spot to do it inhalation_idx = helper.find_layout_idx_for_field_name('inhalation') if inhalation_idx is not None: helper.layout[inhalation_idx].append( cfl.HTML('<div style="margin-bottom:20px">' + self.instance.ROUTE_HELP_TEXT + '</div>')) return helper
def setHelper(self): if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": "Update an existing endpoint.", "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new endpoint", "help_text": """ Create a new endpoint. An endpoint may should describe one measure-of-effect which was measured in the study. It may or may not contain quantitative data.""", "cancel_url": self.instance.animal_group.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.form_id = "endpoint" self.fields['diagnostic'].widget.attrs['rows'] = 2 for fld in ('results_notes', 'endpoint_notes', 'power_notes'): self.fields[fld].widget.attrs['rows'] = 3 # by default take-up the whole row-fluid for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["effects"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' helper.add_fluid_row('system', 4, "span3") helper.add_fluid_row('effects', 2, "span6") helper.add_fluid_row('observation_time', 3, "span4") helper.add_fluid_row('data_reported', 3, "span4") helper.add_fluid_row('data_type', 3, "span4") helper.add_fluid_row('response_units', 3, "span4") helper.add_fluid_row('NOEL', 4, "span3") helper.add_fluid_row('statistical_test', 3, ["span6", "span3", "span3"]) url = reverse('assessment:effect_tag_create', kwargs={'pk': self.instance.assessment.pk}) helper.addBtnLayout(helper.layout[4], 0, url, "Add new effect tag", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ['effects']: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { 'legend_text': 'Update {}'.format(self.instance), 'help_text': self.HELP_TEXT_UPDATE, 'cancel_url': self.instance.get_absolute_url() } else: inputs = { 'legend_text': 'Create new endpoint', 'help_text': self.HELP_TEXT_CREATE, 'cancel_url': self.instance.experiment.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, 'span6') helper.add_fluid_row('chemical', 2, 'span6') helper.add_fluid_row('assay_type', 2, 'span6') helper.add_fluid_row('effect', 2, 'span6') helper.add_fluid_row('data_type', 4, 'span3') helper.add_fluid_row('observation_time', 4, 'span3') helper.add_fluid_row('monotonicity', 3, 'span4') helper.add_fluid_row('trend_test', 2, 'span6') helper.add_fluid_row('endpoint_notes', 2, 'span6') url = reverse( 'assessment:effect_tag_create', kwargs={'pk': self.instance.assessment_id} ) helper.addBtnLayout(helper.layout[2], 1, url, 'Add new effect tag', 'span6') return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ['effects']: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { 'legend_text': 'Update {}'.format(self.instance), 'help_text': self.HELP_TEXT_UPDATE, 'cancel_url': self.instance.get_absolute_url() } else: inputs = { 'legend_text': 'Create new endpoint', 'help_text': self.HELP_TEXT_CREATE, 'cancel_url': self.instance.experiment.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, 'span6') helper.add_fluid_row('chemical', 2, 'span6') helper.add_fluid_row('assay_type', 2, 'span6') helper.add_fluid_row('effect', 2, 'span6') helper.add_fluid_row('data_type', 4, 'span3') helper.add_fluid_row('observation_time', 4, 'span3') helper.add_fluid_row('monotonicity', 3, 'span4') helper.add_fluid_row('trend_test', 2, 'span6') helper.add_fluid_row('endpoint_notes', 2, 'span6') url = reverse('assessment:effect_tag_create', kwargs={'pk': self.instance.assessment_id}) helper.addBtnLayout(helper.layout[2], 1, url, 'Add new effect tag', 'span6') return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if fld in ["species", "strain"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": "Update an existing animal-group.", "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new animal-group", "help_text": """ Create a new animal-group. Each animal-group is a set of animals which are comparable for a given experiment. For example, they may be a group of F1 rats. Animal-groups may have different exposures or doses, but should be otherwise comparable.""", "cancel_url": self.instance.experiment.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.form_id = "animal_group" helper.add_fluid_row('species', 3, "span4") helper.add_fluid_row('lifestage_exposed', 3, "span4") assessment_id = self.instance.experiment.study.assessment.pk url = reverse('assessment:species_create', kwargs={'pk': assessment_id}) helper.addBtnLayout(helper.layout[3], 0, url, "Add new species", "span4") url = reverse('assessment:strain_create', kwargs={'pk': assessment_id}) helper.addBtnLayout(helper.layout[3], 1, url, "Add new strain", "span4") if "generation" in self.fields: helper.add_fluid_row('siblings', 3, "span4") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in self.ADJUSTMENT_FIELDS: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new set of results", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.outcome.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('metric', 2, "span6") helper.add_fluid_row('data_location', 2, "span6") helper.add_fluid_row('dose_response', 3, "span4") helper.add_fluid_row('statistical_power', 4, "span3") helper.add_fluid_row('factors_applied', 2, "span6") helper.add_fluid_row('estimate_type', 3, "span4") url = reverse('epi:adjustmentfactor_create', kwargs={'pk': self.instance.outcome.assessment_id}) helper.addBtnLayout(helper.layout[8], 0, url, "Add new adjustment factor", "span6") helper.addBtnLayout(helper.layout[8], 1, url, "Add new adjustment factor", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["metric_units"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new exposure", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.study_population.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('inhalation', 6, "span2") helper.add_fluid_row('measured', 3, "span4") helper.add_fluid_row('metric_description', 3, "span4") helper.add_fluid_row('age_of_exposure', 3, "span6") helper.add_fluid_row('n', 3, "span4") helper.add_fluid_row('variance', 2, "span6") helper.add_fluid_row('lower_ci', 4, "span3") url = reverse( 'assessment:dose_units_create', kwargs={'pk': self.instance.study_population.study.assessment_id} ) helper.addBtnLayout(helper.layout[4], 2, url, "Create units", "span4") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["metric_units"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new exposure", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.study_population.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('inhalation', 6, "span2") helper.add_fluid_row('measured', 3, "span4") helper.add_fluid_row('metric_description', 3, "span4") helper.add_fluid_row('age_of_exposure', 3, "span6") helper.add_fluid_row('n', 3, "span4") helper.add_fluid_row('variance', 2, "span6") helper.add_fluid_row('lower_ci', 4, "span3") url = reverse( 'assessment:dose_units_create', kwargs={'pk': self.instance.study_population.study.assessment_id}) helper.addBtnLayout(helper.layout[4], 2, url, "Create units", "span4") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld == "adjustment_factors": widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.UPDATE_HELP_TEXT, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": self.CREATE_LEGEND, "help_text": self.CREATE_HELP_TEXT, "cancel_url": self.instance.protocol.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('label', 2, "span6") helper.add_fluid_row('health_outcome', 2, "span6") helper.add_fluid_row('exposure_name', 2, "span6") helper.add_fluid_row('number_studies', 3, "span4") helper.add_fluid_row('n', 3, "span4") helper.add_fluid_row('lower_ci', 3, "span4") helper.add_fluid_row('adjustment_factors', 2, "span6") url = reverse( 'epi:adjustmentfactor_create', kwargs={'pk': self.instance.protocol.study.assessment.pk} ) helper.addBtnLayout(helper.layout[8], 0, url, "Create criteria", "span6") return helper
def setHelper(self): for fld in self.fields.keys(): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in self.CRITERION_FIELDS: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": u"Update {}".format(self.instance), "help_text": self.UPDATE_HELP_TEXT, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": self.CREATE_LEGEND, "help_text": self.CREATE_HELP_TEXT, "cancel_url": self.instance.study.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('age_profile', 2, "span6") helper.add_fluid_row('country', 3, "span4") helper.add_fluid_row('eligible_n', 3, "span4") helper.add_fluid_row('inclusion_criteria', 3, "span4") url = reverse('epi:studycriteria_create', kwargs={'pk': self.instance.study.assessment.pk}) helper.addBtnLayout(helper.layout[6], 0, url, "Create criteria", "span4") helper.addBtnLayout(helper.layout[6], 1, url, "Create criteria", "span4") helper.addBtnLayout(helper.layout[6], 2, url, "Create criteria", "span4") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["effects"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new outcome", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.study_population.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('system', 3, "span4") helper.add_fluid_row('diagnostic', 2, "span6") helper.add_fluid_row('outcome_n', 2, "span6") url = reverse('assessment:effect_tag_create', kwargs={'pk': self.instance.assessment.pk}) helper.addBtnLayout(helper.layout[2], 1, url, "Add new effect tag", "span6") return helper
def setHelper(self): for fld in self.fields.keys(): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in ["effects"]: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": u"Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": u"Create new outcome", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.study_population.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('system', 3, "span4") helper.add_fluid_row('diagnostic', 2, "span6") helper.add_fluid_row('outcome_n', 2, "span6") url = reverse( 'assessment:effect_tag_create', kwargs={'pk': self.instance.assessment.pk} ) helper.addBtnLayout(helper.layout[2], 1, url, "Add new effect tag", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in self.CRITERION_FIELDS: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.UPDATE_HELP_TEXT, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": self.CREATE_LEGEND, "help_text": self.CREATE_HELP_TEXT, "cancel_url": self.instance.study.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('lit_search_strategy', 2, "span6") helper.add_fluid_row('lit_search_start_date', 3, "span4") helper.add_fluid_row('inclusion_criteria', 2, "span6") url = reverse('epi:studycriteria_create', kwargs={'pk': self.instance.study.assessment.pk}) helper.addBtnLayout(helper.layout[5], 0, url, "Create criteria", "span6") helper.addBtnLayout(helper.layout[5], 1, url, "Create criteria", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in self.ADJUSTMENT_FIELDS or fld == "resulttags": widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.HELP_TEXT_UPDATE, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": "Create new set of results", "help_text": self.HELP_TEXT_CREATE, "cancel_url": self.instance.outcome.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('metric', 3, "span4") helper.add_fluid_row('data_location', 2, "span6") helper.add_fluid_row('dose_response', 3, "span4") helper.add_fluid_row('statistical_power', 4, "span3") helper.add_fluid_row('factors_applied', 2, "span6") helper.add_fluid_row('estimate_type', 3, "span4") helper.add_fluid_row("resulttags", 1, "span6") url = reverse('assessment:effect_tag_create', kwargs={'pk': self.instance.outcome.assessment_id}) helper.addBtnLayout(helper.layout[8], 0, url, "Add new result tag", "span6") url = reverse('epi:adjustmentfactor_create', kwargs={'pk': self.instance.outcome.assessment_id}) # remove magic number 9; breaks if we change number of elements in the form. This still isn't great; what if comments went away? btn_target_idx = helper.find_layout_idx_for_field_name('comments') - 1 helper.addBtnLayout(helper.layout[btn_target_idx], 0, url, "Add new adjustment factor", "span6") helper.addBtnLayout(helper.layout[btn_target_idx], 1, url, "Add new adjustment factor", "span6") return helper
def setHelper(self): for fld in list(self.fields.keys()): widget = self.fields[fld].widget if type(widget) != forms.CheckboxInput: if fld in self.CRITERION_FIELDS: widget.attrs['class'] = 'span10' else: widget.attrs['class'] = 'span12' if type(widget) == forms.Textarea: widget.attrs['rows'] = 3 if self.instance.id: inputs = { "legend_text": "Update {}".format(self.instance), "help_text": self.UPDATE_HELP_TEXT, "cancel_url": self.instance.get_absolute_url() } else: inputs = { "legend_text": self.CREATE_LEGEND, "cancel_url": self.instance.study.get_absolute_url() } helper = BaseFormHelper(self, **inputs) helper.form_class = None helper.add_fluid_row('name', 2, "span6") helper.add_fluid_row('age_profile', 2, "span6") helper.add_fluid_row('country', 3, "span4") helper.add_fluid_row('eligible_n', 3, "span4") helper.add_fluid_row('inclusion_criteria', 3, "span4") url = reverse('epi:studycriteria_create', kwargs={'pk': self.instance.study.assessment.pk}) # remove magic number 6; breaks if we change number of elements in the form. This still isn't great; what if comments went away? btn_target_idx = helper.find_layout_idx_for_field_name('comments') - 1 helper.addBtnLayout(helper.layout[btn_target_idx], 0, url, "Create criteria", "span4") helper.addBtnLayout(helper.layout[btn_target_idx], 1, url, "Create criteria", "span4") helper.addBtnLayout(helper.layout[btn_target_idx], 2, url, "Create criteria", "span4") return helper