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/models.py b/ippisite/ippidb/models.py index 2b188a844e95c994bdab6b68ff3c26a33c801887..43496e765070949e6edd504c27359347f6589bda 100644 --- a/ippisite/ippidb/models.py +++ b/ippisite/ippidb/models.py @@ -288,6 +288,9 @@ class MDDRCompoundImport(models.Model): unique_together = (('mddr_name', 'dvpmt_phase', 'canonical_smile'),) verbose_name_plural = "MDDR compound imports" + def __str__(self): + return "{}, {}".format(self.mddr_name, self.dvpmt_phase) + class MDDRSimilarity(models.Model): canonical_smile_ippidb = models.CharField('Canonical Smile for IPPIDB compound', max_length=500, unique=True, blank=True, null=True) canonical_smile_mddr = models.CharField('Canonical Smile for MDDR Compound', max_length=500, unique=True, blank=True, null=True) diff --git a/ippisite/ippidb/views.py b/ippisite/ippidb/views.py index b50562edeba55831168520f754fd328aed411113..48f63d96bb4665539e298a0c9dc9feacb8d9f737 100644 --- a/ippisite/ippidb/views.py +++ b/ippisite/ippidb/views.py @@ -38,7 +38,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],