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