Ejemplo n.º 1
0
    def __init__(self, *args, **kwargs):
        animal_group = kwargs.pop('parent', None)
        assessment = kwargs.pop('assessment', None)
        super(EndpointForm, self).__init__(*args, **kwargs)

        self.fields['NOEL'].widget = forms.Select()
        self.fields['LOEL'].widget = forms.Select()
        self.fields['FEL'].widget = forms.Select()

        self.fields['system'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointSystemLookup, allow_new=True)

        self.fields['organ'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointOrganLookup, allow_new=True)

        self.fields['effect'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectLookup, allow_new=True)

        self.fields['effect_subtype'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectSubtypeLookup, allow_new=True)

        self.fields['statistical_test'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointStatisticalTestLookup, allow_new=True)

        if animal_group:
            self.instance.animal_group = animal_group
            self.instance.assessment = assessment

        self.fields["name"].help_text = """
            Short-text used to describe the endpoint.
            Should include observation-time,
            if multiple endpoints have the same observation time."""

        self.helper = self.setHelper()
Ejemplo n.º 2
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop('parent', None)
        super().__init__(*args, **kwargs)

        if parent:
            self.instance.experiment = parent

        self.fields[
            'lifestage_exposed'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.RelatedAnimalGroupLifestageExposedLookup,
                allow_new=True)
        self.fields['lifestage_exposed'].widget.update_query_parameters(
            {'related': self.instance.experiment.study.assessment.id})

        self.fields[
            'lifestage_assessed'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.RelatedAnimalGroupLifestageAssessedLookup,
                allow_new=True)
        self.fields['lifestage_assessed'].widget.update_query_parameters(
            {'related': self.instance.experiment.study.assessment.id})

        self.fields['siblings'].queryset = models.AnimalGroup.objects.filter(
            experiment=self.instance.experiment)

        self.helper = self.setHelper()
        self.fields['comments'].widget.attrs['rows'] = 4
Ejemplo n.º 3
0
    def __init__(self, *args, **kwargs):
        assessment = kwargs.pop('assessment', None)
        study_population = kwargs.pop('parent', None)
        super().__init__(*args, **kwargs)
        self.fields['name'].widget = selectable.AutoCompleteWidget(
            lookup_class=BaseEndpointLookup, allow_new=True)
        self.fields['name'].help_text = self.instance.NAME_HELP_TEXT
        self.fields['system'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.SystemLookup, allow_new=True)
        self.fields['effect'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EffectLookup, allow_new=True)
        self.fields['effect_subtype'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EffectSubtypeLookup, allow_new=True)
        self.fields[
            'age_of_measurement'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.AgeOfMeasurementLookup, allow_new=True)
        self.fields[
            'effects'].widget = selectable.AutoCompleteSelectMultipleWidget(
                lookup_class=EffectTagLookup)
        self.fields['effects'].help_text = self.instance.TAGS_HELP_TEXT
        if assessment:
            self.instance.assessment = assessment
        if study_population:
            self.instance.study_population = study_population

        self.helper = self.setHelper()
Ejemplo n.º 4
0
class AutocompleteSearchForm(forms.Form):

    CHOICES1 = (
         ('', ''), \
         ('Appetizers','Appetizers'), \
         ('Main Dish','Main Dish'), \
         ('Side Dish','Side Dish'), \
         ('Soup','Soup')
         )

    CHOICES2 = (
        ('', ''), \
        ('Poultry','Poultry'), \
        ('Pork','Pork'), \
        ('Beef','Beef'), \
        ('Seafood','Seafood'), \
        ('Vegetables','Vegetables'))

    autocomplete = forms.CharField(
        label='Type the keyword of recipe you want to search',
        widget=selectable.AutoCompleteWidget(RecipeLookup),
        required=False,
    )

    ingredient = forms.CharField(
        label='Type the keyword of ingredient you want to search',
        widget=selectable.AutoCompleteWidget(IngredientLookup),
        required=False,
    )
    category_1 = forms.ChoiceField(choices=CHOICES1,
                                   label='First category',
                                   required=False)
    category_2 = forms.ChoiceField(choices=CHOICES2,
                                   label='Second category',
                                   required=False)
Ejemplo n.º 5
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop('parent', None)
        super(AnimalGroupForm, self).__init__(*args, **kwargs)

        if parent:
            self.instance.experiment = parent

        if self.instance.id:
            self.fields['strain'].queryset = models.Strain.objects.filter(
                species=self.instance.species)

        self.fields[
            'lifestage_exposed'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.AnimalGroupLifestageExposedLookup,
                allow_new=True)

        self.fields[
            'lifestage_assessed'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.AnimalGroupLifestageAssessedLookup,
                allow_new=True)

        self.fields['siblings'].queryset = models.AnimalGroup.objects.filter(
            experiment=self.instance.experiment)

        self.helper = self.setHelper()
        self.fields['comments'].widget.attrs['rows'] = 4
Ejemplo n.º 6
0
    def __init__(self, *args, **kwargs):
        assessment = kwargs.pop("assessment", None)
        study_population = kwargs.pop("parent", None)
        super().__init__(*args, **kwargs)
        self.fields["name"].widget = selectable.AutoCompleteWidget(
            lookup_class=BaseEndpointLookup, allow_new=True
        )
        self.fields["system"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.SystemLookup, allow_new=True
        )
        self.fields["effect"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EffectLookup, allow_new=True
        )
        self.fields["effect_subtype"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EffectSubtypeLookup, allow_new=True
        )
        self.fields["age_of_measurement"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.AgeOfMeasurementLookup, allow_new=True
        )
        self.fields["effects"].widget = selectable.AutoCompleteSelectMultipleWidget(
            lookup_class=EffectTagLookup
        )
        if assessment:
            self.instance.assessment = assessment
        if study_population:
            self.instance.study_population = study_population

        self.helper = self.setHelper()
Ejemplo n.º 7
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop('parent', None)
        assessment_id = kwargs.pop('assessment_id')
        super(MetaResultForm, self).__init__(*args, **kwargs)

        self.fields['health_outcome'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.MetaResultHealthOutcomeLookup, allow_new=True)

        self.fields['exposure_name'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.MetaResultExposureNameLookup, allow_new=True)

        for fld in self.fields.keys():
            widget = self.fields[fld].widget
            if fld in ('health_outcome_notes', 'statistical_notes', 'notes',
                       'exposure_details'):
                self.fields[fld].widget.attrs['rows'] = 3
            if type(widget) != CheckboxInput:
                widget.attrs['class'] = 'span12'
        if parent:
            self.instance.protocol = parent

        self.fields['adjustment_factors'].widget.update_query_parameters(
            {'related': assessment_id})
        self.fields['health_outcome'].widget.update_query_parameters(
            {'related': assessment_id})
        self.fields['exposure_name'].widget.update_query_parameters(
            {'related': assessment_id})
Ejemplo n.º 8
0
class FruitForm(forms.Form):
    autocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget)',
        widget=selectable.AutoCompleteWidget(FruitLookup),
        required=False,
    )
    newautocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget which allows new items)',
        widget=selectable.AutoCompleteWidget(FruitLookup, allow_new=True),
        required=False,
    )
    combobox = forms.CharField(
        label='Type/select the name of a fruit (AutoComboboxWidget)',
        widget=selectable.AutoComboboxWidget(FruitLookup),
        required=False,
    )
    newcombobox = forms.CharField(
        label='Type/select the name of a fruit (AutoComboboxWidget which allows new items)',
        widget=selectable.AutoComboboxWidget(FruitLookup, allow_new=True),
        required=False,
    )
    # AutoCompleteSelectField (no new items)
    autocompleteselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteField)',
        required=False,
    )
    # AutoCompleteSelectField (allows new items)
    newautocompleteselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        allow_new=True,
        label='Select a fruit (AutoCompleteField which allows new items)',
        required=False,
    )
    # AutoComboboxSelectField (no new items)
    comboboxselect = selectable.AutoComboboxSelectField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoComboboxSelectField)',
        required=False,
    )
    # AutoComboboxSelectField (allows new items)
    newcomboboxselect = selectable.AutoComboboxSelectField(
        lookup_class=FruitLookup,
        allow_new=True,
        label='Select a fruit (AutoComboboxSelectField which allows new items)',
        required=False,
    )
    # AutoCompleteSelectMultipleField
    multiautocompleteselect = selectable.AutoCompleteSelectMultipleField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteSelectMultipleField)',
        required=False,
    )
    # AutoComboboxSelectMultipleField
    multicomboboxselect = selectable.AutoComboboxSelectMultipleField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoComboboxSelectMultipleField)',
        required=False,
    )
Ejemplo n.º 9
0
 def __init__(self, *args, **kwargs):
     study = kwargs.pop('parent', None)
     super(StudyPopulationForm, self).__init__(*args, **kwargs)
     self.fields['region'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.RegionLookup, allow_new=True)
     self.fields['state'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.StateLookup, allow_new=True)
     if study:
         self.instance.study = study
     self.helper = self.setHelper()
Ejemplo n.º 10
0
 def __init__(self, *args, **kwargs):
     study_population = kwargs.pop('parent', None)
     super().__init__(*args, **kwargs)
     self.fields['measured'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.ExposureMeasuredLookup, allow_new=True)
     self.fields['metric'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.ExposureMetricLookup, allow_new=True)
     self.fields['age_of_exposure'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.AgeOfExposureLookup, allow_new=True)
     if study_population:
         self.instance.study_population = study_population
     self.helper = self.setHelper()
Ejemplo n.º 11
0
 def __init__(self, *args, **kwargs):
     study = kwargs.pop('parent', None)
     super(StudyPopulationForm, self).__init__(*args, **kwargs)
     self.fields['region'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.RegionLookup, allow_new=True)
     self.fields['state'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.StateLookup, allow_new=True)
     for fld in self.fields.keys():
         widget = self.fields[fld].widget
         if type(widget) != CheckboxInput:
             widget.attrs['class'] = 'span12'
     if study:
         self.instance.study = study
Ejemplo n.º 12
0
class PropertySearchForm(forms.Form):
    location = forms.CharField(
        label='Where?',
        widget=selectable.AutoCompleteWidget(NeighbourhoodLookup, attrs={'class': 'form-control', 'id': 'location', 'placeholder': 'Where?'}),
        required=False,

    )
Ejemplo n.º 13
0
 def __init__(self, *args, **kwargs):
     kwargs.pop('parent', None)
     super(DoseUnitsForm, self).__init__(*args, **kwargs)
     self.fields['units'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.DoseUnitsLookup, allow_new=True)
     for fld in self.fields.keys():
         self.fields[fld].widget.attrs['class'] = 'span12'
Ejemplo n.º 14
0
    def __init__(self, *args, **kwargs):
        assessment = kwargs.pop('assessment', None)
        exposure = kwargs.pop('parent', None)
        super(AssessedOutcomeForm, self).__init__(*args, **kwargs)
        self.fields['name'].widget = selectable.AutoCompleteWidget(
            lookup_class=BaseEndpointLookup, allow_new=True)
        self.fields[
            'effects'].widget = selectable.AutoCompleteSelectMultipleWidget(
                lookup_class=EffectTagLookup)
        self.fields[
            'effects'].help_text = 'Tags used to help categorize effect description.'
        if assessment:
            self.instance.assessment = assessment
        if exposure:
            self.instance.exposure = exposure

        self.fields['adjustment_factors'].widget.update_query_parameters(
            {'related': self.instance.assessment.id})
        self.fields['confounders_considered'].widget.update_query_parameters(
            {'related': self.instance.assessment.id})

        self.fields['main_finding'].queryset = self.fields['main_finding']\
            .queryset.filter(exposure=self.instance.exposure)

        self.helper = self.setHelper()
Ejemplo n.º 15
0
    def __init__(self, *args, **kwargs):
        experiment = kwargs.pop('parent', None)
        assessment = kwargs.pop('assessment', None)
        super().__init__(*args, **kwargs)
        if experiment:
            self.instance.experiment = experiment
        if assessment:
            self.instance.assessment = assessment

        self.fields['NOEL'].widget.set_default_choices(self.instance)
        self.fields['LOEL'].widget.set_default_choices(self.instance)

        self.fields['effect'].widget = selectable.AutoCompleteWidget(
            lookups.IVEndpointEffectLookup, allow_new=True)

        self.fields[
            'effects'].widget = selectable.AutoCompleteSelectMultipleWidget(
                lookup_class=EffectTagLookup)
        self.fields[
            'effects'].help_text = 'Tags used to help categorize effect description.'

        self.fields['chemical'].queryset = \
            self.fields['chemical'].queryset\
                .filter(study=self.instance.experiment.study)

        self.fields['category'].queryset = \
            self.fields['category'].queryset.model\
                .get_assessment_qs(self.instance.assessment.id)

        for field in ('assay_type', 'response_units', 'effect'):
            self.fields[field].widget.update_query_parameters(
                {'related': self.instance.assessment.id})

        self.helper = self.setHelper()
Ejemplo n.º 16
0
    def __init__(self, *args, **kwargs):
        experiment = kwargs.pop("parent", None)
        assessment = kwargs.pop("assessment", None)
        super().__init__(*args, **kwargs)
        if experiment:
            self.instance.experiment = experiment
        if assessment:
            self.instance.assessment = assessment

        self.fields["NOEL"].widget.set_default_choices(self.instance)
        self.fields["LOEL"].widget.set_default_choices(self.instance)

        self.fields["effect"].widget = selectable.AutoCompleteWidget(
            lookups.IVEndpointEffectLookup, allow_new=True)

        self.fields[
            "effects"].widget = selectable.AutoCompleteSelectMultipleWidget(
                lookup_class=EffectTagLookup)
        self.fields[
            "effects"].help_text = "Tags used to help categorize effect description."

        self.fields["chemical"].queryset = self.fields[
            "chemical"].queryset.filter(study=self.instance.experiment.study)

        self.fields["category"].queryset = self.fields[
            "category"].queryset.model.get_assessment_qs(
                self.instance.assessment.id)

        for field in ("assay_type", "response_units", "effect"):
            self.fields[field].widget.update_query_parameters(
                {"related": self.instance.assessment.id})

        self.helper = self.setHelper()
Ejemplo n.º 17
0
    def __init__(self, *args, **kwargs):
        animal_group = kwargs.pop('parent', None)
        assessment = kwargs.pop('assessment', None)
        super().__init__(*args, **kwargs)

        self.fields['NOEL'].widget = forms.Select()
        self.fields['LOEL'].widget = forms.Select()
        self.fields['FEL'].widget = forms.Select()

        self.fields['system'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointSystemLookup, allow_new=True)

        self.fields['organ'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointOrganLookup, allow_new=True)

        self.fields['effect'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectLookup, allow_new=True)

        self.fields['effect_subtype'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectSubtypeLookup, allow_new=True)

        self.fields['statistical_test'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointStatisticalTestLookup, allow_new=True)

        if animal_group:
            self.instance.animal_group = animal_group
            self.instance.assessment = assessment

        self.fields["name"].help_text = """
            Short-text used to describe the endpoint/adverse 
            outcome. As a first pass during extraction, use 
            the endpoint name as presented in the study. Do 
            not add units — units are summarized in a separate 
            extraction field. Once extraction is complete for 
            an assessment, endpoint/adverse outcomes names may 
            be adjusted to use terms that best work across 
            studies or assessments using the data clean-up tool 
            (the original name as presented in the study will 
            be retained in the "Endpoint Name in Study" field). If the 
            endpoint is a repeated measure, then indicate the 
            time in parentheses, e.g., running wheel activity 
            (6 wk), using the abbreviated format: seconds = sec, 
            minutes = min, hours = h, days = d, weeks = wk, 
            months = mon, years = y.
            """

        self.helper = self.setHelper()
Ejemplo n.º 18
0
 def __init__(self, *args, **kwargs):
     assessment = kwargs.pop('parent', None)
     super(StudyCriteriaForm, self).__init__(*args, **kwargs)
     self.fields['description'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.StudyCriteriaLookup, allow_new=True)
     self.instance.assessment = assessment
     for fld in self.fields.keys():
         self.fields[fld].widget.attrs['class'] = 'span12'
Ejemplo n.º 19
0
    def __init__(self, *args, **kwargs):
        study = kwargs.pop('parent', None)
        super().__init__(*args, **kwargs)
        self.fields['comments'] = self.fields.pop('comments')  # move to end
        self.fields['region'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.RegionLookup, allow_new=True)
        self.fields['state'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.StateLookup, allow_new=True)
        if study:
            self.instance.study = study

        for fld in self.CRITERION_FIELDS:
            self.fields[fld].widget.update_query_parameters(
                {'related': self.instance.study.assessment_id})
            if self.instance.id:
                self.fields[fld].initial = getattr(self.instance, fld)

        self.helper = self.setHelper()
Ejemplo n.º 20
0
 def __init__(self, *args, **kwargs):
     assessment = kwargs.pop('parent', None)
     super(FactorForm, self).__init__(*args, **kwargs)
     self.fields['description'].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.FactorLookup, allow_new=True)
     self.instance.assessment = assessment
     for fld in self.fields.keys():
         self.fields[fld].widget.attrs['class'] = 'span12'
     self.fields['description'].widget.update_query_parameters(
         {'related': self.instance.assessment.id})
Ejemplo n.º 21
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop('parent', None)
        super().__init__(*args, **kwargs)
        if parent:
            self.instance.study = parent

        self.fields['chemical'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpChemicalLookup, allow_new=True)

        self.fields['cas'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpCasLookup, allow_new=True)

        self.fields['chemical_source'].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpChemSourceLookup, allow_new=True)

        self.fields[
            'guideline_compliance'].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.ExpGlpLookup, allow_new=True)

        self.helper = self.setHelper()
Ejemplo n.º 22
0
    def __init__(self, *args, **kwargs):
        animal_group = kwargs.pop("parent", None)
        assessment = kwargs.pop("assessment", None)
        super().__init__(*args, **kwargs)

        self.fields["NOEL"].widget = forms.Select()
        self.fields["LOEL"].widget = forms.Select()
        self.fields["FEL"].widget = forms.Select()

        noel_names = assessment.get_noel_names(
        ) if assessment else self.instance.get_noel_names()
        self.fields["NOEL"].label = noel_names.noel
        self.fields["NOEL"].help_text = noel_names.noel_help_text
        self.fields["LOEL"].label = noel_names.loel
        self.fields["LOEL"].help_text = noel_names.loel_help_text

        self.fields["system"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointSystemLookup, allow_new=True)

        self.fields["organ"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointOrganLookup, allow_new=True)

        self.fields["effect"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectLookup, allow_new=True)

        self.fields["effect_subtype"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointEffectSubtypeLookup, allow_new=True)

        self.fields["statistical_test"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.EndpointStatisticalTestLookup, allow_new=True)

        if animal_group:
            self.instance.animal_group = animal_group
            self.instance.assessment = assessment

        self.fields["name"].help_text = get_flavored_text(
            "ani__endpoint_form__name")

        self.helper = self.setHelper()

        self.noel_names = json.dumps(self.instance.get_noel_names()._asdict())
Ejemplo n.º 23
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop("parent", None)
        assessment = kwargs.pop("assessment", None)
        super().__init__(*args, **kwargs)

        self.fields["health_outcome"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.MetaResultHealthOutcomeLookup, allow_new=True)

        self.fields["exposure_name"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.MetaResultExposureNameLookup, allow_new=True)

        if parent:
            self.instance.protocol = parent

        self.fields["adjustment_factors"].widget.update_query_parameters(
            {"related": assessment.id})
        self.fields["health_outcome"].widget.update_query_parameters(
            {"related": assessment.id})
        self.fields["exposure_name"].widget.update_query_parameters(
            {"related": assessment.id})
        self.helper = self.setHelper()
Ejemplo n.º 24
0
class IVChemicalForm(forms.ModelForm):
    HELP_TEXT_CREATE = "Describes the chemical used in the current experiment."
    HELP_TEXT_UPDATE = "Update an existing chemical."

    source = forms.CharField(
        label="Source of chemical",
        widget=selectable.AutoCompleteWidget(lookups.IVChemicalSourceLookup,
                                             allow_new=True),
    )

    class Meta:
        model = models.IVChemical
        exclude = ("study", )

    def __init__(self, *args, **kwargs):
        study = kwargs.pop("parent", None)
        super().__init__(*args, **kwargs)
        if study:
            self.instance.study = study

        self.fields["source"].widget.update_query_parameters(
            {"related": self.instance.study.assessment.id})

        self.helper = self.setHelper()

    def setHelper(self):
        for fld in list(self.fields.keys()):
            widget = self.fields[fld].widget
            if type(widget) != forms.CheckboxInput:
                widget.attrs["class"] = "span12"
            if type(widget) == forms.Textarea:
                widget.attrs["rows"] = 3

        if self.instance.id:
            inputs = {
                "legend_text": f"Update {self.instance}",
                "help_text": self.HELP_TEXT_UPDATE,
                "cancel_url": self.instance.get_absolute_url(),
            }
        else:
            inputs = {
                "legend_text": "Create new experimental chemical",
                "help_text": self.HELP_TEXT_CREATE,
                "cancel_url": self.instance.study.get_absolute_url(),
            }

        helper = BaseFormHelper(self, **inputs)
        helper.form_class = None
        helper.add_fluid_row("name", 3, "span4")
        helper.add_fluid_row("source", 3, "span4")
        helper.add_fluid_row("purity_confirmed_notes", 2, "span6")

        return helper
Ejemplo n.º 25
0
class IVChemicalForm(forms.ModelForm):
    HELP_TEXT_CREATE = "Describes the chemical used in the current experiment."
    HELP_TEXT_UPDATE = "Update an existing chemical."

    source = forms.CharField(label='Source of chemical',
                             widget=selectable.AutoCompleteWidget(
                                 lookups.IVChemicalSourceLookup,
                                 allow_new=True))

    class Meta:
        model = models.IVChemical
        exclude = ('study', )

    def __init__(self, *args, **kwargs):
        study = kwargs.pop('parent', None)
        super().__init__(*args, **kwargs)
        if study:
            self.instance.study = study

        self.fields['source'].widget.update_query_parameters(
            {'related': self.instance.study.assessment.id})

        self.helper = self.setHelper()

    def setHelper(self):
        for fld in list(self.fields.keys()):
            widget = self.fields[fld].widget
            if type(widget) != forms.CheckboxInput:
                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 experimental chemical',
                'help_text': self.HELP_TEXT_CREATE,
                'cancel_url': self.instance.study.get_absolute_url()
            }

        helper = BaseFormHelper(self, **inputs)
        helper.form_class = None
        helper.add_fluid_row('name', 3, 'span4')
        helper.add_fluid_row('source', 3, 'span4')
        helper.add_fluid_row('purity_confirmed_notes', 2, 'span6')

        return helper
Ejemplo n.º 26
0
 def __init__(self, *args, **kwargs):
     assessment = kwargs.pop("parent", None)
     super().__init__(*args, **kwargs)
     self.fields["description"].widget = selectable.AutoCompleteWidget(
         lookup_class=lookups.CriteriaLookup, allow_new=True
     )
     self.instance.assessment = assessment
     for fld in list(self.fields.keys()):
         self.fields[fld].widget.attrs["class"] = "span12"
     self.fields["description"].widget.update_query_parameters(
         {"related": self.instance.assessment.id}
     )
     self.helper = self.setHelper()
Ejemplo n.º 27
0
    def __init__(self, *args, **kwargs):
        parent = kwargs.pop("parent", None)
        super().__init__(*args, **kwargs)
        if parent:
            self.instance.study = parent

        self.fields["chemical"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpChemicalLookup, allow_new=True)

        self.fields["cas"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpCasLookup, allow_new=True)

        self.fields["chemical_source"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.ExpChemSourceLookup, allow_new=True)

        self.fields[
            "guideline_compliance"].widget = selectable.AutoCompleteWidget(
                lookup_class=lookups.ExpGlpLookup, allow_new=True)

        # change checkbox to select box
        self.fields["has_multiple_generations"].widget = forms.Select(
            choices=((True, "Yes"), (False, "No")))

        self.helper = self.setHelper()
Ejemplo n.º 28
0
    def __init__(self, *args, **kwargs):
        study = kwargs.pop("parent", None)
        super().__init__(*args, **kwargs)
        self.fields["comments"] = self.fields.pop("comments")  # move to end
        self.fields["region"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.RegionLookup, allow_new=True
        )
        self.fields["state"].widget = selectable.AutoCompleteWidget(
            lookup_class=lookups.StateLookup, allow_new=True
        )
        if study:
            self.instance.study = study

        for fld in self.CRITERION_FIELDS:
            self.fields[fld].widget.update_query_parameters(
                {"related": self.instance.study.assessment_id}
            )
            if self.instance.id:
                self.fields[fld].initial = getattr(self.instance, fld)

            # set the help text here for the correct criteria field
            self.fields[fld].help_text = self.instance.CRITERIA_HELP_TEXTS.get(fld, "")

        self.helper = self.setHelper()
Ejemplo n.º 29
0
 def __init__(self, *args, **kwargs):
     assessment = kwargs.pop('assessment', None)
     exposure = kwargs.pop('parent', None)
     super(AssessedOutcomeForm, self).__init__(*args, **kwargs)
     self.fields['name'].widget = selectable.AutoCompleteWidget(
         lookup_class=BaseEndpointLookup, allow_new=True)
     if assessment:
         self.instance.assessment = assessment
     if exposure:
         self.instance.exposure = exposure
     self.fields['main_finding'].queryset = \
             self.fields['main_finding'].queryset.filter(
                     exposure=self.instance.exposure)
     for fld in self.fields.keys():
         self.fields[fld].widget.attrs['class'] = 'span12'
     for fld in ('diagnostic_description', 'summary',
                 'prevalence_incidence', 'statistical_power_details',
                 'dose_response_details', 'statistical_metric_description'):
         self.fields[fld].widget.attrs['rows'] = 3
Ejemplo n.º 30
0
class FruitForm(forms.Form):
    autocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget)',
        widget=selectable.AutoCompleteWidget(FruitLookup),
        required=False,
    )
    newautocomplete = forms.CharField(
        label='Type the name of a fruit (AutoCompleteWidget which allows new items)',
        widget=selectable.AutoCompleteWidget(FruitLookup, allow_new=True),
        required=False,
    )
    combobox = forms.CharField(
        label='Type/select the name of a fruit (AutoComboboxWidget)',
        widget=selectable.AutoComboboxWidget(FruitLookup),
        required=False,
    )
    newcombobox = forms.CharField(
        label='Type/select the name of a fruit (AutoComboboxWidget which allows new items)',
        widget=selectable.AutoComboboxWidget(FruitLookup, allow_new=True),
        required=False,
    )
    # AutoCompleteSelectField (no new items)
    autocompleteselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteField)',
        required=False,
    )
    # AutoCompleteSelectField (allows new items)
    newautocompleteselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        allow_new=True,
        label='Select a fruit (AutoCompleteField which allows new items)',
        required=False,
    )
    # AutoCompleteSelectField (no new items)
    comboboxselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteSelectField with combobox)',
        required=False,
        widget=selectable.AutoComboboxSelectWidget
    )
    # AutoComboboxSelect (allows new items)
    newcomboboxselect = selectable.AutoCompleteSelectField(
        lookup_class=FruitLookup,
        allow_new=True,
        label='Select a fruit (AutoCompleteSelectField with combobox which allows new items)',
        required=False,
        widget=selectable.AutoComboboxSelectWidget
    )
    # AutoCompleteSelectMultipleField
    multiautocompleteselect = selectable.AutoCompleteSelectMultipleField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteSelectMultipleField)',
        required=False,
    )
    # AutoComboboxSelectMultipleField
    multicomboboxselect = selectable.AutoCompleteSelectMultipleField(
        lookup_class=FruitLookup,
        label='Select a fruit (AutoCompleteSelectMultipleField with combobox)',
        required=False,
        widget=selectable.AutoComboboxSelectMultipleWidget
    )
    # AutoComboboxSelectMultipleField with disabled attribute
    disabledmulticomboboxselect = selectable.AutoCompleteSelectMultipleField(
        lookup_class=FruitLookup,
        label='Disabled Selectable field',
        required=False,
        widget=selectable.AutoComboboxSelectMultipleWidget,
        initial={'1', '2'},
    )

    def __init__(self, *args, **kwargs):
        super(FruitForm, self).__init__(*args, **kwargs)
        self.fields['disabledmulticomboboxselect'].widget.attrs['disabled'] = 'disabled'