From 1a815e2e9b34c61ee4733c1bd31a957c496ff97a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Herv=C3=A9=20=20MENAGER?= <herve.menager@pasteur.fr>
Date: Mon, 12 Jun 2017 14:03:48 +0200
Subject: [PATCH] improve SessionFormWizard gears for IPPI-DB contributions

Former-commit-id: a5fa539b34073de3c8df4e4137a04d3a4e33bdf6
---
 ippisite/ippidb/forms.py |  6 ++++--
 ippisite/ippidb/views.py | 12 +++++++++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py
index 7b6f3a54..55888969 100644
--- a/ippisite/ippidb/forms.py
+++ b/ippisite/ippidb/forms.py
@@ -3,8 +3,10 @@ from django import forms
 from django.db import models
 from .models import Bibliography, Protein, ProteinDomainComplex, Ppi, PpiComplex
 
-class IdForm(forms.Form):
-	id = forms.CharField(label="",max_length=100, widget=forms.TextInput(attrs={'placeholder': 'PubMed ID / DOI / Patent ID'}))
+class IdForm(ModelForm):
+    class Meta:
+        model = Bibliography
+        fields = ['source','id_source']
 
 class BibliographyForm(ModelForm):
     class Meta:
diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py
index b1c7b5c5..a6aa3985 100644
--- a/ippisite/ippidb/views.py
+++ b/ippisite/ippidb/views.py
@@ -57,7 +57,17 @@ TEMPLATES = {"IdForm": "IdForm.html",
 class IppiWizard(SessionWizardView):
     def get_template_names(self):
         return [TEMPLATES[self.steps.current]]
-        
+
+    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
+        """
+        if self.steps.current=='IdForm':
+            self.instance_dict['BibliographyForm'] = form.instance
+        return self.get_form_step_data(form)
+
     def done(self, form_list, **kwargs):
         return render(self.request, '/admin-session/add.html', {
             'form_data': [form.cleaned_data for form in form_list],
-- 
GitLab