changeset 146:79a57c5f9477 draft

add/remove: fix wrong assumptions We were assuming that .values() returns and item and not a list, also we were missing return values in _remove_item (!).
author diegoe-guest
date Wed, 12 Aug 2009 20:51:12 +0000
parents ddeb2ac3d828
children af5334fc46c1
files bts_webui/amancay/ajax.py bts_webui/amancay/bugs.py
diffstat 2 files changed, 18 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/bts_webui/amancay/ajax.py
+++ b/bts_webui/amancay/ajax.py
@@ -20,12 +20,13 @@
 			return True
 	else:
 		items = request.session.get(item_set, [])
-		new_item = item_record.values()
+		new_item = new_item.values()[0]
 
 		if new_item in items:
 			return False
 		else:
-			items.append(item_value)
+			items.append(new_item)
+			request.session[item_set] = items
 			return True
 
 def _remove_item(request, item_type, remove_item):
@@ -40,13 +41,19 @@
 
 		if items:
 			items[0].delete()
+			return True
+		else:
+			return False
 	else:
 		items = request.session.get(item_set, [])
-		remove_values = remove_item.values()
+		remove_value = remove_item.values()[0]
 
-		for item in items:
-			if item in remove_values:
-				items.remove(item)
+		if remove_value in items:
+			items.remove(remove_value)
+			request.session[item_set] = items
+			return True
+		else:
+			return False
 
 def _get_post_or_get(request, item):
 	item = request.GET.get(item, None)
--- a/bts_webui/amancay/bugs.py
+++ b/bts_webui/amancay/bugs.py
@@ -27,8 +27,12 @@
 	bug_status = queries.get_bugs_status(bug_number)[0]
 	bug_originator = email.Utils.parseaddr(bug_status['originator'])
 	bug_log = queries.get_bug_log(bug_number)
+
 	# having as a selected bug is not the same as subscribing
-	bug_is_fav = bool(request.user.bug_set.filter(number=bug_number)[:1])
+	if request.user.is_authenticated():
+		bug_is_fav = bool(request.user.bug_set.filter(number=bug_number)[:1])
+	else:
+		bug_is_fav = bug_number in request.session.get('bug_set', [])
 
 	# Regular expressions to parse the mails
 	from_re = re.compile('^From: ?(.+)$', re.MULTILINE)