From c435fddecde1fc7d13687d23740062151bc52a72 Mon Sep 17 00:00:00 2001 From: hardythe1 Date: Fri, 25 Jul 2014 18:38:05 +0530 Subject: added changes to submit sample notebook & approve/dispprove sample notebook --- tbc/models.py | 2 +- tbc/templates/tbc/disapprove-sample.html | 17 ++++++++++++ tbc/templates/tbc/review-proposal.html | 24 ++++++++++------- tbc/templates/tbc/submit-sample.html | 2 +- tbc/urls.py | 2 +- tbc/views.py | 46 ++++++++++++++++++++++++++------ 6 files changed, 72 insertions(+), 21 deletions(-) create mode 100644 tbc/templates/tbc/disapprove-sample.html diff --git a/tbc/models.py b/tbc/models.py index 00cb56b..a1f2408 100644 --- a/tbc/models.py +++ b/tbc/models.py @@ -58,7 +58,7 @@ def get_image_dir(instance, filename): def get_sample_dir(instance, filename): - user_name = instance.user.user.first_name+instance.user.user.last_name + user_name = instance.proposal.user.user.first_name+instance.proposal.user.user.last_name return 'sample_notebooks/%s/%s' % (user_name, filename.replace(' ', '_')) class Profile(models.Model): diff --git a/tbc/templates/tbc/disapprove-sample.html b/tbc/templates/tbc/disapprove-sample.html new file mode 100644 index 0000000..2632edb --- /dev/null +++ b/tbc/templates/tbc/disapprove-sample.html @@ -0,0 +1,17 @@ +{% extends 'base.html' %} +{% load static %} +{% block content %} +

Diapprove Sample Notebook

+
+

Notifing Chages for book {{ proposal.accepted.title }} to {{ proposal.user.user.first_name }} {{ proposal.user.user.last_name }}

+
+{% csrf_token %} + + + + + + +
To
Changes Required
+
+{% endblock %} diff --git a/tbc/templates/tbc/review-proposal.html b/tbc/templates/tbc/review-proposal.html index 3c8366b..c451db6 100644 --- a/tbc/templates/tbc/review-proposal.html +++ b/tbc/templates/tbc/review-proposal.html @@ -35,9 +35,9 @@

Old Proposals

    {% for proposal in old_proposals %} -
  1. Propsal from {{ proposal.user.user.first_name }} {{ proposal.user.user.last_name }}
  2. +
  3. Propsal from {{ proposal.proposal.user.user.first_name }} {{ proposal.proposal.user.user.last_name }}
  4. - {% for textbook in proposal.textbooks.all %} + {% for textbook in proposal.proposal.textbooks.all %}
    {% endfor %} diff --git a/tbc/templates/tbc/submit-sample.html b/tbc/templates/tbc/submit-sample.html index fde3079..b26e8ae 100644 --- a/tbc/templates/tbc/submit-sample.html +++ b/tbc/templates/tbc/submit-sample.html @@ -24,7 +24,7 @@ function validate_content() {% block content %}
    -

    You are uploading sample notebook for the book {{ proposal.accepted.title }} by {{ proposal.accepted.author }}

    +
    You are uploading sample notebook for the book {{ proposal.accepted }} by {{ proposal.accepted.author }}

    Only .ipynb files are acceptable

    {% csrf_token %} diff --git a/tbc/urls.py b/tbc/urls.py index 8bbd025..06f3636 100644 --- a/tbc/urls.py +++ b/tbc/urls.py @@ -30,7 +30,7 @@ urlpatterns = patterns('', url(r'^book-review/$', 'tbc.views.BookReview', name='BookReview'), url(r'^proposal-review/$', 'tbc.views.ReviewProposals', name='ReviewProposals'), url(r'^proposal-review/(?P\d+)/(?P\d+)$', 'tbc.views.ReviewProposals', name='ReviewProposals'), - url(r'^disapprove-proposal/(?P\d+)$', 'tbc.views.DisapproveProposal', name='DisapproveProposal'), + url(r'^disapprove-sample-notebook/(?P\d+)$', 'tbc.views.DisapproveProposal', name='DisapproveProposal'), url(r'^reject-proposal/(?P\d+)$', 'tbc.views.RejectProposal', name='RejectProposal'), url(r'^book-review/(?P\d+)$', 'tbc.views.BookReview', name='BookReview'), url(r'^approve-book/(?P\d+)$', 'tbc.views.ApproveBook', name='ApproveBook'), diff --git a/tbc/views.py b/tbc/views.py index 3f891b1..b60b766 100755 --- a/tbc/views.py +++ b/tbc/views.py @@ -366,18 +366,38 @@ def ReviewProposals(request, proposal_id=None, textbook_id=None): else: new_proposals = Proposal.objects.filter(status="pending") other_status = ['samples', 'book alloted'] - old_proposals = Proposal.objects.filter(status__in=other_status) + old_proposals = [] + sample_notebook = '' + proposals = Proposal.objects.filter(status__in=other_status) + for proposal in proposals: + try: + sample_notebook = SampleNotebook.objects.get(proposal=proposal) + except: + sample_notebook = None + obj = {'proposal':proposal, 'sample':sample_notebook} + old_proposals.append(obj) context['proposals'] = new_proposals context['old_proposals'] = old_proposals return render_to_response('tbc/review-proposal.html', context) def DisapproveProposal(request, proposal_id=None): - if request.method == "POST": - return HttpResponse("Dispproved") + context = {} + context.update(csrf(request)) + proposal = Proposal.objects.get(id=proposal_id) + if request.method == 'POST': + changes_required = request.POST['changes_required'] + subject = "Python-TBC: Corrections Required in the sample notebook" + message = "Hi, "+proposal.user.user.first_name+",\n"+\ + "Sample notebook for the book titled, "+proposal.accepted.title+"\ + requires following changes: \n"+\ + changes_required + context.update(csrf(request)) + return HttpResponseRedirect("/book-review/?mail_notify=done") else: - return HttpResponse("no post") - + context['proposal'] = proposal + return render_to_response('tbc/disapprove-sample.html', context) + def RejectProposal(request, proposal_id=None): if request.method == "POST": return HttpResponse("Rejected") @@ -386,11 +406,21 @@ def RejectProposal(request, proposal_id=None): def SubmitSample(request, proposal_id=None): + context = {} + context.update(csrf(request)) if request.method == "POST": - return HttpResponse("POST") + curr_proposal = Proposal.objects.get(id=proposal_id) + sample_notebook = SampleNotebook() + sample_notebook.proposal = curr_proposal + sample_notebook.name = request.POST.get('ch_name') + sample_notebook.sample_notebook = request.FILES['sample_notebook'] + sample_notebook.save() + return HttpResponse("done") else: - books = Book.objects.filter(approved=True) - return HttpResponse(books) + profile = Profile.objects.get(user=request.user) + proposal = Proposal.objects.get(user=profile, status='samples') + context['proposal'] = proposal + return render_to_response('tbc/submit-sample.html', context) def UpdateBook(request): -- cgit