comments now submit to own view
This commit is contained in:
parent
09a0b5da5d
commit
04440d740b
@ -29,9 +29,24 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
{% get_comment_form for idea as comment_form %}
|
<form method="post" action="{% url submit_idea_comment %}">
|
||||||
<form method="post" action="{% comment_form_target %}">
|
<input name="idea_id" type="hidden" value="{{idea.id}}" />
|
||||||
{{ comment_form.as_p }}
|
<p>
|
||||||
|
<label for="name">Name</label>
|
||||||
|
<input id="name" class="text" type="text" name="name" size="50"/>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="email">Email</label>
|
||||||
|
<input id="email" class="text" type="text" name="email" size="50"/>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
<label for="url">URL</label>
|
||||||
|
<input id="url" class="text" type="text" name="url" size="50"/>
|
||||||
|
</p>
|
||||||
|
<p id="commentForm">
|
||||||
|
<label for="comment">Comment</label>
|
||||||
|
<textarea class="textarea" name="comment" cols="48" rows="12"></textarea>
|
||||||
|
</p>
|
||||||
<button class="btnSubmit" type="submit">Submit</button>
|
<button class="btnSubmit" type="submit">Submit</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
@ -14,6 +14,7 @@ urlpatterns = patterns('',
|
|||||||
)
|
)
|
||||||
|
|
||||||
urlpatterns += patterns('brainstorm.views',
|
urlpatterns += patterns('brainstorm.views',
|
||||||
|
url(r'^submit_comment/$', 'submit_comment', name='submit_idea_comment'),
|
||||||
url(r'^(?P<slug>[\w-]+)/$', 'idea_list', {'ordering': 'most_popular'}, name='subsite'),
|
url(r'^(?P<slug>[\w-]+)/$', 'idea_list', {'ordering': 'most_popular'}, name='subsite'),
|
||||||
url(r'^(?P<slug>[\w-]+)/latest/$', 'idea_list', {'ordering': 'latest'}, name='subsite_latest'),
|
url(r'^(?P<slug>[\w-]+)/latest/$', 'idea_list', {'ordering': 'latest'}, name='subsite_latest'),
|
||||||
url(r'^(?P<slug>[\w-]+)/(?P<id>\d+)/$', 'idea_detail', name='idea'),
|
url(r'^(?P<slug>[\w-]+)/(?P<id>\d+)/$', 'idea_detail', name='idea'),
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
|
import datetime
|
||||||
from django.template import RequestContext
|
from django.template import RequestContext
|
||||||
from django.core.paginator import Paginator, InvalidPage, EmptyPage
|
from django.core.paginator import Paginator, InvalidPage, EmptyPage
|
||||||
|
from django.core.urlresolvers import reverse
|
||||||
from django.shortcuts import get_object_or_404, render_to_response
|
from django.shortcuts import get_object_or_404, render_to_response
|
||||||
from django.http import HttpResponseRedirect
|
from django.http import HttpResponseRedirect
|
||||||
|
from django.contrib.comments.models import Comment
|
||||||
|
from django.contrib.contenttypes.models import ContentType
|
||||||
from django.views.decorators.http import require_POST
|
from django.views.decorators.http import require_POST
|
||||||
from brainstorm.models import Subsite, Idea
|
from brainstorm.models import Subsite, Idea
|
||||||
|
|
||||||
@ -36,7 +40,6 @@ def idea_detail(request, slug, id):
|
|||||||
{'subsite':subsite, 'idea': idea},
|
{'subsite':subsite, 'idea': idea},
|
||||||
context_instance=RequestContext(request))
|
context_instance=RequestContext(request))
|
||||||
|
|
||||||
|
|
||||||
@require_POST
|
@require_POST
|
||||||
def new_idea(request, slug):
|
def new_idea(request, slug):
|
||||||
subsite = get_object_or_404(Subsite, pk=slug)
|
subsite = get_object_or_404(Subsite, pk=slug)
|
||||||
@ -50,3 +53,22 @@ def new_idea(request, slug):
|
|||||||
idea = Idea.objects.create(title=title, description=description,
|
idea = Idea.objects.create(title=title, description=description,
|
||||||
user=user, subsite=subsite)
|
user=user, subsite=subsite)
|
||||||
return HttpResponseRedirect(idea.get_absolute_url())
|
return HttpResponseRedirect(idea.get_absolute_url())
|
||||||
|
|
||||||
|
@require_POST
|
||||||
|
def submit_comment(request):
|
||||||
|
from django.conf import settings
|
||||||
|
content_type = ContentType.objects.get_for_model(Idea).id
|
||||||
|
site = settings.SITE_ID
|
||||||
|
object_pk = request.POST['idea_id']
|
||||||
|
name = request.POST.get('name', 'anonymous')
|
||||||
|
email = request.POST.get('email', '')
|
||||||
|
url = request.POST.get('url', '')
|
||||||
|
comment = request.POST['comment']
|
||||||
|
date = datetime.datetime.now()
|
||||||
|
ip = request.META['REMOTE_ADDR']
|
||||||
|
c = Comment.objects.create(user_name=name, user_email=email, user_url=url,
|
||||||
|
comment=comment, submit_date=date, ip_address=ip,
|
||||||
|
site_id=site, content_type_id=content_type, object_pk=object_pk)
|
||||||
|
idea = Idea.objects.get(pk=object_pk)
|
||||||
|
linkback = '%s#c%s' % (idea.get_absolute_url(), c.id)
|
||||||
|
return HttpResponseRedirect(linkback)
|
||||||
|
Loading…
Reference in New Issue
Block a user