forked from enviPath/enviPy
wip
This commit is contained in:
@ -1,4 +1,5 @@
|
||||
import base64
|
||||
import logging
|
||||
|
||||
import requests
|
||||
from django.conf import settings as s
|
||||
@ -14,6 +15,9 @@ from utilities.decorators import package_permission_required
|
||||
Package = s.GET_PACKAGE_MODEL()
|
||||
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@package_permission_required()
|
||||
def create_pes(request, package_uuid):
|
||||
current_user = _anonymous_or_real(request)
|
||||
@ -52,21 +56,13 @@ def create_pes(request, package_uuid):
|
||||
"Cannot create secret PESs in non-secret packages."
|
||||
)
|
||||
|
||||
data_pools = pes_data.get("dataPools")
|
||||
if data_pools:
|
||||
if (current_package.data_pool.name not in s.DATA_POOL_MAPPING
|
||||
or s.DATA_POOL_MAPPING[current_package.data_pool.name] not in data_pools):
|
||||
|
||||
if current_package.data_pool.name not in s.DATA_POOL_MAPPING:
|
||||
detail = f"Data pool {current_package.data_pool.name} not found in Mapping."
|
||||
else:
|
||||
detail = f"PES data pool {s.DATA_POOL_MAPPING[current_package.data_pool.name]} not found in PES data"
|
||||
|
||||
return error(
|
||||
request,
|
||||
"Invalid PES data",
|
||||
detail
|
||||
)
|
||||
if not current_package.data_pool or not current_package.data_pool.secret:
|
||||
logger.info(f"The current package does not have a secret data pool.")
|
||||
return error(
|
||||
request,
|
||||
"The current package does not have a secret data pool.",
|
||||
"Cannot create secret PESs in package without a secret data pool."
|
||||
)
|
||||
|
||||
pes = PESCompound.create(current_package, pes_data, compound_name, compound_description)
|
||||
|
||||
@ -120,21 +116,13 @@ def create_pes_node(request, package_uuid, pathway_uuid):
|
||||
"Cannot create secret PESs in non-secret packages."
|
||||
)
|
||||
|
||||
data_pools = pes_data.get("dataPools")
|
||||
if data_pools:
|
||||
if (current_package.data_pool.name not in s.DATA_POOL_MAPPING
|
||||
or s.DATA_POOL_MAPPING[current_package.data_pool.name] not in data_pools):
|
||||
|
||||
if current_package.data_pool.name not in s.DATA_POOL_MAPPING:
|
||||
detail = f"Data pool {current_package.data_pool.name} not found in Mapping."
|
||||
else:
|
||||
detail = f"PES data pool {s.DATA_POOL_MAPPING[current_package.data_pool.name]} not found in PES data"
|
||||
|
||||
return error(
|
||||
request,
|
||||
"Invalid PES data",
|
||||
detail
|
||||
)
|
||||
if not current_package.data_pool or not current_package.data_pool.secret:
|
||||
logger.info(f"The current package does not have a secret data pool.")
|
||||
return error(
|
||||
request,
|
||||
"The current package does not have a secret data pool.",
|
||||
"Cannot create secret PESs in package without a secret data pool."
|
||||
)
|
||||
|
||||
pes = PESCompound.create(current_package, pes_data, compound_name, compound_description)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user