diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index d82cedd02ec3008b1c12d85c9556790cd51cff81..057191a16df6c86c1c6b3ca58895686a6b703828 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -1,4 +1,4 @@ -from django.forms import ModelForm +from django.forms import ModelForm,modelformset_factory from django import forms from django.db import models from .models import Bibliography, Protein, ProteinDomainComplex, Ppi, PpiComplex @@ -26,6 +26,7 @@ class BibliographyForm(ModelForm): class PDBForm(forms.Form): pdb_id = forms.CharField(label="PDB ID",max_length=4, widget=forms.TextInput(attrs={'placeholder': 'e.g 4HHB'})) + class ProteinForm(ModelForm): class Meta: model = Protein @@ -36,6 +37,10 @@ class ProteinForm(ModelForm): 'entry_name' : forms.TextInput(attrs={'placeholder':'e.g KMT2A_HUMAN'}), } +ProteinFormSet = modelformset_factory(Protein, exclude=('recommended_name_long', 'short_name')) +formset=ProteinFormSet() +for form in formset: + print(form.as_table()) ARCHI_TYPE = ( ('inhibited', 'Inhibited'), diff --git a/ippisite/ippidb/static/css/ippidb.css b/ippisite/ippidb/static/css/ippidb.css index 7b421bec588d4883493a669c43f8dacd21406ca0..b28f4ac7d7ab0fc18e6109a5b00b8d604e0666b3 100644 --- a/ippisite/ippidb/static/css/ippidb.css +++ b/ippisite/ippidb/static/css/ippidb.css @@ -614,8 +614,15 @@ form { overflow: hidden; white-space: nowrap; padding: 5px; + width: 80%; + margin: 2px; } +.readonlyfields label{ + display: block; + width: 150px; + float: left; +} div label input { margin-right:100px; diff --git a/ippisite/ippidb/templates/BibliographyForm.html b/ippisite/ippidb/templates/BibliographyForm.html index 0186c9733693eefb12953ce87a4b4fdd807f1b21..fa4e709bf16a257b3c09b90aea600905982dca40 100644 --- a/ippisite/ippidb/templates/BibliographyForm.html +++ b/ippisite/ippidb/templates/BibliographyForm.html @@ -31,13 +31,15 @@ Please check that the information below is correct (Title, Authors etc. ) and an {{ form }} {% endfor %} {% else %} - <div id="ck-button">{{ wizard.form.source.label }} {{ wizard.form.source }}</div> - <div id="ck-button">{{ wizard.form.id_source.label }} {{ wizard.form.id_source }}</div> - <div id="ck-button">{{ wizard.form.title.label }} {{ wizard.form.title }}</div> - <div id="ck-button">{{ wizard.form.journal_name.label }} {{ wizard.form.journal_name }}</div> + <div class="readonlyfields"> + {{ wizard.form.source }}<br/> + {{ wizard.form.id_source }}<br/> + {{ wizard.form.title }}<br/> + {{ wizard.form.journal_name }}<br/> + </div> <div id="ck-button"> <label> - <input type="checkbox" value="True"><span>{{ wizard.form.cytotox.label }}</span> + <input type="checkbox"><span>{{ wizard.form.cytotox.label }}</span> </label> <label> <input type="checkbox"><span>{{ wizard.form.in_silico.label }}</span> diff --git a/ippisite/ippidb/templates/IdForm.html b/ippisite/ippidb/templates/IdForm.html index 4d47f3b0b3f529fbb9e3355e9b3e0aa770c27ffd..403dbe3e333b2aec7ce9a1de9bf0a3e79a929c21 100644 --- a/ippisite/ippidb/templates/IdForm.html +++ b/ippisite/ippidb/templates/IdForm.html @@ -32,7 +32,7 @@ {{ form }} {% endfor %} {% else %} - {{ wizard.form }} + {{ wizard.form}} {% endif %} </table> <input type="submit" value="{% trans "Next step" %}"/> diff --git a/ippisite/ippidb/templates/ProteinForm.html b/ippisite/ippidb/templates/ProteinForm.html index 9609d2b69067a0b78c6e91448188f264b2533353..bebf3dba79b1d4dc549b2fd1c06b5cfa23b2a023 100644 --- a/ippisite/ippidb/templates/ProteinForm.html +++ b/ippisite/ippidb/templates/ProteinForm.html @@ -30,7 +30,12 @@ {{ form }} {% endfor %} {% else %} - {{ wizard.form }} + {{ formset.management_form }} + {% for form in formset %} + {% for field in form %} + {{ field.label_tag }} {{ field }} + {% endfor %} + {% endfor %} {% endif %} </table> <input type="submit" value="{% trans "Next step" %}"/> diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index e4b4b049d9cc5f99848b34f08a5fb5297cc71b7e..b6d1e782ad61501bd7f7b40cb2a0a22c6200652e 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -2,7 +2,7 @@ import ippidb from django.shortcuts import render from django.http import HttpResponseRedirect from formtools.wizard.views import SessionWizardView,NamedUrlSessionWizardView -from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm +from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, ProteinFormSet def index(request): return render(request, 'index.html') @@ -22,7 +22,7 @@ def adminSession(request): FORMS = [("IdForm", ippidb.forms.IdForm), ("BibliographyForm", ippidb.forms.BibliographyForm), ("PDBForm", ippidb.forms.PDBForm), - ("ProteinForm",ippidb.forms.ProteinForm), + ("ProteinForm",ippidb.forms.ProteinFormSet), ("ProteinDomainComplexTypeForm", ippidb.forms.ProteinDomainComplexTypeForm), ("ProteinDomainComplexForm", ippidb.forms.ProteinDomainComplexForm), ("PpiForm", ippidb.forms.PpiForm)]