42 lines
1.6 KiB
Python
42 lines
1.6 KiB
Python
import models
|
|
import forms
|
|
from django.shortcuts import render_to_response
|
|
from django.template import RequestContext
|
|
from django.contrib.auth.decorators import login_required
|
|
from django.http import HttpResponseRedirect
|
|
from django.core.urlresolvers import reverse
|
|
|
|
@login_required
|
|
def create(request):
|
|
if request.method == 'POST':
|
|
form = forms.PetitionForm(request.POST)
|
|
else:
|
|
form = forms.PetitionForm()
|
|
if form.is_valid():
|
|
petition = models.Petition()
|
|
petition.author = request.user
|
|
petition.body = form.cleaned_data['body']
|
|
petition.save()
|
|
return HttpResponseRedirect(reverse('petition.views.view', kwargs={"id":petition.id}))
|
|
return render_to_response('petition/create.html', {'form':form}, context_instance = RequestContext(request))
|
|
|
|
@login_required
|
|
def view(request, id):
|
|
petition = models.Petition.objects.get(id__exact=id)
|
|
commentForm = forms.CommentForm()
|
|
return render_to_response('petition/view.html', {'petition':petition, 'form': commentForm}, context_instance = RequestContext(request))
|
|
|
|
def comment(request, id):
|
|
if request.method == 'POST':
|
|
form = forms.CommentForm(request.POST)
|
|
else:
|
|
form = forms.CommentForm()
|
|
if form.is_valid():
|
|
petition = models.Petition.objects.get(id__exact=id)
|
|
comment = models.Comment()
|
|
comment.author = request.user
|
|
comment.body = form.cleaned_data['body']
|
|
comment.petition = petition
|
|
comment.save()
|
|
return HttpResponseRedirect(reverse('petition.views.view', kwargs={"id":petition.id})+"#c"+str(comment.id))
|