changeset 130:8ea1bce228b5 draft

starring: implement package removal
author diegoe-guest
date Thu, 06 Aug 2009 23:00:07 +0000
parents c56388a2e486
children 2aa6bf2f3f2e
files bts_webui/amancay/ajax.py bts_webui/amancay/urls.py
diffstat 2 files changed, 24 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/bts_webui/amancay/ajax.py
+++ b/bts_webui/amancay/ajax.py
@@ -12,11 +12,29 @@
 		packages = user.package_set.filter(package_name=package_name)
 		if not packages:
 			user.package_set.create(package_name=package_name)
+			return HttpResponse(status=200)
 	else:
 		packages = request.session.get('packages', [])
-		for package in packages:
-			if package == package_name:
-				return 
-		request.session['packages'].append(package_name)
+		if package_name in packages:
+			return HttpResponse(status=500)
+		else:
+			request.session['packages'].append(package_name)
+			return HttpResponse(status=200)
 
-	return HttpResponse(status=200)
+def remove_package(request):
+	"""
+	Remove a package from the watched list.
+	"""
+	user = request.user
+	package_name = request.GET['id']
+
+	if user.is_authenticated():
+		packages = user.package_set.filter(package_name=package_name)[:1]
+		if packages:
+			packages[0].delete()
+			return HttpResponse(status=200)
+	else:
+		packages = request.session.get('packages', [])
+		if package_name in packages:
+			request.session['packages'].remove(package_name)
+			return HttpResponse(status=500)
--- a/bts_webui/amancay/urls.py
+++ b/bts_webui/amancay/urls.py
@@ -23,6 +23,7 @@
 
 	# Small pieces
 	(r'^ajax/package/add/', 'bts_webui.amancay.ajax.add_package',),
+	(r'^ajax/package/remove/', 'bts_webui.amancay.ajax.remove_package',),
 
 	# Account Settings
 	#   (r'^account_settings', 'bts_webui.amancay.views.account_settings',),