diff options
-rw-r--r-- | static/website/templates/abstract-details.html | 66 | ||||
-rw-r--r-- | static/website/templates/prohibited.html | 9 | ||||
-rw-r--r-- | static/website/templates/view-abstracts.html | 56 | ||||
-rw-r--r-- | website/models.py | 6 | ||||
-rw-r--r-- | website/urls.py | 1 | ||||
-rw-r--r-- | website/views.py | 33 |
6 files changed, 131 insertions, 40 deletions
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 %} + <p><b>Title: </b> {{ proposal.title }}</p> + <p><b>Speaker: </b> {{ proposal.user.first_name }} {{ proposal.user.last_name }}</p> + <p><b>Bio: </b> {{ proposal.bio }}</p> + <p><b>Objective: </b> {{ proposal.objective }}</p> + <div class="modal fade" id="abstract" tabindex="-1" role="dialog" aria-labelledby="abstractLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> + <h4 class="modal-title" id="abstractLabel">Abstract</h4> + </div> + <div class="modal-body"> + {{ proposal.abstract }} + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + </div> + </div> + </div> + </div> + <table> + <tr> + <td width=100> + <button type="button" class="btn btn-mini" data-toggle="modal" data-target="#abstract"> + Abstract + </button> + </td> + <td> + <a href="{{ proposal.attachment.url }}" class="btn btn-info" target="_blank">Attachment</a> + </td> + </tr> + </table> + <br> + {% if proposal.link %} + <p><b>Additional Links: </b> <a href="http://{{ proposal.link }}" target="_blank">{{ proposal.link }}</a></p> + {% endif %} + <hr> + <h4>Comments</h4> + <hr> + {% for comment in comments %} + <div> + <strong>Comment By:</strong> + {{ comment.user.first_name }} {{ comment.user.last_name }} + <p>{{ comment.comment|safe }}</p> + </div> + <hr> + {% endfor %} + <form action="{% url 'website:abstract_details' proposal.id %}" method='POST' enctype="multipart/form-data"> + {% csrf_token %} + <textarea rows="5" cols="100" name="comment"></textarea><br> + <button type="submit" class="btn btn-info"> + Comment + </button> + </form> +{% 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 %} +<h3 class="garmond">Access Restricted ! You do not have enough rights to access this page.</h3> +{% 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 %} + <table class="table table-bordered"> + <th width=50> Sr # + <th>Title + <th>Speaker {% for proposal in proposals %} - <p><b>Title: </b> {{ proposal.title }}</p> - <p><b>Speaker: </b> {{ proposal.user.first_name }} {{ proposal.user.last_name }}</p> - <p><b>Bio: </b> {{ proposal.bio }}</p> - <p><b>Objective: </b> {{ proposal.objective }}</p> - <div class="modal fade" id="abstract" tabindex="-1" role="dialog" aria-labelledby="abstractLabel" aria-hidden="true"> - <div class="modal-dialog"> - <div class="modal-content"> - <div class="modal-header"> - <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> - <h4 class="modal-title" id="abstractLabel">Abstract</h4> - </div> - <div class="modal-body"> - {{ proposal.abstract }} - </div> - <div class="modal-footer"> - <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> - </div> - </div> - </div> - </div> - <table> - <tr> - <td width=100> - <button type="button" class="btn btn-mini" data-toggle="modal" data-target="#abstract"> - Abstract - </button> - </td> - <td> - <a href="{{ proposal.attachment.url }}" class="btn btn-info" target="_blank">Attachment</a> - </td> - </tr> - </table> - <br> - {% if proposal.link %} - <p><b>Additional Links: </b> <a href="http://{{ proposal.link }}" target="_blank">{{ proposal.link }}</a></p> - {% endif %} - - <hr> + <tr> + <td> + {{ forloop.counter }} + </td> + <td> + <a href="{% url 'website:abstract_details' proposal.id %}">{{ proposal.title }}</a> + </td> + <td> + {{ proposal.user.first_name }} {{ proposal.user.last_name }} + </td> + </tr> {% endfor %} + </table> {% 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<proposal_id>\d+)$', 'website.views.abstract_details', name='abstract_details'), url(r'^call-for-proposals/(?P<action>[^/]+)$', '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): |