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