text: """
  django-helpdesk - A Django powered ticket tracker for small enterprise.
  
  (c) Copyright 2008 Jutda. All Rights Reserved. See LICENSE for details.
  
  views/kb.py - Public-facing knowledgebase views. The knowledgebase is a
                simple categorised question/answer system to show common
                resolutions to common problems.
  """
  
  from datetime import datetime
  
  from django.http import HttpResponseRedirect
  from django.shortcuts import render_to_response, get_object_or_404
  from django.template import RequestContext
  from django.utils.translation import ugettext as _
  
  from web.helpdesk import settings as helpdesk_settings
  from web.helpdesk.models import KBCategory, KBItem
  
  
  def index(request):
      category_list = KBCategory.objects.all()
      # TODO: It'd be great to have a list of most popular items here.
      return render_to_response('helpdesk/kb_index.html',
          RequestContext(request, {
              'kb_categories': category_list,
              'helpdesk_settings': helpdesk_settings,
          }))
  
  
  def category(request, slug):
      category = get_object_or_404(KBCategory, slug__iexact=slug)
      items = category.kbitem_set.all()
      return render_to_response('helpdesk/kb_category.html',
          RequestContext(request, {
              'category': category,
              'items': items,
              'helpdesk_settings': helpdesk_settings,
          }))
  
  
  def item(request, item):
      item = get_object_or_404(KBItem, pk=item)
      return render_to_response('helpdesk/kb_item.html',
          RequestContext(request, {
              'item': item,
              'helpdesk_settings': helpdesk_settings,
          }))
  
  
  def vote(request, item):
      item = get_object_or_404(KBItem, pk=item)
      vote = request.GET.get('vote', None)
      if vote in ('up', 'down'):
          item.votes += 1
          if vote == 'up':
              item.recommendations += 1
          item.save()
  
      return HttpResponseRedirect(item.get_absolute_url())
  
  