--- a/sdi/views.py Sat May 29 18:41:04 2010 +0530
+++ b/sdi/views.py Sat May 29 19:35:49 2010 +0530
@@ -31,7 +31,40 @@
if request.method == "POST":
form = SearchForm(request.POST)
if form.is_valid():
- pass
+ data = form.cleaned_data
+ need_workshop = data['need_for_python_workshop']
+ db_query = "Registrant.objects.filter(need_for_python_workshop=%s)"%need_workshop
+
+ topics_include, topics_exclude = data['topics_interested']
+ for number in topics_include:
+ db_query += '.filter(topics_interested__contains="%s")'%number
+
+ for number in topics_exclude:
+ db_query += '.exclude(topics_interested__contains="%s")'%number
+
+ start_python, stop_python = data['knowledge_of_python']
+ if start_python and stop_python:
+ db_query += '.filter(knowledge_of_python__gte="%s")'%start_python
+ db_query += '.filter(knowledge_of_python__lte="%s")'%stop_python
+ elif start_python:
+ db_query += '.filter(knowledge_of_python__exact="%s")'%start_python
+
+ start_sage, stop_sage = data['knowledge_of_sage']
+ if start_sage and stop_sage:
+ db_query += '.filter(knowledge_of_sage__gte="%s")'%start_sage
+ db_query += '.filter(knowledge_of_sage__lte="%s")'%stop_sage
+ elif start_sage:
+ db_query += '.filter(knowledge_of_sage__exact="%s")'%start_sage
+
+ start_likeliness, stop_likeliness = data['likeliness_of_attending']
+ if start_likeliness and stop_likeliness:
+ db_query += '.filter(likeliness_of_attending__gte="%s")'%start_likeliness
+ db_query += '.filter(likeliness_of_attending__lte="%s")'%stop_likeliness
+ elif start_likeliness:
+ db_query += '.filter(likeliness_of_attending__exact="%s")'%start_likeliness
+
+ matches = eval(db_query)
+ return render_to_response("list_stats.html", {"form":form, 'matches':matches})
else:
return render_to_response("list_stats.html", {"form":form})
else: