Created
April 12, 2011 00:35
-
-
Save sorl/914686 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#coding=utf-8 | |
from django.contrib.auth.decorators import login_required | |
from django.contrib import messages | |
from django.db.models import Q | |
from django.http import HttpResponseRedirect, HttpResponse | |
from django.shortcuts import get_object_or_404 | |
from django.utils.translation import ugettext as _ | |
from faq.models import FAQ, FAQGroup | |
from itertools import groupby | |
from utkik import View | |
from utkik.decorators import handler_decorator | |
class FAQList(View): | |
template_name = 'faq/faq_list.html' | |
def get(self): | |
search = self.request.GET.get('search', '').strip() | |
q = Q(title__icontains=search) if search else Q() | |
def group_faqs(): | |
for k, g in groupby(FAQ.objects.filter(q), lambda obj: obj.group): | |
yield k, list(g) | |
self.c.group_faqs = group_faqs() | |
class FAQDetail(View): | |
template_name = 'faq/faq_detail.html' | |
def setup(self, slug): | |
self.c.faq = get_object_or_404(FAQ.objects, slug=slug) | |
def get(self, slug): | |
pass | |
@handler_decorator(login_required) | |
def post(self, slug): | |
Form = self.c.faq.get_comment_form() | |
self.c.comment_form = Form(data=self.request.POST) | |
if self.c.comment_form.is_valid(): | |
obj = self.c.comment_form.save(commit=False) | |
obj.author = self.request.user.profile | |
obj.item = self.c.faq | |
obj.save() | |
messages.add_message( | |
self.request, messages.INFO, _(u'Tack för din kommentar')) | |
return HttpResponseRedirect(self.request.path) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment