]> git.openstreetmap.org Git - osqa.git/blobdiff - forum/views/readers.py
merging jambazov > trunk
[osqa.git] / forum / views / readers.py
index 9a6f66eaf2caaa78ec8439ea4e8715cad8948201..991a6b65bec77d17b156338ce723838a3599b6b1 100644 (file)
@@ -102,13 +102,15 @@ def questions(request):
 
 @decorators.render('questions.html')
 def tag(request, tag):
-    questions = Question.objects.filter(tags__name=unquote(tag))
 
-    if not questions:
+    try:
+        tag = Tag.active.get(name=unquote(tag))
+    except Tag.DoesNotExist:
         raise Http404
 
+
     return question_list(request,
-                         questions,
+                         Question.objects.filter(tags=tag),
                          mark_safe(_('questions tagged <span class="tag">%(tag)s</span>') % {'tag': tag}),
                          None,
                          mark_safe(_('Questions Tagged With %(tag)s') % {'tag': tag}),
@@ -238,16 +240,14 @@ def tags(request):
     })
 
 def update_question_view_times(request, question):
-    if not 'last_seen_in_question' in request.session:
-        request.session['last_seen_in_question'] = {}
+    last_seen_in_question = request.session.get('last_seen_in_question', {})
 
-    last_seen = request.session['last_seen_in_question'].get(question.id, None)
+    last_seen = last_seen_in_question.get(question.id, None)
 
-    if (not last_seen) or last_seen < question.last_activity_at:
+    if (not last_seen) or (last_seen < question.last_activity_at):
         QuestionViewAction(question, request.user, ip=request.META['REMOTE_ADDR']).save()
-        request.session['last_seen_in_question'][question.id] = datetime.datetime.now()
-
-    request.session['last_seen_in_question'][question.id] = datetime.datetime.now()
+        last_seen_in_question[question.id] = datetime.datetime.now()
+        request.session['last_seen_in_question'] = last_seen_in_question
 
 def match_question_slug(id, slug):
     slug_words = slug.split('-')