about summary refs log tree commit diff
diff options
context:
space:
mode:
authorzsloan2016-07-29 17:19:38 +0000
committerzsloan2016-07-29 17:19:38 +0000
commit801d2099f4d1e5fdf001e17d9897777e10a6afb5 (patch)
treed3178b65821a9c5f159ef729154af1ded3c54256
parent44e302f3d84b10655b6900ceab6736d24e281f9e (diff)
downloadgenenetwork2-801d2099f4d1e5fdf001e17d9897777e10a6afb5.tar.gz
Fixed a couple issues where you couldn't remove or add traits to user collections
-rw-r--r--wqflask/wqflask/collect.py20
-rw-r--r--wqflask/wqflask/user_manager.py23
2 files changed, 19 insertions, 24 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index f1c6ddd5..fedf6dfc 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -15,35 +15,26 @@ import urlparse
 
 import simplejson as json
 
-#from sqlalchemy import orm
-
-#from redis import StrictRedis
 import redis
 Redis = redis.StrictRedis()
 
-
 from flask import (Flask, g, render_template, url_for, request, make_response,
                    redirect, flash, jsonify)
 
 from wqflask import app
 
-
 from pprint import pformat as pf
 
-
 from wqflask.database import db_session
 
 from wqflask import model
+from wqflask import user_manager
 
 from utility import Bunch, Struct
 from utility.formatting import numify
 
-from wqflask import user_manager
-
-
 from base import trait
 
-
 def get_collection():
     if g.user_session.logged_in:
         return UserCollection()
@@ -78,7 +69,6 @@ class AnonCollection(object):
         if self.id == None:
             self.id = str(uuid.uuid4())
         
-    
     def get_members(self):
         traits = []
         collections_list = json.loads(Redis.get(self.key))
@@ -301,7 +291,7 @@ def create_new(collection_name):
     unprocessed_traits = params['traits']
     traits = process_traits(unprocessed_traits)
     
-    if 'uc_id' in params:
+    if g.user_session.logged_in:
         uc = model.UserCollection()
         uc.name = collection_name
         print("user_session:", g.user_session.__dict__)
@@ -322,7 +312,7 @@ def create_new(collection_name):
 def list_collections():
     params = request.args
     print("PARAMS:", params)
-    if 'uc_id' in params:
+    if g.user_session.logged_in:
         user_collections = list(g.user_session.user_ob.user_collections)
         print("user_collections are:", user_collections)
         return render_template("collections/list.html",
@@ -372,7 +362,7 @@ def remove_traits():
 def delete_collection():
     params = request.form
     print("params:", params)
-    if "uc_id" in params:
+    if g.user_session.logged_in:
         uc_id = params['uc_id']
         uc = model.UserCollection.query.get(uc_id)
         # Todo: For now having the id is good enough since it's so unique
@@ -383,7 +373,7 @@ def delete_collection():
         collection_name = params['collection_name']
         user_manager.AnonUser().delete_collection(collection_name)
         
-    flash("We've deletet the collection: {}.".format(collection_name), "alert-info")
+    flash("We've deleted the collection: {}.".format(collection_name), "alert-info")
 
     return redirect(url_for('list_collections'))
 
diff --git a/wqflask/wqflask/user_manager.py b/wqflask/wqflask/user_manager.py
index f1a798d4..4ff3e79c 100644
--- a/wqflask/wqflask/user_manager.py
+++ b/wqflask/wqflask/user_manager.py
@@ -62,7 +62,7 @@ def timestamp():
 
 
 class AnonUser(object):
-    cookie_name = 'anon_user_v7'
+    cookie_name = 'anon_user_v8'
 
     def __init__(self):
         self.cookie = request.cookies.get(self.cookie_name)
@@ -74,7 +74,6 @@ class AnonUser(object):
             logger.debug("creating new cookie")
             self.anon_id, self.cookie = create_signed_cookie()
         self.key = "anon_collection:v1:{}".format(self.anon_id)
-        print("THE KEY IS:", self.key)
 
         @after.after_this_request
         def set_cookie(response):
@@ -89,21 +88,27 @@ class AnonUser(object):
                                
         Redis.set(self.key, json.dumps(collection_dict))
         Redis.expire(self.key, 60 * 60 * 24 * 5)
-        len_now = len(Redis.smembers(self.key))
-        print("LENGTH NOW:", len_now)
             
     def delete_collection(self, collection_name):
         existing_collections = self.get_collections()
+        updated_collections = []
         for i, collection in enumerate(existing_collections):
-            collection['created_timestamp'] = collection['created_timestamp'].strftime('%b %d %Y %I:%M%p')
-            collection['changed_timestamp'] = collection['changed_timestamp'].strftime('%b %d %Y %I:%M%p')
             if collection['name'] == collection_name:
-                existing_collections.pop(i)
-        Redis.set(self.key, json.dumps(existing_collections))
+                continue
+            else:
+                this_collection = {}
+                this_collection['id'] = collection['id']
+                this_collection['name'] = collection['name']
+                this_collection['created_timestamp'] = collection['created_timestamp'].strftime('%b %d %Y %I:%M%p')
+                this_collection['changed_timestamp'] = collection['changed_timestamp'].strftime('%b %d %Y %I:%M%p')
+                this_collection['num_members'] = collection['num_members']
+                this_collection['members'] = collection['members']
+                updated_collections.append(this_collection)
+
+        Redis.set(self.key, json.dumps(updated_collections))
             
     def get_collections(self):
         json_collections = Redis.get(self.key)
-        print("json_collections:", json_collections)
         if json_collections == None or json_collections == "None":
             return []
         else: