aboutsummaryrefslogtreecommitdiff
path: root/wqflask/wqflask
diff options
context:
space:
mode:
authorSam2014-01-30 04:35:21 +0000
committerSam2014-01-30 04:35:21 +0000
commitc4f507c6e1042a1e42f0fe8c08e2eff13fa12d8c (patch)
treec2354d7308237c6e43d09482d855a5f74e046d68 /wqflask/wqflask
parenta9f63aadeeedb7c28bbcd16396c8c6e7d5cbbfd0 (diff)
downloadgenenetwork2-c4f507c6e1042a1e42f0fe8c08e2eff13fa12d8c.tar.gz
Before trying to fix user login issue
Diffstat (limited to 'wqflask/wqflask')
-rw-r--r--wqflask/wqflask/collect.py19
-rw-r--r--wqflask/wqflask/model.py30
-rw-r--r--wqflask/wqflask/templates/base.html8
3 files changed, 51 insertions, 6 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 29b73130..b1ea46d8 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -48,12 +48,19 @@ from base import trait
@app.route("/collections/add")
def collections_add():
- user_collections = g.user_session.user_ob.user_collections
- print("user_collections are:", user_collections)
- return render_template("collections/add.html",
- traits=request.args['traits'],
- user_collections = user_collections,
- )
+ traits=request.args['traits'],
+
+ if g.user_session.logged_in:
+ user_collections = g.user_session.user_ob.user_collections
+ print("user_collections are:", user_collections)
+ return render_template("collections/add.html",
+ traits=traits,
+ user_collections = user_collections,
+ )
+ else:
+ return render_template("collections/add_anonymous.html",
+ traits=traits
+ )
@app.route("/collections/new")
diff --git a/wqflask/wqflask/model.py b/wqflask/wqflask/model.py
index e588e78a..71bda550 100644
--- a/wqflask/wqflask/model.py
+++ b/wqflask/wqflask/model.py
@@ -62,6 +62,25 @@ class User(Base):
lazy='dynamic',
)
+ def display_num_collections(self):
+ """
+ Returns the number of collections or a blank string if there are zero.
+
+
+ Because this is so unimportant...we wrap the whole thing in a try/expect...last thing we
+ want is a webpage not to be displayed because of an error here
+
+ Importand TODO: use redis to cache this, don't want to be constantly computing it
+
+ """
+ try:
+ num = len(list(self.user_collections))
+ return display_collapsible(num)
+ except Exception as why:
+ print("Couldn't display_num_collections:", why)
+ return ""
+
+
def get_collection_by_name(self, collection_name):
try:
collect = self.user_collections.filter_by(name=collection_name).one()
@@ -156,6 +175,17 @@ class UserCollection(Base):
print("members are:", json.loads(self.members))
return len(json.loads(self.members))
+ #@property
+ #def display_num_members(self):
+ # return display_collapsible(self.num_members)
+
def members_as_set(self):
return set(json.loads(self.members))
+
+
+def display_collapsible(number):
+ if number:
+ return number
+ else:
+ return ""
diff --git a/wqflask/wqflask/templates/base.html b/wqflask/wqflask/templates/base.html
index 9b98c955..48078670 100644
--- a/wqflask/wqflask/templates/base.html
+++ b/wqflask/wqflask/templates/base.html
@@ -104,6 +104,14 @@
<a href="/links">Links</a>
</li>
<li class="">
+ <a href="/collections/list">Collections
+ {% if g.user_session.user_ob %}
+ <span class="badge badge-info">{{ g.user_session.user_ob.display_num_collections() }}</span>
+ {% endif %}
+ </a>
+ </li>
+
+ <li class="">
{% if g.user_session.logged_in %}
<a id="login_out" title="Signed in as {{ g.user_session.user_ob.name_and_org }}." href="/n/logout">Sign out</a>
{% else %}