From ce8e996bb9cc8edc659bf5edd8370f09f8f62a6f Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Fri, 21 Nov 2014 18:16:09 +0530 Subject: added commenting interface --- static/website/templates/abstract-details.html | 66 ++++++++++++++++++++++++++ static/website/templates/prohibited.html | 9 ++++ static/website/templates/view-abstracts.html | 56 +++++++--------------- website/models.py | 6 +++ website/urls.py | 1 + website/views.py | 33 ++++++++++++- 6 files changed, 131 insertions(+), 40 deletions(-) create mode 100644 static/website/templates/abstract-details.html create mode 100644 static/website/templates/prohibited.html diff --git a/static/website/templates/abstract-details.html b/static/website/templates/abstract-details.html new file mode 100644 index 0000000..88ebc6c --- /dev/null +++ b/static/website/templates/abstract-details.html @@ -0,0 +1,66 @@ +{% extends 'website/templates/base.html' %} + +{% load widget_tweaks %} + +{% block current %} +Proposal Details +{% endblock %} + + +{% block content %} +

Title:  {{ proposal.title }}

+

Speaker:  {{ proposal.user.first_name }} {{ proposal.user.last_name }}

+

Bio:  {{ proposal.bio }}

+

Objective:  {{ proposal.objective }}

+ + + + + + +
+ + + Attachment +
+
+ {% if proposal.link %} +

Additional Links:  {{ proposal.link }}

+ {% endif %} +
+

Comments

+
+ {% for comment in comments %} +
+ Comment By: + {{ comment.user.first_name }} {{ comment.user.last_name }} +

{{ comment.comment|safe }}

+
+
+ {% endfor %} +
+ {% csrf_token %} +
+ +
+{% endblock %} + diff --git a/static/website/templates/prohibited.html b/static/website/templates/prohibited.html new file mode 100644 index 0000000..f86a440 --- /dev/null +++ b/static/website/templates/prohibited.html @@ -0,0 +1,9 @@ +{% extends 'website/templates/base.html' %} + +{% block current %} +Not Enough rights +{% endblock %} + +{% block content %} +

Access Restricted ! You do not have enough rights to access this page.

+{% endblock %} diff --git a/static/website/templates/view-abstracts.html b/static/website/templates/view-abstracts.html index a988f0a..fa475fe 100644 --- a/static/website/templates/view-abstracts.html +++ b/static/website/templates/view-abstracts.html @@ -3,50 +3,28 @@ {% load widget_tweaks %} {% block current %} -View Abstracts +View Proposals {% endblock %} {% block content %} + + + + + + {% endfor %} +
Sr # + Title + Speaker {% for proposal in proposals %} -

Title:  {{ proposal.title }}

-

Speaker:  {{ proposal.user.first_name }} {{ proposal.user.last_name }}

-

Bio:  {{ proposal.bio }}

-

Objective:  {{ proposal.objective }}

- - - - - - -
- - - Attachment -
-
- {% if proposal.link %} -

Additional Links:  {{ proposal.link }}

- {% endif %} - -
+
+ {{ forloop.counter }} + + {{ proposal.title }} + + {{ proposal.user.first_name }} {{ proposal.user.last_name }} +
{% endblock %} diff --git a/website/models.py b/website/models.py index d0cd85a..f8288c6 100644 --- a/website/models.py +++ b/website/models.py @@ -14,3 +14,9 @@ class Proposal(models.Model): attachment = models.FileField(upload_to=get_document_dir) date_created = models.DateTimeField(auto_now_add=True) date_modified = models.DateTimeField(auto_now=True) + + +class Comments(models.Model): + proposal = models.ForeignKey(Proposal) + user = models.ForeignKey(User) + comment = models.CharField(max_length=700) diff --git a/website/urls.py b/website/urls.py index c2ad654..f6d5587 100644 --- a/website/urls.py +++ b/website/urls.py @@ -13,6 +13,7 @@ urlpatterns = patterns('', url(r'^invited-speakers/$', 'website.views.invited_speakers', name='invited_speakers'), url(r'^call-for-proposals/$', 'website.views.call_for_proposals', name='call_for_proposals'), url(r'^cfp-view-abstracts/$', 'website.views.view_abstracts', name='view_abstracts'), + url(r'^abstract-details/(?P\d+)$', 'website.views.abstract_details', name='abstract_details'), url(r'^call-for-proposals/(?P[^/]+)$', 'website.views.call_for_proposals', name='call_for_proposals'), url(r'^poster/$', 'website.views.poster', name='poster'), ) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/website/views.py b/website/views.py index 71624ee..5db8013 100644 --- a/website/views.py +++ b/website/views.py @@ -6,7 +6,7 @@ from django.template import RequestContext from django.core.mail import send_mail from website.forms import UserLoginForm, UserRegisterForm, ProposalForm, ContactUsForm -from website.models import Proposal +from website.models import Proposal, Comments def home(request): return render(request, 'website/templates/home.html') @@ -116,6 +116,37 @@ def view_abstracts(request): context['proposals'] = proposals context['user'] = user return render(request, 'website/templates/view-abstracts.html', context) + else: + return render(request, 'website/templates/prohibited.html') + else: + return render(request, 'website/templates/prohibited.html') + + +def abstract_details(request, proposal_id=None): + user = request.user + context = {} + if user.is_authenticated(): + if user.username == "fossee": + proposal = Proposal.objects.get(id=proposal_id) + if request.method == 'POST': + comment = Comments() + comment.comment = request.POST['comment'] + comment.user = user + comment.proposal = proposal + comment.save() + comments = Comments.objects.filter(proposal=proposal) + context['proposal'] = proposal + context['comments'] = comments + context.update(csrf(request)) + return render(request, 'website/templates/abstract-details.html', context) + comments = Comments.objects.filter(proposal=proposal) + context['proposal'] = proposal + context['comments'] = comments + return render(request, 'website/templates/abstract-details.html', context) + else: + return render(request, 'website/templates/prohibited.html') + else: + return render(request, 'website/templates/prohibited.html') def poster(request): -- cgit