From 75776fb6c5a1b9133e9f1b4bfe17c71fa90bcf7a Mon Sep 17 00:00:00 2001 From: Rachel TORCHET <racheltorchet@users.noreply.github.com> Date: Fri, 6 Apr 2018 17:35:28 +0200 Subject: [PATCH] Update TestForm content Former-commit-id: a97b7503f52118217a2eea8451a2bf34a4418f5b --- ippisite/ippidb/forms.py | 56 +++++++++++++------- ippisite/ippidb/static/css/admin-session.css | 5 ++ ippisite/ippidb/templates/CompoundForm.html | 6 ++- ippisite/ippidb/templates/PpiForm.html | 2 + ippisite/ippidb/views.py | 6 +-- 5 files changed, 52 insertions(+), 23 deletions(-) diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index fe0f196d..8501ef91 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -4,9 +4,11 @@ from django.db import models from django.core.exceptions import ValidationError from django.core.validators import RegexValidator -from .models import Bibliography, Protein, Domain, ProteinDomainComplex, Ppi, PpiComplex, Compound, RefCompoundBiblio, Symmetry, TestActivityDescription +from .models import * from .ws import pdb_entry_exists + +""" Step 1 : IdForm """ class IdForm(ModelForm): class Meta: model = Bibliography @@ -16,6 +18,7 @@ class IdForm(ModelForm): 'id_source': forms.TextInput(attrs={'placeholder': 'ID'}), } +""" Step 2 : BibliographyForm """ class BibliographyForm(ModelForm): class Meta: model = Bibliography @@ -29,7 +32,7 @@ class BibliographyForm(ModelForm): } - +""" Step 3 : PDBForm """ def validate_pdb_exists(value): if not(pdb_entry_exists(value)): raise ValidationError( @@ -58,6 +61,8 @@ class ProteinForm(ModelForm): ProteinFormSet = modelformset_factory( Protein, exclude=('recommended_name_long', 'short_name'), extra=0) + +""" Step 4 : ProteinDomainComplexTypeForm aka. Architecture """ TYPE_COMPLEX = ( ('inhibited', 'Inhibited'), ('stabilized', 'Stabilized'), @@ -80,9 +85,11 @@ TYPE_CHOICES = ( class ProteinDomainComplexTypeForm(forms.Form): - complexChoice=forms.CharField(label="PPI Complex Type", widget=forms.Select(choices=TYPE_COMPLEX)) - complexType=forms.CharField(widget=forms.RadioSelect(choices=TYPE_CHOICES)) + complexChoice=forms.CharField(label="PPI Complex Type", widget=forms.Select(choices=TYPE_COMPLEX)) + complexType=forms.CharField(widget=forms.RadioSelect(choices=TYPE_CHOICES)) + +""" Step 5 : ProteinDomainComplexForm aka. Composition """ class ProteinDomainComplexForm(ModelForm): class Meta: @@ -108,21 +115,28 @@ class ComplexCompositionForm(forms.Form): ComplexCompositionFormSet = formset_factory(ComplexCompositionForm, extra=2) formset= ComplexCompositionFormSet() -print(formset.is_valid()) +#print(formset.is_valid()) +""" Step 6 : PpiForm """ class PpiForm(ModelForm): class Meta: model = Ppi - fields = ['pdb_id', 'symmetry'] + fields = ['pdb_id','symmetry','pockets_nb'] class PpiComplexForm(ModelForm): class Meta: model = PpiComplex - fields = ['cc_nb',] + fields = ['cc_nb'] +class PpiAndComplexForm(forms.Form): + pdb_id=forms.CharField(widget=forms.TextInput()) + symmetry=forms.ModelChoiceField(queryset=Symmetry.objects.all(), required=True) + pockets_nb=forms.IntegerField(initial=1,required=True) + cc_nb=forms.IntegerField(initial=1,required=True) +""" Step 7 : CompoundForm """ class CompoundForm(ModelForm): class Meta: @@ -147,19 +161,25 @@ class BaseCompoundFormSet(BaseFormSet): def add_fields(self, form, index): super(BaseCompoundFormSet, self).add_fields(form, index) form.fields["compound_name"] = forms.CharField(widget=forms.TextInput(attrs={'placeholder':'Name in the publication','required':'required'})) - form.fields["molecule"] = forms.CharField(widget=forms.Select(choices=TYPE_MOLECULE)) + form.fields["molecule"] = forms.CharField(widget=forms.RadioSelect(choices=TYPE_MOLECULE)) form.fields["molecule_comp"] = forms.CharField(widget=forms.TextInput(attrs={'placeholder':'Molecule composition', 'required':'required'})) CompoundFormSet = formset_factory(CompoundForm, formset=BaseCompoundFormSet, max_num=500, can_delete=True) formset = CompoundFormSet() - -class TestsForm(ModelForm): - - class Meta: - model=TestActivityDescription - fields=['test_name','test_type','test_modulation_type', 'cell_line'] - - -#CompoundFormSet = modelformset_factory( -# Compound, exclude=('mddr_compound',), extra=0) +""" Step 8 : TestsForm """ +class TestsForm(forms.Form): + activityDesc_cell_line=forms.ModelChoiceField(queryset=CellLine.objects.all(), required=True) + activityDesc_ppi=forms.CharField(widget=forms.TextInput()) + activityDesc_nb_active_compound=forms.IntegerField(initial=1,required=True) + activityDesc_test_modulation_type=forms.ModelChoiceField(queryset=TestActivityDescription.objects.all(), required=True) + activityDesc_test_name=forms.CharField(widget=forms.TextInput()) + activityDesc_type=forms.ModelChoiceField(queryset=TestActivityDescription.objects.all(), required=True) + cytotoxDesc_cell_line=forms.ModelChoiceField(queryset=CellLine.objects.all(), required=True) + cytotoxDesc_compound_concentration=forms.CharField(widget=forms.TextInput()) + cytotoxDesc_test_name=forms.CharField(widget=forms.TextInput()) + pkDesc_organism=forms.ModelChoiceField(queryset=Taxonomy.objects.all(), required=True) + pkDesc_administration_mode=forms.CharField(widget=forms.TextInput()) + pkDesc_dose=forms.IntegerField(initial=1,required=True) + pkDesc_dose_interval=forms.IntegerField(initial=1,required=True) + pkDesc_test_name=forms.CharField(widget=forms.TextInput()) diff --git a/ippisite/ippidb/static/css/admin-session.css b/ippisite/ippidb/static/css/admin-session.css index 2881b1f2..2cebca66 100644 --- a/ippisite/ippidb/static/css/admin-session.css +++ b/ippisite/ippidb/static/css/admin-session.css @@ -176,6 +176,11 @@ Description: IPPI-DB Theme margin-bottom: 5px; } +.compound_input input{ + width: 100%; + padding: 5px; +} + #compound_mol { overflow: hidden; display: flex; diff --git a/ippisite/ippidb/templates/CompoundForm.html b/ippisite/ippidb/templates/CompoundForm.html index fd72c2ee..e12d945f 100644 --- a/ippisite/ippidb/templates/CompoundForm.html +++ b/ippisite/ippidb/templates/CompoundForm.html @@ -52,12 +52,14 @@ </div> {% endfor %} </div> - <div id="molecule_comp_{{ form.molecule.id_for_label }}"> + <div class="compound_input" id="molecule_comp_{{ form.molecule.id_for_label }}"> {{form.molecule_comp}} </div> <div id="ck-button-long" class="compound_input"> <label>{{ form.is_macrocycle}}<span>{{ form.is_macrocycle.label }}</span></label> </div> + <div id="ck-button-long" class="submit_button"> Add compound + </div> </div> {% endfor %} </div> @@ -67,7 +69,7 @@ {% endif %} <input type="hidden" name="ippi_wizard-current_step" value="CompoundForm" id="id_ippi_wizard-current_step"/> </table> - <input type="submit" value="{% trans "Next step" %}"/> + <input class="submit_button" type="submit" value="{% trans "Next step" %}"/> </form> </div> </div> diff --git a/ippisite/ippidb/templates/PpiForm.html b/ippisite/ippidb/templates/PpiForm.html index a632afd5..7a37f00d 100644 --- a/ippisite/ippidb/templates/PpiForm.html +++ b/ippisite/ippidb/templates/PpiForm.html @@ -34,12 +34,14 @@ {% if wizard.form.forms %} {% for form in wizard.form.forms %} + Test {{ form }} {% endfor %} {% else %} <div class="inline_box_complex"> <div class="inline_label"> PPI: </div> <div class="input_field">{{ wizard.form.pdb_id }}</div> + <div class="input_field">{{ wizard.form.pockets_nb}}</div> <div class="inline_field">{{ wizard.form.cc_nb }}</div> <div class="inline_field">{{ wizard.form.symmetry }}</div> </div> diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index 923955e7..ea7e01e8 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -4,7 +4,7 @@ from django.shortcuts import render from django.http import HttpResponseRedirect, Http404 from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger from formtools.wizard.views import SessionWizardView, NamedUrlSessionWizardView -from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ComplexCompositionForm, ComplexCompositionFormSet, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, PpiComplexForm, ProteinFormSet,TestsForm, CompoundForm, CompoundFormSet +from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ComplexCompositionForm, ComplexCompositionFormSet, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, PpiComplexForm, PpiAndComplexForm, ProteinFormSet,TestsForm, CompoundForm, CompoundFormSet from .models import Protein, Bibliography, ProteinDomainComplex, ProteinDomainBoundComplex, RefCompoundBiblio, TestActivityDescription, Compound, Ppi, Disease, Taxonomy from .ws import get_pdb_uniprot_mapping @@ -60,7 +60,7 @@ FORMS = [("IdForm", ippidb.forms.IdForm), ("ProteinDomainComplexTypeForm", ippidb.forms.ProteinDomainComplexTypeForm), ("ProteinDomainComplexForm", ippidb.forms.ComplexCompositionFormSet), - ("PpiForm", ippidb.forms.PpiForm), + ("PpiForm", ippidb.forms.PpiAndComplexForm), ("CompoundForm", ippidb.forms.CompoundFormSet), ("TestsForm", ippidb.forms.TestsForm),] @@ -90,7 +90,7 @@ class IppiWizard(NamedUrlSessionWizardView): if self.steps.current == 'PpiForm': context['complex_choice']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('ProteinDomainComplexTypeForm-complexChoice') context['complex_type']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('ProteinDomainComplexTypeForm-complexType') - context['pdb']=self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') + context['pdb_id']=self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') return context def get_form_initial(self, step): -- GitLab