summaryrefslogtreecommitdiff
path: root/tbc
diff options
context:
space:
mode:
authorhardythe12014-07-24 18:10:44 +0530
committerhardythe12014-07-24 18:10:44 +0530
commitbe4c52df5c1945f3e1c3465568424cad6eef3773 (patch)
tree86e3f9e86be8fe47909cfa12b8dcdb58020a613f /tbc
parent4cab0cab4dcb8e5a3fe929444f43049ec3c64db2 (diff)
downloadPython-TBC-Interface-be4c52df5c1945f3e1c3465568424cad6eef3773.tar.gz
Python-TBC-Interface-be4c52df5c1945f3e1c3465568424cad6eef3773.tar.bz2
Python-TBC-Interface-be4c52df5c1945f3e1c3465568424cad6eef3773.zip
changes to automate proposal
Diffstat (limited to 'tbc')
-rw-r--r--tbc/models.py7
-rwxr-xr-xtbc/templates/base.html1
-rw-r--r--tbc/templates/tbc/review-proposal.html2
-rw-r--r--tbc/templates/tbc/submit-sample.html38
-rw-r--r--tbc/urls.py2
-rwxr-xr-xtbc/views.py8
6 files changed, 54 insertions, 4 deletions
diff --git a/tbc/models.py b/tbc/models.py
index fa36af3..00cb56b 100644
--- a/tbc/models.py
+++ b/tbc/models.py
@@ -140,8 +140,9 @@ class Proposal(models.Model):
def __unicode__(self):
user = self.user.user.username or 'User'
return '%s'%(user)
-
-
+
+
class SampleNotebook(models.Model):
proposal = models.ForeignKey(Proposal)
- book_preference = models.CharField(max_length=30, choices=BOOK_PREFERENCE)
+ name = models.CharField(max_length=40)
+ sample_notebook = models.FileField(upload_to=get_sample_dir)
diff --git a/tbc/templates/base.html b/tbc/templates/base.html
index 9663c70..d0c8708 100755
--- a/tbc/templates/base.html
+++ b/tbc/templates/base.html
@@ -95,6 +95,7 @@
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ user.first_name }}<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="{% url 'tbc:SubmitProposal' %}">Submit Proposal</a></li>
+ <li><a href="{% url 'tbc:SubmitSample' %}">Submit Sample Notebook</a></li>
<li><a href="{% url 'tbc:SubmitBook' %}">Submit Book</a></li>
<li><a href="{% url 'tbc:UpdateBook' %}">Update Submission</a></li>
<li><a href="{% url 'tbc:UpdatePassword' %}">Update Password</a></li>
diff --git a/tbc/templates/tbc/review-proposal.html b/tbc/templates/tbc/review-proposal.html
index d13a4ac..3c8366b 100644
--- a/tbc/templates/tbc/review-proposal.html
+++ b/tbc/templates/tbc/review-proposal.html
@@ -67,7 +67,7 @@
</h5>
<h5><b>Book Accepted/Alloted:</b> {{ proposal.accepted.title }}</h5>
{% ifequal proposal.status "samples" %}
- <h5><a href="#">sample notebook</a><br></h5>
+ <h5><a href="{% static 'uploads/' %}{{ chapter.notebook }}">sample notebook</a><br></h5>
<a class="btn btn-primary" href="{% url 'tbc:DisapproveProposal' proposal.id %}">Disapprove Samples</a>
<a class="btn btn-primary" href="{% url 'tbc:RejectProposal' proposal.id %}">Alot Book</a>
{% endifequal %}
diff --git a/tbc/templates/tbc/submit-sample.html b/tbc/templates/tbc/submit-sample.html
new file mode 100644
index 0000000..fde3079
--- /dev/null
+++ b/tbc/templates/tbc/submit-sample.html
@@ -0,0 +1,38 @@
+{% extends 'base.html' %}
+
+{% block script %}
+<script>
+function validate_content()
+{
+ no_notebooks = {{ no_notebooks }}.length;
+ extension = document.getElementById("sample_notebook").value;
+ extension = extension.split(".");
+ if (extension == "" || name == "")
+ {
+ alert("Chapter name or file field is empty !");
+ return false;
+ }
+ if(extension.slice(Math.max(extension.length - 1, 1)) == "ipynb")
+ return true;
+ else
+ alert("Oops ! You can upload only Ipython Notebooks (.ipynb extension)");
+ return false;
+ return true;
+}
+</script>
+{% endblock %}
+
+{% block content %}
+<div id="content-wrap" style="max-width:600px;">
+ <p>You are uploading sample notebook for the book {{ proposal.accepted.title }} by {{ proposal.accepted.author }}</p>
+ <p>Only .ipynb files are acceptable</p>
+ <form action="/submit-sample/{{ proposal.id }}" method=POST enctype="multipart/form-data" onSubmit="return validate_content();">
+ {% csrf_token %}
+ <input type=text id=ch_name name=ch_name placeholder="Name of the chapter you coded the solved example from">
+ <input type=file id=sample_notebook name=sample_notebook>
+ <br>
+ <hr>
+ <center><input class="btn btn-primary" type=submit value=submit></center>
+ </form>
+</div>
+{% endblock %}
diff --git a/tbc/urls.py b/tbc/urls.py
index ad92e54..8bbd025 100644
--- a/tbc/urls.py
+++ b/tbc/urls.py
@@ -15,6 +15,8 @@ urlpatterns = patterns('',
url(r'^submit-proposal/$', 'tbc.views.SubmitProposal', name='SubmitProposal'),
url(r'^submit-book/$', 'tbc.views.SubmitBook', name='SubmitBook'),
+ url(r'^submit-sample/$', 'tbc.views.SubmitSample', name='SubmitSample'),
+ url(r'^submit-sample/(?P<proposal_id>\d+)$', 'tbc.views.SubmitSample', name='SubmitSample'),
url(r'^update-book/$', 'tbc.views.UpdateBook', name='UpdateBook'),
url(r'^upload-content/(?P<book_id>\d+)$', 'tbc.views.ContentUpload', name='ContentUpload'),
url(r'^update-content/(?P<book_id>\d+)$', 'tbc.views.UpdateContent', name='UpdateContent'),
diff --git a/tbc/views.py b/tbc/views.py
index ae411b8..3f891b1 100755
--- a/tbc/views.py
+++ b/tbc/views.py
@@ -383,6 +383,14 @@ def RejectProposal(request, proposal_id=None):
return HttpResponse("Rejected")
else:
return HttpResponse("no post")
+
+
+def SubmitSample(request, proposal_id=None):
+ if request.method == "POST":
+ return HttpResponse("POST")
+ else:
+ books = Book.objects.filter(approved=True)
+ return HttpResponse(books)
def UpdateBook(request):