aboutsummaryrefslogtreecommitdiff
path: root/wqflask
diff options
context:
space:
mode:
authorzsloan2020-06-24 17:13:45 -0500
committerzsloan2020-06-24 17:13:45 -0500
commit645c07b98aae9508e8a0aeedd8eaca815d5daf54 (patch)
treedfb545105f95bd35fe87c549049d3833281aa6bb /wqflask
parent9b1aecdbb51c7cb843ca79ab430d8dc2b9d3767e (diff)
downloadgenenetwork2-645c07b98aae9508e8a0aeedd8eaca815d5daf54.tar.gz
Temporary partial fix to issue of resources without info; need to add something that automatically inserts resources with default privileges
Diffstat (limited to 'wqflask')
-rw-r--r--wqflask/base/trait.py12
-rw-r--r--wqflask/utility/authentication_tools.py11
-rw-r--r--wqflask/utility/redis_tools.py5
-rw-r--r--wqflask/wqflask/correlation/show_corr_results.py7
-rw-r--r--wqflask/wqflask/templates/correlation_page.html4
5 files changed, 22 insertions, 17 deletions
diff --git a/wqflask/base/trait.py b/wqflask/base/trait.py
index 0e26ca2c..7fc016f3 100644
--- a/wqflask/base/trait.py
+++ b/wqflask/base/trait.py
@@ -386,13 +386,6 @@ def retrieve_trait_info(trait, dataset, get_qtl_info=False):
else:
the_url = "http://localhost:8080/run-action?resource={}&user={}&branch=data&action=view&trait={}".format(resource_id, g.user_session.user_id, trait.name)
- response = requests.get(the_url).content
- if response.strip() == "no-access":
- trait.view = False
- return trait
- else:
- trait_info = json.loads(response)
-
try:
response = requests.get(the_url).content
if response.strip() == "no-access":
@@ -402,7 +395,10 @@ def retrieve_trait_info(trait, dataset, get_qtl_info=False):
trait_info = json.loads(response)
except:
resource_info = get_resource_info(resource_id)
- default_permissions = resource_info['default_mask']['data']
+ if resource_info:
+ default_permissions = resource_info['default_mask']['data']
+ else:
+ default_permissions = webqtlConfig.DEFAULT_PRIVILEGES
if 'view' not in default_permissions:
trait.view = False
return trait
diff --git a/wqflask/utility/authentication_tools.py b/wqflask/utility/authentication_tools.py
index 06b2854a..f9028f32 100644
--- a/wqflask/utility/authentication_tools.py
+++ b/wqflask/utility/authentication_tools.py
@@ -32,6 +32,8 @@ def check_resource_availability(dataset, trait_id=None):
if resource_id:
resource_info = get_resource_info(resource_id)
+ if not resource_info:
+ return webqtlConfig.DEFAULT_PRIVILEGES
else:
return response #ZS: Need to substitute in something that creates the resource in Redis later
@@ -85,9 +87,10 @@ def check_owner_or_admin(dataset=None, trait_id=None, resource_id=None):
return "owner"
resource_info = get_resource_info(resource_id)
- if g.user_session.user_id == resource_info['owner_id']:
- return "owner"
- else:
- return check_admin(resource_id)
+ if resource_info:
+ if g.user_session.user_id == resource_info['owner_id']:
+ return "owner"
+ else:
+ return check_admin(resource_id)
return "not-admin" \ No newline at end of file
diff --git a/wqflask/utility/redis_tools.py b/wqflask/utility/redis_tools.py
index 9d09a66b..8a5f95ee 100644
--- a/wqflask/utility/redis_tools.py
+++ b/wqflask/utility/redis_tools.py
@@ -280,7 +280,10 @@ def get_resource_id(dataset, trait_id=None):
def get_resource_info(resource_id):
resource_info = Redis.hget("resources", resource_id)
- return json.loads(resource_info)
+ if resource_info:
+ return json.loads(resource_info)
+ else:
+ return None
def add_resource(resource_info):
if 'trait' in resource_info['data']:
diff --git a/wqflask/wqflask/correlation/show_corr_results.py b/wqflask/wqflask/correlation/show_corr_results.py
index 7eab7184..bc2912f2 100644
--- a/wqflask/wqflask/correlation/show_corr_results.py
+++ b/wqflask/wqflask/correlation/show_corr_results.py
@@ -200,8 +200,6 @@ class CorrelationResults(object):
for _trait_counter, trait in enumerate(self.correlation_data.keys()[:self.return_number]):
trait_object = create_trait(dataset=self.target_dataset, name=trait, get_qtl_info=True, get_sample_info=False)
- if not trait_object:
- continue
if self.target_dataset.type == "ProbeSet" or self.target_dataset.type == "Geno":
#ZS: Convert trait chromosome to an int for the location range option
@@ -237,9 +235,8 @@ class CorrelationResults(object):
trait_object.tissue_pvalue = tissue_corr_data[trait][2]
elif self.corr_type == "lit":
trait_object.lit_corr = lit_corr_data[trait][1]
- self.correlation_results.append(trait_object)
- self.target_dataset.get_trait_info(self.correlation_results, self.target_dataset.group.species)
+ self.correlation_results.append(trait_object)
if self.corr_type != "lit" and self.dataset.type == "ProbeSet" and self.target_dataset.type == "ProbeSet":
self.do_lit_correlation_for_trait_list()
@@ -498,6 +495,8 @@ def do_bicor(this_trait_vals, target_trait_vals):
def generate_corr_json(corr_results, this_trait, dataset, target_dataset, for_api = False):
results_list = []
for i, trait in enumerate(corr_results):
+ if trait.view == False:
+ continue
results_dict = {}
if not for_api:
results_dict['checkbox'] = "<INPUT TYPE='checkbox' NAME='searchResult' class='checkbox trait_checkbox' style='padding-right: 0px;' VALUE='" + hmac.hmac_creation('{}:{}'.format(trait.name, trait.dataset.name)) + "'>"
diff --git a/wqflask/wqflask/templates/correlation_page.html b/wqflask/wqflask/templates/correlation_page.html
index f429948d..3d750bea 100644
--- a/wqflask/wqflask/templates/correlation_page.html
+++ b/wqflask/wqflask/templates/correlation_page.html
@@ -169,7 +169,11 @@
<TD data-export="N/A">N/A</TD>
{% endif %}
<td data-export="{{ trait.description_display }}">{% if trait.description_display|length > 70 %}{{ trait.description_display[:70] }}...{% else %}{{ trait.description_display }}{% endif %}</td>
+ {% if trait.authors %}
<td data-export="{{ trait.authors }}">{% if trait.authors.split(',') > 6 %}{{ trait.authors.split(',')[:6]|join(', ') }}, et al.{% else %}{{ trait.authors }}{% endif %}</td>
+ {% else %}
+ <TD data-export="N/A">N/A</TD>
+ {% endif %}
<td data-export="{{ trait.pubmed_text }}">
<a href="{{ trait.pubmed_link }}">
{{ trait.pubmed_text }}