From bf6e8f7215ae3cc23a2d40ce11bfd54519b5e622 Mon Sep 17 00:00:00 2001 From: Rachel TORCHET <racheltorchet@users.noreply.github.com> Date: Mon, 6 Nov 2017 14:40:25 +0100 Subject: [PATCH] Work in progress for Wizard form Former-commit-id: 4d6317a7f65689b800ff2807ee628489d4e07dcb --- ippisite/ippidb/forms.py | 13 +- ippisite/ippidb/static/css/ippidb.css | 37 +++-- .../ippidb/templates/BibliographyForm.html | 110 +++++++------- ippisite/ippidb/templates/PDBForm.html | 38 ++--- ippisite/ippidb/templates/PpiForm.html | 49 ++++--- .../templates/ProteinDomainComplexForm.html | 4 +- .../ProteinDomainComplexTypeForm.html | 138 +++++++++--------- ippisite/ippidb/templates/about.html | 9 +- ippisite/ippidb/templates/add.html | 4 +- ippisite/ippidb/templates/admin-session.html | 6 +- ippisite/ippidb/templates/done.html | 22 +++ ippisite/ippidb/templates/drug-candidate.html | 6 +- ippisite/ippidb/templates/general.html | 4 +- ippisite/ippidb/templates/index.html | 8 +- ippisite/ippidb/templates/pharmacology.html | 6 +- .../ippidb/templates/physicochemistry.html | 6 +- ippisite/ippidb/views.py | 81 ++++------ 17 files changed, 281 insertions(+), 260 deletions(-) create mode 100644 ippisite/ippidb/templates/done.html diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index 12e99556..412314e2 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -31,10 +31,6 @@ class PDBForm(forms.Form): validate_pdb_exists ]) -PDBFormSet = formset_factory(PDBForm) -formset = PDBFormSet() - - class ProteinForm(ModelForm): class Meta: @@ -81,11 +77,12 @@ class ProteinDomainComplexForm(ModelForm): class Meta: model = ProteinDomainComplex fields = ['protein','domain'] - - def __init__(self, *args, **kwargs): + + def __init__(self, id, *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') + self.fields['protein'].queryset = ProteinDomainComplex.objects.filter(id=id) + self.fields['domain'].queryset = ProteinDomainComplex.objects.filter(id=id) + class PpiForm(ModelForm): diff --git a/ippisite/ippidb/static/css/ippidb.css b/ippisite/ippidb/static/css/ippidb.css index 794a9f7c..c15578b6 100644 --- a/ippisite/ippidb/static/css/ippidb.css +++ b/ippisite/ippidb/static/css/ippidb.css @@ -170,10 +170,13 @@ div.tabs { } .jumbotron { - padding: 40px 15px; + padding: 50px; margin-bottom: 0px; color: inherit; background-image: url("../images/banner.png"); + background-repeat: no-repeat; + background-color: #F9F9F9; + background-size: cover; } #home div.jumbotron{ @@ -544,6 +547,10 @@ font-size: 42px; width:80%; } +table { + width:100%; +} + button { font-family:"BrandonGrotesqueReg"; } @@ -630,6 +637,8 @@ display:block; .box { margin-top: 50px; position: relative; + width: 1200px; + height: 500px; } .box__inner { @@ -711,6 +720,11 @@ display:block; /* FORMS */ +.form_div { + margin: 0 auto; + width: 43% +} + #Form{ border: 1px solid; padding: 15px; @@ -719,10 +733,6 @@ display:block; min-height: 350px; } -form { - width : 80%; -} - .readonly { background-color: #E8E0E0; color: #8D8889; @@ -771,7 +781,6 @@ body { #id_IdForm-source { overflow: hidden; - width: 400px; padding-bottom: 5px; } @@ -818,7 +827,7 @@ body { } #ck-button label { - width: 400px; + width: 100%; } #ck-button label span { @@ -1004,7 +1013,6 @@ body { #id_ProteinDomainComplexTypeForm-stabilized { overflow: hidden; - width: 600px; padding-bottom: 5px; display: flex; flex-wrap: wrap; @@ -1437,17 +1445,19 @@ body { margin: 5px; padding: 10px; display: inline-flex; + margin-left: -150px; + margin-right: -150px; } button, input, select, textarea { line-height: inherit; font-family: "BrandonGrotesqueReg"; - width: 400px; border-bottom: 1px solid #2d96fa; border-top: 1px solid #E3E9EB; border-left: 1px solid #E3E9EB; border-right: 1px solid #E3E9EB; text-align: center; + width: 100% } [type="reset"], [type="submit"], button, html [type="button"] { @@ -1491,6 +1501,13 @@ button, input, select, textarea { margin-bottom: 15px; } +.step_step_desc { + padding: 15px; + margin-bottom: 15px; + margin-left: -150px; + margin-right: -150px; +} + .small_icon { width:30%; @@ -1516,6 +1533,8 @@ button, input, select, textarea { background-color: rgb(227, 233, 235); padding: 10px; margin: 10px; + margin-left: -81px; + margin-right: -81px; } #type_title h1{ diff --git a/ippisite/ippidb/templates/BibliographyForm.html b/ippisite/ippidb/templates/BibliographyForm.html index 6fcb804c..cf11a4bd 100644 --- a/ippisite/ippidb/templates/BibliographyForm.html +++ b/ippisite/ippidb/templates/BibliographyForm.html @@ -15,61 +15,63 @@ <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> - <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 class="form_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> + <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> - {{ 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> + <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> - </div> - {% endif %} - </table> - <input type="submit" value="{% trans "Next step" %}"/> - </form> + {% endif %} + </table> + <input type="submit" value="{% trans "Next step" %}"/> + </form> + </div> </div> {% endblock %} \ No newline at end of file diff --git a/ippisite/ippidb/templates/PDBForm.html b/ippisite/ippidb/templates/PDBForm.html index 69d40bf9..701676fe 100644 --- a/ippisite/ippidb/templates/PDBForm.html +++ b/ippisite/ippidb/templates/PDBForm.html @@ -15,22 +15,26 @@ <div class="step_desc"> <p>Please provide a valid PDB code that contains the structure of the full PPI complex for which you have data. If you have several PDB codes please list them all as they may contain information about homologous protein partners. The information within the PDB file will be used to prefill information of the corresponding proteins and domains participating to the PPI.</p> </div> - <form action="" method="post"> - {% csrf_token %} - <table> - {{ wizard.management_form }} - {{ wizard.form.non_field_errors}} - {% block custom_form %}{% endblock %} - - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {{ formset.management_form }} - {% for form in wizard.form.forms %} - {{ form }} - {% endfor %} - {% endif %} - </table> - <input type="submit" value="{% trans "Next step" %}"/> - </form> + <div class="form_div"> + <form action="" method="post"> + {% csrf_token %} + <table> + {{ wizard.management_form }} + {{ wizard.form.non_field_errors}} + {% block custom_form %}{% endblock %} + + {% if wizard.form.forms %} + {{ wizard.form.management_form }} + {{ formset.management_form }} + {% for form in wizard.form.forms %} + test {{ form }} + {% endfor %} + {% else %} + {{form.pdb_id}} + {% endif %} + </table> + <input type="submit" value="{% trans "Next step" %}"/> + </form> + </div> </div> {% endblock %} diff --git a/ippisite/ippidb/templates/PpiForm.html b/ippisite/ippidb/templates/PpiForm.html index 243a2393..a65384f9 100644 --- a/ippisite/ippidb/templates/PpiForm.html +++ b/ippisite/ippidb/templates/PpiForm.html @@ -16,28 +16,31 @@ <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 %} - <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 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" %}"/> - </form> + <div class="form_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 class="inline_box_complex"> + <div class="inline_label"> PPI: </div> + <div class="PperPocket">{{ form.pdb_id }}</div> + <div clas="inline_label">{{ form.pockets_nb}}</div> + <div class="inline_field"> {{ form.symmetry }}</div> + </div> + {% endif %} + </table> + <input type="submit" value="{% trans "submit" %}"/> + </form> + <div> </div> {% endblock %} \ No newline at end of file diff --git a/ippisite/ippidb/templates/ProteinDomainComplexForm.html b/ippisite/ippidb/templates/ProteinDomainComplexForm.html index 9284a87e..6c28a1af 100644 --- a/ippisite/ippidb/templates/ProteinDomainComplexForm.html +++ b/ippisite/ippidb/templates/ProteinDomainComplexForm.html @@ -13,6 +13,7 @@ </div> <div id="Form"> + <div class="form_div"> <form action="" method="post"> {% csrf_token %} {{ wizard.management_form }} @@ -26,7 +27,7 @@ {{ form }} {% endfor %} {% else %} - <div class="step_desc"> + <div class="step_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/> </p> @@ -90,5 +91,6 @@ <input type="submit" value="{% trans "Next step" %}"/> </form> + </div> </div> {% endblock %} \ No newline at end of file diff --git a/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html b/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html index d92f0787..95945d70 100644 --- a/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html +++ b/ippisite/ippidb/templates/ProteinDomainComplexTypeForm.html @@ -14,77 +14,79 @@ <div id="Form"> <div class="step_desc"> <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> +If your PPI complex is not among them, please select « Custom » {{ pdb }}</p> </div> - <form action="" method="post"> - {% csrf_token %} - <table> - {{ wizard.management_form }} - {{ wizard.form.non_field_errors}} - {% block custom_form %}{% endblock %} - - {% if wizard.form.forms %} - {{ wizard.form.management_form }} - {% for form in wizard.form.forms %} - {% endfor %} - {% else %} - <div id="id_ProteinDomainComplexTypeForm-stabilized"> - PPI Complex Type: {{ form.complexChoice }} - <!--<select> - <option value="inhibited">Inhibited</option> - <option value="stabilized">Stabilized</option> - </select>--> - </div> - <div id="type_style" class="inhibited box"> - <div id="type_title"> - <h1>Inhibited</h1> - </div> - <div id="id_ProteinDomainComplexTypeForm-inhibited"> - {% for radio in wizard.form.complexType %} - <!-- I'm sorry for this bad/ugly code but I couldn't figure how to do it in a proper way - If you have a better idea feel free to let me know rachel.torchet@pasteur.fr --> - {% if "Inhib_" in radio.choice_label%} - <!-- If the label of the radio button start with Inhib (I had to put a prefix to seperate Inhibitor and Stabilizator) --> - {% with LabelName=radio.choice_label|cut:"Inhib_" %} - <!-- Then cut this prefix to create a better label --> - {% with InhibClass=LabelName|cut:" " %} - <!-- Then discard the blank spaces to get a tag for the corresponding CSS Class --> - <div class="imageBack_Inhib_{{InhibClass}}"> - <!-- For each radio option there is a separate CSS class --> - {{ radio.tag }} - <label for="{{ radio.id_for_label }}"> - <span>{{InhibClass}}</span> - </label> - </div> - {% endwith %} - {% endwith %} - {% endif %} - {% endfor %} + <div class="form_div"> + <form action="" method="post"> + {% csrf_token %} + <table> + {{ wizard.management_form }} + {{ wizard.form.non_field_errors}} + {% block custom_form %}{% endblock %} + + {% if wizard.form.forms %} + {{ wizard.form.management_form }} + {% for form in wizard.form.forms %} + {% endfor %} + {% else %} + <div id="id_ProteinDomainComplexTypeForm-stabilized"> + PPI Complex Type: {{ form.complexChoice }} + <!--<select> + <option value="inhibited">Inhibited</option> + <option value="stabilized">Stabilized</option> + </select>--> </div> - </div> - <div id="type_style" class="stabilized box"> - <div id="type_title"> - <h1>Stabilized</h1> + <div id="type_style" class="inhibited box"> + <div id="type_title"> + <h1>Inhibited</h1> + </div> + <div id="id_ProteinDomainComplexTypeForm-inhibited"> + {% for radio in wizard.form.complexType %} + <!-- I'm sorry for this bad/ugly code but I couldn't figure how to do it in a proper way - If you have a better idea feel free to let me know rachel.torchet@pasteur.fr --> + {% if "Inhib_" in radio.choice_label%} + <!-- If the label of the radio button start with Inhib (I had to put a prefix to seperate Inhibitor and Stabilizator) --> + {% with LabelName=radio.choice_label|cut:"Inhib_" %} + <!-- Then cut this prefix to create a better label --> + {% with InhibClass=LabelName|cut:" " %} + <!-- Then discard the blank spaces to get a tag for the corresponding CSS Class --> + <div class="imageBack_Inhib_{{InhibClass}}"> + <!-- For each radio option there is a separate CSS class --> + {{ radio.tag }} + <label for="{{ radio.id_for_label }}"> + <span>{{InhibClass}}</span> + </label> + </div> + {% endwith %} + {% endwith %} + {% endif %} + {% endfor %} + </div> </div> - <div id="id_ProteinDomainComplexTypeForm-stabilized"> - {% for radio in wizard.form.complexType %} - {% if "Stab_" in radio.choice_label%} - {% with LabelName=radio.choice_label|cut:"Stab_" %} - {% with StabClass=LabelName|cut:" " %} - <div class="imageBack_Stab_{{StabClass}}"> - {{ radio.tag }} - <label for="{{ radio.id_for_label }}"> - <span>{{ StabClass}}</span> - </label> - </div> - {% endwith %} - {% endwith %} - {% endif %} - {% endfor %} + <div id="type_style" class="stabilized box"> + <div id="type_title"> + <h1>Stabilized</h1> + </div> + <div id="id_ProteinDomainComplexTypeForm-stabilized"> + {% for radio in wizard.form.complexType %} + {% if "Stab_" in radio.choice_label%} + {% with LabelName=radio.choice_label|cut:"Stab_" %} + {% with StabClass=LabelName|cut:" " %} + <div class="imageBack_Stab_{{StabClass}}"> + {{ radio.tag }} + <label for="{{ radio.id_for_label }}"> + <span>{{ StabClass}}</span> + </label> + </div> + {% endwith %} + {% endwith %} + {% endif %} + {% endfor %} + </div> </div> - </div> - {% endif %} - </table> - <input type="submit" value="{% trans "Next step" %}"/> - </form> + {% endif %} + </table> + <input type="submit" value="{% trans "Next step" %}"/> + </form> + </div> </div> {% endblock %} \ No newline at end of file diff --git a/ippisite/ippidb/templates/about.html b/ippisite/ippidb/templates/about.html index 8c80686f..6bd09a8e 100644 --- a/ippisite/ippidb/templates/about.html +++ b/ippisite/ippidb/templates/about.html @@ -1,9 +1,10 @@ -{% extends "base.html" %} +{% extends "index.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} {% block content %} +{% block secondarynav %} <div id="mainnav"> <nav class="secondary-nav"> <div class="inner-wrap"> @@ -18,17 +19,19 @@ <a href="/about/physicochemistry">Physicochemistry</a> </li> <li> - <a href="/about/drug-candidate">Drug Candidate</a> + <a href="/about/drug-candidate">Drug candidate</a> </li> </ul> </div> </nav> </div> +{% endblock %} + <div class="inner-wrap"> <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} About {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/add.html b/ippisite/ippidb/templates/add.html index 604a9568..2e6b988e 100644 --- a/ippisite/ippidb/templates/add.html +++ b/ippisite/ippidb/templates/add.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "admin-session.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -25,7 +25,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} > Add New Content{% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/admin-session.html b/ippisite/ippidb/templates/admin-session.html index df0c6dd9..9885374b 100644 --- a/ippisite/ippidb/templates/admin-session.html +++ b/ippisite/ippidb/templates/admin-session.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "index.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -15,7 +15,7 @@ <a href="/admin-session/add/BibliographyForm">Add New Content</a> </li> <li> - <a hfref="/admin-session/update">Update Content</a> + <a href="/admin-session/update">Update Content</a> </li> </ul> </div> @@ -25,7 +25,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} Admin {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/done.html b/ippisite/ippidb/templates/done.html new file mode 100644 index 00000000..4db4edb7 --- /dev/null +++ b/ippisite/ippidb/templates/done.html @@ -0,0 +1,22 @@ +{% extends "add.html" %} +{% load i18n %} + +{% block form %} +<div id="step"> + <ul> + <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/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="form_div"> + CONGRATULATIONS!!! New publication added + {% for form in form_data %} + {{ form.id_source }} + {% endfor %} + </div> +</div> +{% endblock %} diff --git a/ippisite/ippidb/templates/drug-candidate.html b/ippisite/ippidb/templates/drug-candidate.html index cb12b7ed..f6d5d96e 100644 --- a/ippisite/ippidb/templates/drug-candidate.html +++ b/ippisite/ippidb/templates/drug-candidate.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "about.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -18,7 +18,7 @@ <a href="/about/physicochemistry">Physicochemistry</a> </li> <li> - <a href="/about/drug-candidate">Drug Candidate</a> + <a href="/about/drug-candidate">Drug candidate</a> </li> </ul> </div> @@ -28,7 +28,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} > Drug candidate {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/general.html b/ippisite/ippidb/templates/general.html index 8cede2de..792716bf 100644 --- a/ippisite/ippidb/templates/general.html +++ b/ippisite/ippidb/templates/general.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "about.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -28,7 +28,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} > General informations {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/index.html b/ippisite/ippidb/templates/index.html index ec88e4b0..1d9aa96e 100644 --- a/ippisite/ippidb/templates/index.html +++ b/ippisite/ippidb/templates/index.html @@ -5,12 +5,6 @@ {% block content %} <div class="inner-wrap"> - <nav class="breadcrumb" role="navigation"> - <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> - <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne - </div> - </nav> <div id="main-wrapper" class="page"> <div id="main"> <div id="content" class="main-content"> @@ -21,8 +15,10 @@ <div class="main__inner"> <div class="region region-content"> <div class="page-intro"> + {% block pageintro %} Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam vulputate felis ac augue pretium, ac blandit lectus mattis. Vestibulum iaculis consequat facilisis. Duis porttitor erat mauris, non porttitor eros feugiat eu. Pellentesque id nisl vel nisl imperdiet convallis vel sed lectus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec dolor urna, posuere vitae leo quis, hendrerit imperdiet enim. Nunc nec euismod nisi. Phasellus ut ante ante. <br/> Maecenas sodales egestas porta. Sed et posuere justo. Nullam lectus lacus, gravida quis justo ac, convallis rhoncus orci. Mauris commodo risus at sapien malesuada, eget semper purus feugiat. Aliquam ut cursus ex. Donec vitae odio a sapien efficitur mattis in id enim. Maecenas pulvinar nunc ornare ligula condimentum elementum blandit at arcu. Donec id tincidunt turpis. Proin eu nisl iaculis, ultrices odio vitae, pharetra felis. Donec pellentesque non tellus vel porta. <br/> + {% endblock %} </div> <div class="main-publi"> <div class="latest-publi"> Latest publication</div> diff --git a/ippisite/ippidb/templates/pharmacology.html b/ippisite/ippidb/templates/pharmacology.html index b8b91875..fd4c21ef 100644 --- a/ippisite/ippidb/templates/pharmacology.html +++ b/ippisite/ippidb/templates/pharmacology.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "about.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -18,7 +18,7 @@ <a href="/about/physicochemistry">Physicochemistry</a> </li> <li> - <a href="/about/drug-candidate">Drug Candidate</a> + <a href="/about/drug-candidate">Drug candidate</a> </li> </ul> </div> @@ -28,7 +28,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} > Pharmacology {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/templates/physicochemistry.html b/ippisite/ippidb/templates/physicochemistry.html index a388313c..7965b2fd 100644 --- a/ippisite/ippidb/templates/physicochemistry.html +++ b/ippisite/ippidb/templates/physicochemistry.html @@ -1,4 +1,4 @@ -{% extends "base.html" %} +{% extends "about.html" %} {% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %} @@ -18,7 +18,7 @@ <a href="/about/physicochemistry">Physicochemistry</a> </li> <li> - <a href="/about/drug-candidate">Drug Candidate</a> + <a href="/about/drug-candidate">Drug candidate</a> </li> </ul> </div> @@ -28,7 +28,7 @@ <nav class="breadcrumb" role="navigation"> <div id="breadcrumb-label" class="breadcrumb-label">You are here</div> <div aria-labelledby="breadcrumb-label"> - Fonction Fil d'Arianne + {% block breadcrumb %} {{block.super}} > Physicochemistry {% endblock %} </div> </nav> <div id="main-wrapper" class="page"> diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index 7e8e889e..668943c0 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -3,7 +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 BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet, PDBFormSet +from .forms import BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet from .models import Protein, Bibliography, ProteinDomainComplex, RefCompoundBiblio from .ws import get_pdb_uniprot_mapping @@ -51,17 +51,18 @@ def adminSession(request): return render(request, 'admin-session.html') FORMS = [("BibliographyForm", ippidb.forms.BibliographyForm), - ("PDBForm", ippidb.forms.PDBFormSet), + ("PDBForm", ippidb.forms.PDBForm), ("ProteinDomainComplexTypeForm", ippidb.forms.ProteinDomainComplexTypeForm), ("ProteinDomainComplexForm", ippidb.forms.ProteinDomainComplexForm), - ("PpiForm", ippidb.forms.PpiForm)] + ("PpiForm", ippidb.forms.PpiForm),] TEMPLATES = {"BibliographyForm": "BibliographyForm.html", "PDBForm": "PDBForm.html", "ProteinDomainComplexTypeForm": "ProteinDomainComplexTypeForm.html", "ProteinDomainComplexForm": "ProteinDomainComplexForm.html", - "PpiForm": "PpiForm.html"} + "PpiForm": "PpiForm.html", + } class IppiWizard(NamedUrlSessionWizardView): @@ -69,64 +70,34 @@ class IppiWizard(NamedUrlSessionWizardView): def get_context_data(self, **kwargs): context=super(IppiWizard, self).get_context_data(**kwargs) 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') + 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') + print("test2", self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id')) + 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] + 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_id']=self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') return context + def get_form_initial(self, step): + initial = {} + + # If at second step, add image path to initial data for canvas field + if step == 'PpiForm': + initial['pdb_id'] = self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') + + return self.initial_dict.get(step, initial) + def get_template_names(self): return [TEMPLATES[self.steps.current]] - def get_form_instance(self, step): - 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): - """ - This method overrides the one used to postprocess the form data. - The added code just sets the form model for use in later forms - when appropriate - """ - data = super(IppiWizard, self).process_step(form).copy() - if self.steps.current == 'Bibliography': - form.instance.autofill() - if self.steps.current == 'Bibliography': - form.instance.save() - data['pk'] = form.instance.id - if self.steps.current == 'PDBForm': - pdb_ids = [form['pdb_id'] for form in form.cleaned_data] - uniprot_ids = [] - protein_ids = [] - for pdb_id in pdb_ids: - uniprot_ids += get_pdb_uniprot_mapping(pdb_id) - for uniprot_id in uniprot_ids: - try: - p = Protein.objects.get(uniprot_id=uniprot_id) - except Protein.DoesNotExist: - p = Protein() - p.uniprot_id = uniprot_ids[0] - p.autofill() - p.save() - protein_ids.append(p.id) - data['pks'] = protein_ids - if self.steps.current=='ProteinDomainComplexTypeForm': - data['complex_type']=data['ProteinDomainComplexTypeForm-complexType'] - data['complex_choice']=data['ProteinDomainComplexTypeForm-complexChoice'] - return data - def done(self, form_list, **kwargs): - return render(self.request, '/admin-session/add.html', { - 'form_data': [form.cleaned_data for form in form_list], - }) + return render(self.request, 'done.html', { + 'form_data': [form.cleaned_data for form in form_list], + }) + def ppi_card(request, biblio_id): try: -- GitLab