Skip to content
Snippets Groups Projects
Commit 5825febb authored by Rachel TORCHET's avatar Rachel TORCHET
Browse files

Update navigation and ProteinDomainComplexForm to take parameters from previous step into account

Former-commit-id: eb05cc7225b71022a8eea0b92aa48423faf62951
parent 1daac56d
No related branches found
No related tags found
No related merge requests found
...@@ -109,16 +109,12 @@ class ComplexCompositionForm(forms.Form): ...@@ -109,16 +109,12 @@ class ComplexCompositionForm(forms.Form):
def __init__(self,pks=None,*args,**kwargs): def __init__(self,pks=None,*args,**kwargs):
super(ComplexCompositionForm, self).__init__(*args, **kwargs) super(ComplexCompositionForm, self).__init__(*args, **kwargs)
""" TODO : Filter based on submited PDBid""" if pks is not None:
#pks = kwargs.pop("prot") self.fields['complex_protein'].queryset = Protein.objects.filter(pk__in=pks)
print("<<<<<<<<<<") self.fields['complex_domain'].queryset = Domain.objects.all()
print(args,kwargs)
print(">>>>>>>>>>")
self.fields['complex_protein'].queryset=Protein.objects.filter(pk__in=[569,570])
self.fields['complex_domain'].queryset=Domain.objects.filter(pk__in=[73,73])
ComplexCompositionFormSet = formset_factory(ComplexCompositionForm, extra=3) ComplexCompositionFormSet = formset_factory(ComplexCompositionForm, extra=2)
formset= ComplexCompositionFormSet() formset= ComplexCompositionFormSet()
#print(formset.is_valid()) #print(formset.is_valid())
......
...@@ -144,10 +144,9 @@ div.hidden { ...@@ -144,10 +144,9 @@ div.hidden {
} }
.main-nav{ .main-nav{
margin-left: auto; margin:0 auto;
margin-right: auto;
position: relative; position: relative;
width: 600px; width: max-content;
text-align: center; text-align: center;
height: 35px; height: 35px;
} }
......
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</table> </table>
<input type="hidden" name="ippi_wizard-current_step" value="ProteinDomainComplexForm" id="id_ippi_wizard-current_step"/> <input type="hidden" name="ippi_wizard-current_step" value="ProteinDomainComplexForm" id="id_ippi_wizard-current_step"/>
......
...@@ -199,6 +199,9 @@ ...@@ -199,6 +199,9 @@
<a href="/tutorials">Tutorials</a> <a href="/tutorials">Tutorials</a>
</li> </li>
<li> <li>
<a href="/contribute">Contribute</a>
</li>
<li>
<a href="/admin-session">Admin</a> <a href="/admin-session">Admin</a>
</li> </li>
</ul> </ul>
......
{% extends "index.html" %}
{% block title %}inhibitors of Protein-Protein Interaction Database{% endblock %}
{% block extra_css %}
<link rel="stylesheet" href="/static/css/admin-session.css">
{% endblock %}
{% block content %}
<div id="mainnav">
<nav class="secondary-nav">
<div class="inner-wrap">
<ul>
<li>
<a href="/queries">View Content</a>
</li>
<li>
<a href="/admin-session/add/IdForm">Add New Content</a>
</li>
<li>
<a href="/admin-session/update">Update Content</a>
</li>
</ul>
</div>
</nav>
</div>
<div class="inner-wrap">
<nav class="breadcrumb breadNav" role="navigation">
<div class="breadNav-label">You are here</div>
<div aria-labelledby="breadNav-label">
{% block breadcrumb %}{{block.super}}Admin{% endblock %}
</div>
</nav>
<div id="main-wrapper" class="page">
<div id="main">
<div id="content" class="main-content">
<div class="section">
<main role="main">
<h1 class="page-title"> CONTRIBUTE </h1>
<div class="tabs"></div>
<div class="main__inner">
<div class="region region-content">
<div class="page-intro">
</div>
<div class="color-wrap">
<div class="region region-content">
<div class="block block-system block-system-main">
<div class="content">
<div class="view-content">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</main><!-- .site-main -->
</div>
</div>
</div><!-- div main -->
</div>
</div>
{% endblock %}
...@@ -14,6 +14,7 @@ urlpatterns = [ ...@@ -14,6 +14,7 @@ urlpatterns = [
url(r'^compounds/$', views.compound_list, name='compound_list'), url(r'^compounds/$', views.compound_list, name='compound_list'),
url(r'^compounds/(?P<compound_id>\w+)$', views.compound_card, name='compound_card'), url(r'^compounds/(?P<compound_id>\w+)$', views.compound_card, name='compound_card'),
url(r'^tutorials$', views.tutorials, name='tutorials'), url(r'^tutorials$', views.tutorials, name='tutorials'),
url(r'^contribute$', views.contribute, name='contribute'),
url(r'^admin-session$', views.adminSession, name='admin-session'), url(r'^admin-session$', views.adminSession, name='admin-session'),
url(r'^admin-session/add/(?P<step>.+)/$', url(r'^admin-session/add/(?P<step>.+)/$',
ippidb_wizard, name='ippidb_step'), ippidb_wizard, name='ippidb_step'),
......
...@@ -10,7 +10,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin ...@@ -10,7 +10,7 @@ from django.contrib.auth.mixins import LoginRequiredMixin
from formtools.wizard.views import SessionWizardView, NamedUrlSessionWizardView from formtools.wizard.views import SessionWizardView, NamedUrlSessionWizardView
import ippidb import ippidb
from .forms import IdForm, BibliographyForm, PDBForm, ProteinForm, ComplexCompositionForm, ComplexCompositionFormSet, ProteinDomainComplexTypeForm, ProteinDomainComplexForm, PpiForm, PpiComplexForm, PpiAndComplexForm, ProteinFormSet,TestsForm, CompoundForm, CompoundFormSet from .forms import *
from .models import Protein, Bibliography, ProteinDomainComplex, ProteinDomainBoundComplex, RefCompoundBiblio, TestActivityDescription, Compound, Ppi, Disease, Taxonomy, LeLleBiplotData, PcaBiplotData, PpiFamily from .models import Protein, Bibliography, ProteinDomainComplex, ProteinDomainBoundComplex, RefCompoundBiblio, TestActivityDescription, Compound, Ppi, Disease, Taxonomy, LeLleBiplotData, PcaBiplotData, PpiFamily
from .ws import get_pdb_uniprot_mapping from .ws import get_pdb_uniprot_mapping
...@@ -30,6 +30,8 @@ def general(request): ...@@ -30,6 +30,8 @@ def general(request):
def tutorials(request): def tutorials(request):
return render(request, 'tutorials.html') return render(request, 'tutorials.html')
def contribute(request):
return render(request, 'contribute.html')
def adminSession(request): def adminSession(request):
return render(request, 'admin-session.html') return render(request, 'admin-session.html')
...@@ -37,6 +39,8 @@ def adminSession(request): ...@@ -37,6 +39,8 @@ def adminSession(request):
def update (request): def update (request):
return render(request, 'update.html') return render(request, 'update.html')
#---------------------------------------------- CONTRIBUTE SESSION - WIZARD -------------------------------------------#
FORMS = [("IdForm", ippidb.forms.IdForm), FORMS = [("IdForm", ippidb.forms.IdForm),
("BibliographyForm", ippidb.forms.BibliographyForm), ("BibliographyForm", ippidb.forms.BibliographyForm),
("PDBForm", ippidb.forms.PDBForm), ("PDBForm", ippidb.forms.PDBForm),
...@@ -76,19 +80,22 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView): ...@@ -76,19 +80,22 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
context['pdb_id']=self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') context['pdb_id']=self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id')
return context return context
def get_form_initial(self, step): def get_form_kwargs(self, step):
# Works for form.forms # change args pass to a form
initial = {} kwargs = super().get_form_kwargs()
# Pre-fill fields with data from a previous form
if step == 'ProteinDomainComplexForm': if step == 'ProteinDomainComplexForm':
pks = self.storage.get_step_data('PDBForm').get('pks') pks = self.storage.get_step_data('PDBForm').get('pks')
#initial['pks']=pks # print("test pks: ",pks)
#return {'pks':pks} kwargs['form_kwargs']={'pks':pks}
#form = ComplexCompositionForm(prot=pks) return kwargs
def get_form_initial(self, step):
# Works for form.forms
# change value pass to a form
initial = super().get_form_initial(step)
if step == 'PpiForm': if step == 'PpiForm':
initial['pdb_id'] = self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id') initial['pdb_id'] = self.storage.get_step_data('PDBForm').get('PDBForm-pdb_id')
print(self.initial_dict) return initial
return self.initial_dict.get(step, initial)
def process_step(self, form): def process_step(self, form):
""" """
...@@ -124,11 +131,6 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView): ...@@ -124,11 +131,6 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
if self.steps.current == 'BibliographyForm': if self.steps.current == 'BibliographyForm':
pk = self.storage.get_step_data('IdForm').get('pk') pk = self.storage.get_step_data('IdForm').get('pk')
return Bibliography.objects.get(pk=pk) return Bibliography.objects.get(pk=pk)
if self.steps.current == 'ProteinDomainComplexForm':
print("blablabla", self.storage.get_step_data('PDBForm').get('pks'))
pks = self.storage.get_step_data('PDBForm').get('pks')
print("blablabla", self.storage.get_step_data('PDBForm').get('pks'))
return Protein.objects.filter(id__in=pks)
if self.steps.current == 'ProteinDomainComplexTypeForm': if self.steps.current == 'ProteinDomainComplexTypeForm':
print("blablabla", self.storage.get_step_data('PDBForm').get('pks')) print("blablabla", self.storage.get_step_data('PDBForm').get('pks'))
pks = self.storage.get_step_data('PDBForm').get('pks') pks = self.storage.get_step_data('PDBForm').get('pks')
...@@ -143,6 +145,7 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView): ...@@ -143,6 +145,7 @@ class IppiWizard(LoginRequiredMixin, NamedUrlSessionWizardView):
'form_data': [form.cleaned_data for form in form_list], 'form_data': [form.cleaned_data for form in form_list],
}) })
#----------------------------------------------------------------------------------------------------------------------#
def process_cutoff_value(name, context, request, cutoff_dir='l'): def process_cutoff_value(name, context, request, cutoff_dir='l'):
c = context['compounds'] c = context['compounds']
......
...@@ -122,6 +122,7 @@ def get_pfam_info(pfam_acc): ...@@ -122,6 +122,7 @@ def get_pfam_info(pfam_acc):
def get_pdb_uniprot_mapping(pdb_id): def get_pdb_uniprot_mapping(pdb_id):
pdb_id = pdb_id.lower()
resp = requests.get( resp = requests.get(
'https://www.ebi.ac.uk/pdbe/api/mappings/uniprot/{}'.format(pdb_id.lower())) 'https://www.ebi.ac.uk/pdbe/api/mappings/uniprot/{}'.format(pdb_id.lower()))
uniprot_ids = list(resp.json()[pdb_id]['UniProt'].keys()) uniprot_ids = list(resp.json()[pdb_id]['UniProt'].keys())
...@@ -133,6 +134,7 @@ def pdb_entry_exists(pdb_id): ...@@ -133,6 +134,7 @@ def pdb_entry_exists(pdb_id):
resp = requests.get( resp = requests.get(
'https://www.ebi.ac.uk/pdbe/api/pdb/entry/summary/{}'.format(pdb_id.lower())) 'https://www.ebi.ac.uk/pdbe/api/pdb/entry/summary/{}'.format(pdb_id.lower()))
# EBI sends back either a 404 or an empty json if the PDB does not exist # EBI sends back either a 404 or an empty json if the PDB does not exist
print("PDB id:", pdb_id)
if not(resp.ok): if not(resp.ok):
return False return False
else: else:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment