aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/user_pages/views.py
diff options
context:
space:
mode:
authorElrond <elrond+mediagoblin.org@samba-tng.org>2013-03-10 20:56:48 +0100
committerElrond <elrond+mediagoblin.org@samba-tng.org>2013-03-10 21:19:16 +0100
commite9330b9552858d46783971e8624ccc5ac80cfe46 (patch)
treeec937a0d1c835ecffa89b52c2aa10ff1533d7f7c /mediagoblin/user_pages/views.py
parent8da84493328a029649e146b8e6fcc95011783b8b (diff)
downloadmediagoblin-e9330b9552858d46783971e8624ccc5ac80cfe46.tar.lz
mediagoblin-e9330b9552858d46783971e8624ccc5ac80cfe46.tar.xz
mediagoblin-e9330b9552858d46783971e8624ccc5ac80cfe46.zip
655: Fix collection fetching for media_collect()
The problem is: Collection.query.filter_by(id=X, ...) 1. X = form.collection.data This works nicely for the completely empty form (X = None). It does not work for a selected collection, because X will be the collection, not its id. 2. X = request.form.get('collection') (old code). This one works mostly, except for the completely empty form on postgres, because in this case X = u"__None" and postgres does not like comparing an integer column with a string. Fix: collection = form.collection.data if collection and collection.creator != request.user.id: collection = None
Diffstat (limited to 'mediagoblin/user_pages/views.py')
-rw-r--r--mediagoblin/user_pages/views.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/mediagoblin/user_pages/views.py b/mediagoblin/user_pages/views.py
index dc562084..c611daa1 100644
--- a/mediagoblin/user_pages/views.py
+++ b/mediagoblin/user_pages/views.py
@@ -226,9 +226,9 @@ def media_collect(request, media):
# Otherwise, use the collection selected from the drop-down
else:
- collection = Collection.query.filter_by(
- id=form.collection.data,
- creator=request.user.id).first()
+ collection = form.collection.data
+ if collection and collection.creator != request.user.id:
+ collection = None
# Make sure the user actually selected a collection
if not collection: