diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index 7b6f3a5464387d28aa106a1e543b2809b470162e..558889691c7eaf21e1a7d86e0e67f26f1512b511 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 b1c7b5c5e671a996f3808fd09856a9ef43a28e1f..a6aa39856f20c894f93a4c946c91743ead67f7b7 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],