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 ["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): 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