Example #1
0
File: kb.py Project: bujosa/Django
def category(request, slug, iframe=False):
    category = get_object_or_404(KBCategory, slug__iexact=slug)
    if not user.huser_from_request(request).can_access_kbcategory(category):
        raise Http404
    items = category.kbitem_set.filter(enabled=True)
    selected_item = request.GET.get('kbitem', None)
    try:
        selected_item = int(selected_item)
    except TypeError:
        pass
    qparams = request.GET.copy()
    try:
        del qparams['kbitem']
    except KeyError:
        pass
    template = 'helpdesk/kb_category.html'
    if iframe:
        template = 'helpdesk/kb_category_iframe.html'
    staff = request.user.is_authenticated and request.user.is_staff
    return render(
        request, template, {
            'category': category,
            'items': items,
            'selected_item': selected_item,
            'query_param_string': qparams.urlencode(),
            'helpdesk_settings': helpdesk_settings,
            'iframe': iframe,
            'staff': staff,
        })
Example #2
0
File: kb.py Project: bujosa/Django
def index(request):
    huser = user.huser_from_request(request)
    # TODO: It'd be great to have a list of most popular items here.
    return render(
        request, 'helpdesk/kb_index.html', {
            'kb_categories': huser.get_allowed_kb_categories(),
            'helpdesk_settings': helpdesk_settings,
        })
Example #3
0
 def get_context_data(self, **kwargs):
     context = super().get_context_data(**kwargs)
     context['kb_categories'] = huser_from_request(
         self.request).get_allowed_kb_categories()
     return context