diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index ce7511d45cf395682e8795a6493d0f264fe0ab98..12e9955684d1fcf9aeb97bfd3aad5ebb72355aaf 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -8,25 +8,16 @@ from .models import Bibliography, Protein, ProteinDomainComplex, Ppi, PpiComplex from .ws import pdb_entry_exists -class IdForm(ModelForm): +class BibliographyForm(ModelForm): class Meta: model = Bibliography - fields = ['source', 'id_source'] + fields = ['source', 'id_source', 'cytotox', 'in_silico', 'in_vitro', 'in_vivo', 'in_cellulo', 'pharmacokinetic', 'xray'] widgets = { 'source': forms.RadioSelect, 'id_source': forms.TextInput(attrs={'placeholder': 'ID'}), } - -class BibliographyForm(ModelForm): - - class Meta: - model = Bibliography - fields = ['cytotox', 'in_silico', 'in_vitro', 'in_vivo', 'in_cellulo', 'pharmacokinetic', 'xray'] - - - def validate_pdb_exists(value): if not(pdb_entry_exists(value)): raise ValidationError( @@ -85,12 +76,16 @@ class ProteinDomainComplexTypeForm(forms.Form): complexType=forms.CharField(widget=forms.RadioSelect(choices=TYPE_CHOICES)) - class ProteinDomainComplexForm(ModelForm): class Meta: model = ProteinDomainComplex - fields = ['protein', 'domain', 'ppc_copy_nb'] + fields = ['protein','domain'] + + def __init__(self, *args, **kwargs): + super(ProteinDomainComplexForm, self).__init__(*args, **kwargs) + self.fields['protein'].queryset = ProteinDomainComplex.objects.filter(id='953') + self.fields['domain'].queryset = ProteinDomainComplex.objects.filter(id='953') class PpiForm(ModelForm): diff --git a/ippisite/ippidb/static/css/ippidb.css b/ippisite/ippidb/static/css/ippidb.css index af404d6c37fbf6b58c7ff0a5c487bef7ba0c5913..794a9f7c0330f1280320d8e4a772c4565e0dae68 100644 --- a/ippisite/ippidb/static/css/ippidb.css +++ b/ippisite/ippidb/static/css/ippidb.css @@ -630,7 +630,6 @@ display:block; .box { margin-top: 50px; position: relative; - min-height: 500px; } .box__inner { @@ -757,6 +756,15 @@ body { display:inline-block; } +.PperPocket { + width: 150px; + border-bottom: 1px solid #2d96fa; + border-top: 1px solid #E3E9EB; + border-left: 1px solid #E3E9EB; + border-right: 1px solid #E3E9EB; + text-align: center; +} + /* BUTTONS */ /* IdForm*/ @@ -810,7 +818,7 @@ body { } #ck-button label { - width: 80%; + width: 400px; } #ck-button label span { @@ -1462,7 +1470,7 @@ button, input, select, textarea { } #step li a, #step li a:hover, #step li a:focus { - width: 156.656px; + width: 188.8px; background-color: #E3E9EB; color:#8D8888; font-family: "PlayfairDisplayReg"; diff --git a/ippisite/ippidb/static/js/ippidb.js b/ippisite/ippidb/static/js/ippidb.js index 689d64ea4b4715ddd93dc4bc3489ef6bd4c53aec..3eb4bf470e1c1e216959ad2afb707018900eb117 100644 --- a/ippisite/ippidb/static/js/ippidb.js +++ b/ippisite/ippidb/static/js/ippidb.js @@ -1,23 +1,7 @@ -$(document).ready(function() { - var max_fields = 10; //maximum input boxes allowed - var wrapper = $(".input_fields_wrap"); //Fields wrapper - var add_button = $(".add_field_button"); //Add button ID - - var x = 1; //initlal text box count - $(add_button).click(function(e){ //on add input button click - e.preventDefault(); - if(x < max_fields){ //max input box allowed - x++; //text box increment - $(wrapper).append('<div class="input_size"><input type="text" name="PDBForm-pdb_id"/><div class="remove_field"><img class="small_icon" src="/static/images/Other/Remove.png"></div></div>'); //add input box - } - }); - - $(wrapper).on("click",".remove_field", function(e){ //user click on remove text - e.preventDefault(); $(this).parent('div').remove(); x--; - }) -}); +// Function to hide/show infos contain in a div +// Function to hide/show architectures according to the chosen type of complex $(document).ready(function(){ $("select").change(function(){ $(this).find("option:selected").each(function(){ @@ -34,6 +18,7 @@ $("select").change(function(){ }).change(); }); +// Function to enlarge some part of the main page $(document).ready(function(){ $('.box').on('click','.box__inner',function() { $(this).closest('.box').find('.box--active').removeClass('box--active'); diff --git a/ippisite/ippidb/templates/BibliographyForm.html b/ippisite/ippidb/templates/BibliographyForm.html index 6b7274119930938a2e487756141cc3ad7536737e..6fcb804c5871a2296581bb91ad632932b7c997cf 100644 --- a/ippisite/ippidb/templates/BibliographyForm.html +++ b/ippisite/ippidb/templates/BibliographyForm.html @@ -4,65 +4,70 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a class="active" href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a href='/admin-session/add/ProteinDomainComplexForm/'>{% trans "Composition" %}</a></li> <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> <div id="Form"> <div class="step_desc"> - <p>Based on the ID you have provided, we have identified the following information concerning your bibliographic source. - Please check that the information below is correct (Title, Authors etc. ) and answer the few questions about the content of your bibliographic source.</p> - </div> - <div class="publi_info"> - <!--{% for info in infos_publi %} - {% if info.id_source == "8703835" %} - <span>{{ info.title }}</span> - {% endif %} - {% endfor %}--> + <p> Please provide a valid ID for your bibliographic source, either a PubMed ID or WIPO ID. This ID should correspond to a bibliographic source in its final format. Therefore, PubMed articles in « Just Accepted » format should not be used as a source of data as they are not considered the official version of record. </p> </div> <form action="" method="post"> {% csrf_token %} <table> - {{ wizard.management_form }} - {{ wizard.form.errors}} - {{ wizard.form.non_field_errors}} - {% block custom_form %}{% endblock %} - - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} - {% else %} - <p> This publication contains :<br/></p> - <div id="ck-button"> - <label> - <input type="checkbox"><span>{{ wizard.form.cytotox.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.in_silico.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.in_vitro.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.in_vivo.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.in_cellulo.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.pharmacokinetic.label }}</span> - </label> - <label> - <input type="checkbox"><span>{{ wizard.form.xray.label }}</span> - </label> + {{ wizard.management_form }} + {{ wizard.form.errors}} + {{ wizard.form.non_field_errors}} + {% block custom_form %}{% endblock %} + + {% if wizard.form.forms %} + {{ wizard.form.management_form }} + {% for form in wizard.form.forms %} + {{ form }} + {% endfor %} + {% else %} + <div> + <div id="id_IdForm-source"> + {% for radio in wizard.form.source %} + {{ radio.tag }} + <label for="{{ radio.id_for_label }}"> + <span>{{ radio.choice_label }}</span> + </label> + {% endfor %} + </div> + {{ wizard.form.id_source}} + </div> + <a> Get infos </a> + <div id="publi_infos"> blablabla publi + <p> This publication contains :<br/></p> + <div id="ck-button"> + <label> + <input type="checkbox"><span>{{ wizard.form.cytotox.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.in_silico.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.in_vitro.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.in_vivo.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.in_cellulo.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.pharmacokinetic.label }}</span> + </label> + <label> + <input type="checkbox"><span>{{ wizard.form.xray.label }}</span> + </label> + </div> </div> - {% endif %} + {% endif %} </table> <input type="submit" value="{% trans "Next step" %}"/> </form> diff --git a/ippisite/ippidb/templates/IdForm.html b/ippisite/ippidb/templates/IdForm.html deleted file mode 100644 index 977a4fc3d4ff4963b7a6949a3e7b425db4e7cec6..0000000000000000000000000000000000000000 --- a/ippisite/ippidb/templates/IdForm.html +++ /dev/null @@ -1,47 +0,0 @@ -{% extends "add.html" %} -{% load i18n %} - -{% block form %} -<div id="step"> - <ul> - <li><a class="active" href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> - <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> - <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> - <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> - <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> - </ul> -</div> -<div id="Form"> - <div class="step_desc"> - <p> Please provide a valid ID for your bibliographic source, either a PubMed ID or WIPO ID. This ID should correspond to a bibliographic source in its final format. Therefore, PubMed articles in « Just Accepted » format should not be used as a source of data as they are not considered the official version of record. </p> - </div> - <form action="" method="post"> - {% csrf_token %} - <table> - {{ wizard.management_form }} - {{ wizard.form.errors}} - {{ wizard.form.non_field_errors}} - {% block custom_form %}{% endblock %} - - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} - {% else %} - <div id="id_IdForm-source"> - {% for radio in wizard.form.source %} - {{ radio.tag }} - <label for="{{ radio.id_for_label }}"> - <span>{{ radio.choice_label }}</span> - </label> - {% endfor %} - </div> - {{ wizard.form.id_source}} - {% endif %} - </table> - <input type="submit" value="{% trans "Next step" %}"/> - </form> -</div> -{% endblock %} \ No newline at end of file diff --git a/ippisite/ippidb/templates/PDBForm.html b/ippisite/ippidb/templates/PDBForm.html index bfac10f460cbc25b5d61db9dfb7d70341ac3001f..69d40bf9c6adbfbe41376bcb2dd1caea89d30807 100644 --- a/ippisite/ippidb/templates/PDBForm.html +++ b/ippisite/ippidb/templates/PDBForm.html @@ -4,11 +4,10 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a class="active" href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a href='/admin-session/add/ProteinDomainComplexForm/'>{% trans "Composition" %}</a></li> <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> diff --git a/ippisite/ippidb/templates/PpiForm.html b/ippisite/ippidb/templates/PpiForm.html index bf191d54738a2d7662ea07f749f489b374f28b58..243a2393865db96cca83470089f2430f04a3e982 100644 --- a/ippisite/ippidb/templates/PpiForm.html +++ b/ippisite/ippidb/templates/PpiForm.html @@ -4,17 +4,17 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a href='/admin-session/add/ProteinDomainComplexForm/'>{% trans "Composition" %}</a></li> <li><a class="active" href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> <div id="Form"> <div class="step_desc"> - <p>Now that you have created ALL complexes that participate to the formation of the PPI, you need to constuct your PPI by selecting your complex bound and if necessary you partner complex along with their stoichiometry in the PPI.</p> + <p>You have selected a <span style="color:#2d96fa;">{{ complex_type }}</span> that is <span style="color:#2d96fa;">{{ complex_choice }}</span> by the binding of PPI modulator. <br/> + Now that you have created a complexe that participate to the formation of the PPI, please choose the stoichiometry of the PPI.</p> </div> <form action="" method="post"> {% csrf_token %} @@ -30,7 +30,11 @@ {{ form }} {% endfor %} {% else %} - {{ wizard.form }} + <div class="inline_box_complex"> + <div class="inline_label"> Symmetry: </div> + <div class="PperPocket">{{ pdb_id }}</div> + <div class="inline_field"> {{ form.symmetry }}</div> + </div> {% endif %} </table> <input type="submit" value="{% trans "submit" %}"/> diff --git a/ippisite/ippidb/templates/ProteinDomainComplexForm.html b/ippisite/ippidb/templates/ProteinDomainComplexForm.html index cb05b79415ca22d18aedd142acd29c02d701cb5d..9284a87ec3658cc84a3d0623d7bfab52d0190c8e 100644 --- a/ippisite/ippidb/templates/ProteinDomainComplexForm.html +++ b/ippisite/ippidb/templates/ProteinDomainComplexForm.html @@ -4,11 +4,10 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> - <li><a class="active" href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a class="active" href='/admin-session/add/ProteinDomainComplexForm/'>{% trans "Composition" %}</a></li> <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> @@ -30,39 +29,61 @@ <div class="step_desc"> <p>You have selected a <span style="color:#2d96fa;">{{ complex_type }}</span> that is <span style="color:#2d96fa;">{{ complex_choice }}</span> by the binding of PPI modulator.<br/> According to this architecture you need to specify:<br/> - The bound complex containing a protein<br/> </p> </div> <div class="inline_box_complex"> <div class="inline_label"> Bound complex : </div> <div class="inline_field"> {{ form.protein }}</div> <div class="inline_field"> {{ form.domain }}</div> - {% if complex_type == "Hetero2merAB" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "Homo2merA2" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "Hetero2merAB" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "HomoLike2mer" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "Homo3merA3" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "Homo3merA2" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "Homo4merA4" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "RingHomo3mer" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - {% elif complex_type == "RingHomo5mer" %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> + {% if complex_type == "Hetero2merAB" and complex_choice == "inhibited" %} + <div class="inline_field"><div class="PperPocket">1</div></div> + </div> + <div class="inline_box_complex"> + <div class="inline_label"> Partner complex : </div> + <div class="inline_field"> {{ form.protein }}</div> + <div class="inline_field"> {{ form.domain }}</div> + <div class="inline_field"><div class="PperPocket">1</div></div> + {% elif complex_type == "Homo2merA2" and complex_choice == "inhibited" %} + <div class="inline_field"><div class="PperPocket">1</div></div> + {% elif complex_type == "Hetero2merAB" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">1</div></div> + + {% elif complex_type == "Homo2merA2" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">2</div></div> + + {% elif complex_type == "HomoLike2mer" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">1</div></div> + + {% elif complex_type == "Homo3merA3" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">3</div></div> + + {% elif complex_type == "Homo3merA2" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">2</div></div> + </div> + <div class="inline_box_complex"> + <div class="inline_label"> Partner complex : </div> + <div class="inline_field"> {{ form.protein }}</div> + <div class="inline_field"> {{ form.domain }}</div> + <div class="inline_field"><div class="PperPocket">1</div></div> + {% elif complex_type == "Homo4merA4" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">4</div></div> + + {% elif complex_type == "RingHomo3mer" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">3</div></div> + + {% elif complex_type == "RingHomo5mer" and complex_choice == "stabilized" %} + <div class="inline_field"><div class="PperPocket">5</div></div> + {% else %} - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> - </div> + <!--<div class="inline_field"> {{ form.ppc_copy_nb }}</div> --> + </div> + <div class="inline_box_complex"> <div class="inline_box_complex"> <div class="inline_label"> Partner complex : </div> <div class="inline_field"> {{ form.protein }}</div> <div class="inline_field"> {{ form.domain }}</div> - <div class="inline_field"> {{ form.ppc_copy_nb }}</div> + <!--<div class="inline_field"> {{ form.ppc_copy_nb }}</div> --> + </div> {% endif %} </div> {% endif %} diff --git a/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html b/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html index 36b5c4ca8c2fda83cc3ffe81ca575aaefb9198a6..d92f0787a2486c598eee9ff8e9d12e819f6c5f29 100644 --- a/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html +++ b/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html @@ -4,17 +4,16 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a class="active" href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a href='/admin-session/add/ProteinDomainComplexForm/'>{% trans "Composition" %}</a></li> <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> <div id="Form"> <div class="step_desc"> - <p>Now that you have listed ALL proteins and PFAM domains that participate to the PPI, you need to select an architecture for this PPI complex among the proposed schematics below.</br> + <p>Now you need to select an architecture for the PPI complex among the proposed schematics below.</br> If your PPI complex is not among them, please select « Custom »</p> </div> <form action="" method="post"> diff --git a/ippisite/ippidb/templates/ProteinForm.html b/ippisite/ippidb/templates/ProteinForm.html index 47b713fc0c806bcd0d31c71fda4111a7e6cfbea2..09ee2a8399bdd3ffbffb260bcee4fe0867b9dda6 100644 --- a/ippisite/ippidb/templates/ProteinForm.html +++ b/ippisite/ippidb/templates/ProteinForm.html @@ -4,11 +4,10 @@ {% block form %} <div id="step"> <ul> - <li><a href='/admin-session/add/IdForm/'>{% trans "ID" %}</a></li> <li><a href='/admin-session/add/BibliographyForm/'>{% trans "Bibliography" %}</a></li> <li><a href='/admin-session/add/PDBForm/'>{% trans "PDB id" %}</a></li> - <li><a class="active" href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a href='/admin-session/add/ProteinDomainComplexTypeForm/'>{% trans "Architecture" %}</a></li> + <li><a class="active" href='/admin-session/add/ProteinForm/'>{% trans "Proteins" %}</a></li> <li><a href='/admin-session/add/PPIForm/'>{% trans "PPI" %}</a></li> </ul> </div> diff --git a/ippisite/ippidb/templates/admin-session.html b/ippisite/ippidb/templates/admin-session.html index 56fbabd87e9451d6c971219fe17f6b83a3f8fae3..df0c6dd9cf3b9709e61a524b797f648bcf78d484 100644 --- a/ippisite/ippidb/templates/admin-session.html +++ b/ippisite/ippidb/templates/admin-session.html @@ -12,7 +12,7 @@ <a hfref="/admin-session/view">View Content</a> </li> <li> - <a href="/admin-session/add/IdForm">Add New Content</a> + <a href="/admin-session/add/BibliographyForm">Add New Content</a> </li> <li> <a hfref="/admin-session/update">Update Content</a> diff --git a/ippisite/ippidb/urls.py b/ippisite/ippidb/urls.py index dd5ce17550a400de479488000df9f293cfc07499..9228d00d4e7feba2d7cb392cc9bccc68ed9bc681 100644 --- a/ippisite/ippidb/urls.py +++ b/ippisite/ippidb/urls.py @@ -1,6 +1,6 @@ from django.conf.urls import include, url from . import views -from ippidb.forms import IdForm, BibliographyForm, PDBForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm +from ippidb.forms import BibliographyForm, PDBForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm from ippidb.views import IppiWizard, FORMS ippidb_wizard = IppiWizard.as_view(FORMS, diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index de3a327ac982492c6ac16f70a51ee1240aa4a5ce..7e8e889edb07a45dbd59f1123b2dae5ab4ff296b 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -3,8 +3,7 @@ import ippidb from django.shortcuts import render from django.http import HttpResponseRedirect, Http404 from formtools.wizard.views import SessionWizardView, NamedUrlSessionWizardView - -from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet, PDBFormSet +from .forms import BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet, PDBFormSet from .models import Protein, Bibliography, ProteinDomainComplex, RefCompoundBiblio from .ws import get_pdb_uniprot_mapping @@ -51,19 +50,15 @@ def tutorials(request): def adminSession(request): return render(request, 'admin-session.html') -FORMS = [("IdForm", ippidb.forms.IdForm), - ("BibliographyForm", ippidb.forms.BibliographyForm), +FORMS = [("BibliographyForm", ippidb.forms.BibliographyForm), ("PDBForm", ippidb.forms.PDBFormSet), - ("ProteinForm", ippidb.forms.ProteinFormSet), ("ProteinDomainComplexTypeForm", ippidb.forms.ProteinDomainComplexTypeForm), ("ProteinDomainComplexForm", ippidb.forms.ProteinDomainComplexForm), ("PpiForm", ippidb.forms.PpiForm)] -TEMPLATES = {"IdForm": "IdForm.html", - "BibliographyForm": "BibliographyForm.html", +TEMPLATES = {"BibliographyForm": "BibliographyForm.html", "PDBForm": "PDBForm.html", - "ProteinForm": "ProteinForm.html", "ProteinDomainComplexTypeForm": "ProteinDomainComplexTypeForm.html", "ProteinDomainComplexForm": "ProteinDomainComplexForm.html", "PpiForm": "PpiForm.html"} @@ -76,17 +71,23 @@ class IppiWizard(NamedUrlSessionWizardView): if self.steps.current == 'ProteinDomainComplexForm': context['complex_type']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('complex_type') context['complex_choice']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('complex_choice') + if self.steps.current == 'PpiForm': + context['complex_type']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('complex_type') + context['complex_choice']=self.storage.get_step_data('ProteinDomainComplexTypeForm').get('complex_choice') + context['pdb_id']=self.storage.get_step_data('PDBForm').get('pdb_id') + context['pdb_id']=context['pdb_id'][0] return context def get_template_names(self): return [TEMPLATES[self.steps.current]] def get_form_instance(self, step): - if self.steps.current == 'BibliographyForm': - pk = self.storage.get_step_data('IdForm').get('pk') + if self.steps.current == 'PDBForm': + pk = self.storage.get_step_data('BibliographyForm').get('pk') return Bibliography.objects.get(pk=pk) if self.steps.current == 'ProteinForm': pks = self.storage.get_step_data('PDBForm').get('pks') + print(Protein.objects.filter(id__in=pks)) return Protein.objects.filter(id__in=pks) def process_step(self, form): @@ -96,11 +97,9 @@ class IppiWizard(NamedUrlSessionWizardView): when appropriate """ data = super(IppiWizard, self).process_step(form).copy() - if self.steps.current == 'IdForm': + if self.steps.current == 'Bibliography': form.instance.autofill() - # reset data for the next form - del self.storage.data['step_data']['BibliographyForm'] - if self.steps.current in ['IdForm', 'Bibliography']: + if self.steps.current == 'Bibliography': form.instance.save() data['pk'] = form.instance.id if self.steps.current == 'PDBForm': @@ -122,7 +121,6 @@ class IppiWizard(NamedUrlSessionWizardView): if self.steps.current=='ProteinDomainComplexTypeForm': data['complex_type']=data['ProteinDomainComplexTypeForm-complexType'] data['complex_choice']=data['ProteinDomainComplexTypeForm-complexChoice'] - #print(data) return data def done(self, form_list, **kwargs):