aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--wqflask/wqflask/collect.py36
-rw-r--r--wqflask/wqflask/model.py8
-rw-r--r--wqflask/wqflask/templates/collections/add.html10
-rw-r--r--wqflask/wqflask/templates/collections/view.html1
4 files changed, 36 insertions, 19 deletions
diff --git a/wqflask/wqflask/collect.py b/wqflask/wqflask/collect.py
index 6ac4abcf..2bf5b602 100644
--- a/wqflask/wqflask/collect.py
+++ b/wqflask/wqflask/collect.py
@@ -58,25 +58,33 @@ def collections_add():
@app.route("/collections/new")
def collections_new():
- print("request.args in collections_new are:", request.args)
- if "create_new" in request.args:
- return create_new()
- elif "add_to_existing" in request.args:
- return add_to_existing()
- elif "continue" in request.args:
- return unnamed()
+ params = request.args
+ print("request.args in collections_new are:", params)
+
+ collection_name = params['new_collection']
+
+ if "create_new" in params:
+ return create_new(collection_name)
+ elif "add_to_existing" in params:
+ return add_traits(params, collection_name)
+ elif "default" in params:
+ return add_traits(params, "default")
+
else:
CauseAnError
-def unnamed():
- return "unnamed"
-def add_to_existing():
- params = request.args
+def add_traits(params, collection_name):
print("---> params are:", params.keys())
print(" type(params):", type(params))
- uc = model.UserCollection.query.get(params['existing_collection'])
+ if collection_name=="default":
+ uc = g.user_session.user_ob.get_collection_by_name("default")
+ # Doesn't exist so we'll create it
+ if not uc:
+ return create_new("default")
+ else:
+ uc = model.UserCollection.query.get(params['existing_collection'])
members = set(json.loads(uc.members))
len_before = len(members)
@@ -114,10 +122,10 @@ def process_traits(unprocessed_traits):
traits.add(str(data))
return traits
-def create_new():
+def create_new(collection_name):
params = request.args
uc = model.UserCollection()
- uc.name = params['new_collection']
+ uc.name = collection_name
print("user_session:", g.user_session.__dict__)
uc.user = g.user_session.user_id
unprocessed_traits = params['traits']
diff --git a/wqflask/wqflask/model.py b/wqflask/wqflask/model.py
index b508f18e..192aedd0 100644
--- a/wqflask/wqflask/model.py
+++ b/wqflask/wqflask/model.py
@@ -57,8 +57,16 @@ class User(Base):
user_collections = relationship("UserCollection",
order_by="asc(UserCollection.name)",
+ lazy='dynamic',
)
+ def get_collection_by_name(self, collection_name):
+ try:
+ collect = self.user_collections.filter_by(name=collection_name).one()
+ except sqlalchemy.orm.exc.NoResultFound:
+ collect = None
+ return collect
+
@property
def name_and_org(self):
"""Nice shortcut for printing out who the user is"""
diff --git a/wqflask/wqflask/templates/collections/add.html b/wqflask/wqflask/templates/collections/add.html
index 8b6a17a3..c87203b1 100644
--- a/wqflask/wqflask/templates/collections/add.html
+++ b/wqflask/wqflask/templates/collections/add.html
@@ -1,16 +1,16 @@
<div id="myModal">
<div class="modal-header">
<h3>Add to collection</h3>
- <p>You have three choices: Contuine without naming the collection, creating a new named collection,
- or adding the traits to an existing collection.</p>
+ <p>You have three choices: Use your default collection, create a new named collection,
+ or add the traits to an existing collection.</p>
</div>
<div class="modal-body">
<form action="/collections/new" data-validate="parsley" id="add_form">
<fieldset>
- <legend>Continue without naming collection</legend>
- <span class="help-block">Choose this if you don't plan on using the collection again.</span>
+ <legend>Use your default collection</legend>
+ <span class="help-block">Choose this if you're in a hurry or don't plan on using the collection again.</span>
<span class="help-block"><em></em>If you are unsure this is probably the option you want.</em></span>
- <button type="submit" name="continue" class="btn">Continue</button>
+ <button type="submit" name="default" class="btn">Continue</button>
</fieldset>
<hr />
diff --git a/wqflask/wqflask/templates/collections/view.html b/wqflask/wqflask/templates/collections/view.html
index 0ab004d9..79eeac26 100644
--- a/wqflask/wqflask/templates/collections/view.html
+++ b/wqflask/wqflask/templates/collections/view.html
@@ -8,6 +8,7 @@
<div class="container">
<div class="page-header">
<h1>Your Collection</h1>
+ <h2>{{ uc.name }}</h2>
</div>
<div class="bs-docs-example">