From 30c64f4436550a22bb5e7324638b704151b63d78 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr>
Date: Tue, 11 Jul 2017 18:40:42 +0200
Subject: [PATCH] adapt PDB form and wizard view to formsets

Former-commit-id: 3e00d4f63a45634e2261241a682b38d80525058f
---
 ippisite/ippidb/templates/PDBForm.html | 4 +++-
 ippisite/ippidb/views.py               | 6 +++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/ippisite/ippidb/templates/PDBForm.html b/ippisite/ippidb/templates/PDBForm.html
index fc081b80..d4dd716e 100644
--- a/ippisite/ippidb/templates/PDBForm.html
+++ b/ippisite/ippidb/templates/PDBForm.html
@@ -25,11 +25,13 @@
     	{% block custom_form %}{% endblock %}
 	
 		{% if wizard.form.forms %}
+		    {{ wizard.form.management_form }}
 			{{ formset.management_form }}
 			{% for form in wizard.form.forms %}
 			    {{ form }}
 			{% endfor %}
 		{% else %}
+		    {{ wizard.form.management_form }}
 			{{ formset.management_form }}
 		    {% for form in formset %}
 		        {% for field in form %}
@@ -41,4 +43,4 @@
 		<input type="submit" value="{% trans "Next step" %}"/>
 	</form>
 </div>
-{% endblock %}
\ No newline at end of file
+{% endblock %}
diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py
index d9d2b393..e4e17ee1 100644
--- a/ippisite/ippidb/views.py
+++ b/ippisite/ippidb/views.py
@@ -64,14 +64,18 @@ class IppiWizard(NamedUrlSessionWizardView):
             form.instance.save()
             data['pk'] = form.instance.id
         if self.steps.current=='PDBForm':
-            uniprot_ids = get_pdb_uniprot_mapping(form.cleaned_data['pdb_id'])
+            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
-- 
GitLab