about summary refs log tree commit diff
diff options
context:
space:
mode:
-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 }}