Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 22 additions & 29 deletions adminui/adminbackend/forms/entry_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,9 +74,7 @@ def __init__(self, *args, **kwargs):
if analysis_endpoint_name != '':
entry_types.append('analysis')
endpoint_names.append(analysis_endpoint_name)
self.initial['Analysis'] = True
else:
self.initial['Analysis'] = None
self.initial['Analysis'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['AnalysisNonFiltered'] = None
else:
Expand All @@ -93,9 +91,7 @@ def __init__(self, *args, **kwargs):
if biosample_endpoint_name != '':
entry_types.append('biosample')
endpoint_names.append(biosample_endpoint_name)
self.initial['Biosample'] = True
else:
self.initial['Biosample'] = None
self.initial['Biosample'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['BiosampleNonFiltered'] = None
else:
Expand All @@ -112,9 +108,7 @@ def __init__(self, *args, **kwargs):
if cohort_endpoint_name != '':
entry_types.append('cohort')
endpoint_names.append(cohort_endpoint_name)
self.initial['Cohort'] = True
else:
self.initial['Cohort'] = None
self.initial['Cohort'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['CohortNonFiltered'] = None
else:
Expand All @@ -131,9 +125,7 @@ def __init__(self, *args, **kwargs):
if dataset_endpoint_name != '':
entry_types.append('dataset')
endpoint_names.append(dataset_endpoint_name)
self.initial['Dataset'] = True
else:
self.initial['Dataset'] = None
self.initial['Dataset'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['DatasetNonFiltered'] = None
else:
Expand All @@ -150,9 +142,7 @@ def __init__(self, *args, **kwargs):
if genomicVariant_endpoint_name != '':
entry_types.append('genomicVariant')
endpoint_names.append(genomicVariant_endpoint_name)
self.initial['GenomicVariant'] = True
else:
self.initial['GenomicVariant'] = None
self.initial['GenomicVariant'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['GenomicVariantNonFiltered'] = None
else:
Expand All @@ -169,9 +159,7 @@ def __init__(self, *args, **kwargs):
if individual_endpoint_name != '':
entry_types.append('individual')
endpoint_names.append(individual_endpoint_name)
self.initial['Individual'] = True
else:
self.initial['Individual'] = None
self.initial['Individual'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['IndividualNonFiltered'] = None
else:
Expand All @@ -188,9 +176,7 @@ def __init__(self, *args, **kwargs):
if run_endpoint_name != '':
entry_types.append('run')
endpoint_names.append(run_endpoint_name)
self.initial['Run'] = True
else:
self.initial['Run'] = None
self.initial['Run'] = conf['entry_type_enabled']
if conf['allow_queries_without_filters'] == False:
self.initial['RunNonFiltered'] = None
else:
Expand Down Expand Up @@ -281,7 +267,8 @@ def clean(self):
analysis_choices=generate_endpoints(analysis_choices, analysis_endpoint_name, analysis_endpoint_name, analysis_entry_type, analysis_lookups)
AnalysisEndpoints = forms.MultipleChoiceField(
choices=analysis_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
analysis_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -301,7 +288,8 @@ def clean(self):
biosample_choices=generate_endpoints(biosample_choices, biosample_endpoint_name, biosample_endpoint_name, biosample_entry_type, biosample_lookups)
BiosampleEndpoints = forms.MultipleChoiceField(
choices=biosample_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
biosample_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -321,7 +309,8 @@ def clean(self):
cohort_choices=generate_endpoints(cohort_choices, cohort_endpoint_name, cohort_endpoint_name, cohort_entry_type, cohort_lookups)
CohortEndpoints = forms.MultipleChoiceField(
choices=cohort_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
cohort_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -341,7 +330,8 @@ def clean(self):
dataset_choices=generate_endpoints(dataset_choices, dataset_endpoint_name, dataset_endpoint_name, dataset_entry_type, dataset_lookups)
DatasetEndpoints = forms.MultipleChoiceField(
choices=dataset_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
dataset_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -361,7 +351,8 @@ def clean(self):
genomicVariant_choices=generate_endpoints(genomicVariant_choices, genomicVariant_endpoint_name, genomicVariant_endpoint_name, genomicVariant_entry_type, genomicVariant_lookups)
GenomicVariantEndpoints = forms.MultipleChoiceField(
choices=genomicVariant_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
genomicVariation_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -381,7 +372,8 @@ def clean(self):
individual_choices=generate_endpoints(individual_choices, individual_endpoint_name, individual_endpoint_name, individual_entry_type, individual_lookups)
IndividualEndpoints = forms.MultipleChoiceField(
choices=individual_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
individual_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
Expand All @@ -401,10 +393,11 @@ def clean(self):
run_choices=generate_endpoints(run_choices, run_endpoint_name, run_endpoint_name, run_entry_type, run_lookups)
RunEndpoints = forms.MultipleChoiceField(
choices=run_choices,
widget=forms.CheckboxSelectMultiple
widget=forms.CheckboxSelectMultiple,
required=False,
)
run_granularity= forms.ChoiceField(
widget=forms.RadioSelect,
choices=granularity_choices,
)
run_engine= forms.ChoiceField(choices=database_choices, help_text="Database Engine")
run_engine= forms.ChoiceField(choices=database_choices, help_text="Database Engine")
46 changes: 26 additions & 20 deletions adminui/adminclient/views/datasets.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
from django.urls import resolve
from beacon.connections.mongo.__init__ import client
from adminbackend.forms.datasets import DatasetsForm
import yaml
from django.contrib.auth.decorators import login_required, permission_required

import logging
Expand All @@ -24,6 +23,7 @@
def default_view(request):
analyses=client["beacon"].analyses
datasets=client["beacon"].datasets
datasets_conf=client["beacon"].datasetsConf
biosamples=client["beacon"].biosamples
cohorts=client["beacon"].cohorts
runs=client["beacon"].runs
Expand Down Expand Up @@ -81,33 +81,38 @@ def default_view(request):
entry_types_included.append('g_variants')
dataset_dict["entry_types_included"]=entry_types_included
dataset_list.append(dataset_dict)
with open("beacon/conf/datasets/datasets_conf.yml") as f:
datasets_test=yaml.safe_load(f)
datasets_test = {
conf["_id"]: {
"isTest": conf.get("isTest", False),
"isSynthetic": conf.get("isSynthetic", False),
}
for conf in datasets_conf.find({})
}
if request.method == 'POST':
form = DatasetsForm(request.POST)
if form.is_valid():
dataID = form.cleaned_data['DatasetID']
if 'Test Mode' in request.POST:
with open("beacon/conf/datasets/datasets_conf.yml") as f:
datasets_conf=yaml.safe_load(f)
test_datasets=[]
for key2, value2 in request.POST.items():
if value2 == 'on':
try:
datasets_conf[key2]['isTest']=True
except Exception:
datasets_conf[key2]={}
datasets_conf[key2]['isTest']=True
test_datasets.append(key2)
for key, value in datasets_conf.items():
if key not in test_datasets:
try:
datasets_conf[key]['isTest']=False
except Exception:
datasets_conf[key]={}
datasets_conf[key]['isTest']=False
with open('/home/app/web/beacon/conf/datasets/datasets_conf.yml', 'w') as outfile:
yaml.dump(datasets_conf, outfile)
for dataset in datasets.find({}, {"id": 1}):
dataset_id = dataset["id"]

datasets_conf.update_one(
{"_id": dataset_id},
{
"$set": {
"isTest": dataset_id in test_datasets
},
"$setOnInsert": {
"isSynthetic": False
}
},
upsert=True
)

elif 'Delete Dataset' in request.POST:
analyses.delete_many({"datasetId": dataID})
biosamples.delete_many({"datasetId": dataID})
Expand All @@ -118,7 +123,8 @@ def default_view(request):
individuals.delete_many({"datasetId": dataID})
runs.delete_many({"datasetId": dataID})
targets.delete_many({"datasetId": dataID})
datasets_conf.delete_one({"_id": dataID})
return redirect("adminclient:datasets")
context={"datasets_found": dataset_list, "datasets_test": datasets_test}
template = "general_configuration/datasets.html"
return render(request, template, context)
return render(request, template, context)
Loading
Loading