summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprashantsinalkar2017-04-17 14:43:36 +0530
committerprashantsinalkar2017-04-17 14:43:36 +0530
commit62e138129a2c44b22d72ffd1c14014ee96bf7a37 (patch)
tree4ae3b5348442290cccafbd0f906fa6228bc4e68f
parente75eeb3ddafd7b5d221c4ee889c9a7affa2eb283 (diff)
downloadpyfoss-62e138129a2c44b22d72ffd1c14014ee96bf7a37.tar.gz
pyfoss-62e138129a2c44b22d72ffd1c14014ee96bf7a37.tar.bz2
pyfoss-62e138129a2c44b22d72ffd1c14014ee96bf7a37.zip
added list of completed books fetched from external db
-rw-r--r--pyfoss/settings.py10
-rw-r--r--static/website/templates/page.html48
-rw-r--r--website/models.py31
-rw-r--r--website/views.py18
4 files changed, 102 insertions, 5 deletions
diff --git a/pyfoss/settings.py b/pyfoss/settings.py
index 2eae224..de362a9 100644
--- a/pyfoss/settings.py
+++ b/pyfoss/settings.py
@@ -1,6 +1,6 @@
#Custom settings for pyfoss project.
from os.path import *
-from config import DB_NAME_DEFAULT, DB_USER_DEFAULT, DB_PASS_DEFAULT, DB_HOST_DEFAULT, DB_PORT_DEFAULT, DB_NAME_FOSSEEIN, DB_USER_FOSSEEIN, DB_PASS_FOSSEEIN, DB_HOST_FOSSEEIN, DB_PORT_FOSSEEIN
+from config import DB_NAME_DEFAULT, DB_USER_DEFAULT, DB_PASS_DEFAULT, DB_HOST_DEFAULT, DB_PORT_DEFAULT, DB_NAME_FOSSEEIN, DB_USER_FOSSEEIN, DB_PASS_FOSSEEIN, DB_HOST_FOSSEEIN, DB_PORT_FOSSEEIN, DB_NAME_TBC_PYTHON, DB_USER_TBC_PYTHON, DB_PASS_TBC_PYTHON, DB_HOST_TBC_PYTHON, DB_PORT_TBC_PYTHON
PROJECT_DIR = abspath(dirname(__file__) + '/../')
PYFOSS_DIR = PROJECT_DIR + '/pyfoss/'
@@ -45,6 +45,14 @@ DATABASES = {
'PASSWORD': DB_PASS_FOSSEEIN,
'HOST': DB_HOST_FOSSEEIN, # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': DB_PORT_FOSSEEIN, # Set to empty string for default.
+ },
+ 'tbcpython': {
+ 'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
+ 'NAME': DB_NAME_TBC_PYTHON, # Or path to database file if using sqlite3.
+ 'USER': DB_USER_TBC_PYTHON,
+ 'PASSWORD': DB_PASS_TBC_PYTHON,
+ 'HOST': DB_HOST_TBC_PYTHON, # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
+ 'PORT': DB_PORT_TBC_PYTHON, # Set to empty string for default.
}
}
diff --git a/static/website/templates/page.html b/static/website/templates/page.html
index f9f3eb0..2d41715 100644
--- a/static/website/templates/page.html
+++ b/static/website/templates/page.html
@@ -155,7 +155,51 @@
</div>
</div>
</div>
- </div> <!-- /content -->
+ </div>
+ {% elif permalink == 'textbook-companions-for-academics' %}
+ <div id="content" class="col-lg-10 col-md-10 col-sm-10">
+
+ <h3>Textbook Companions (TBC) for Academics </h3>
+ <br>
+ <p>
+ {% if page.content %}
+ {{ page.content|safe }}
+ {% endif %}
+ </p>
+ <div class="panel panel-default">
+ <div class="panel-heading">
+ <h4 class="panel-title">
+ <a data-toggle="collapse" data-parent="#accordion" href="#collapsestats">
+ List of completed books
+ </a>
+ </h4>
+ </div>
+ <div id="collapsestats" class="panel-collapse collapse">
+ <div class="panel-body">
+ <p>
+ <table id= "tbctable" class="tablesorter table table table-striped table-hover">
+ <thead>
+ <tr>
+ <th>Sr No.</th>
+ <th>Book</th>
+
+ </tr>
+ </thead>
+ <tbody>
+ {% for b in obj %}
+ <tr>
+ <td>{{ forloop.counter }}</td>
+ <td><a href="http://tbc-python.fossee.in/book-details/{{ b.id }}" target="_blank">{{ b.title }} by {{ b.author }}</a></td>
+ </tr>
+ {% endfor %}
+ </tbody>
+ </table>
+ </p>
+ </div>
+ </div>
+ </div>
+ </div>
+ <!-- /content -->
{% else %}
<div id="content" class="col-lg-10 col-md-10 col-sm-10">
<h3>{{ page.heading }} </h3>
@@ -260,7 +304,7 @@
<script type="text/javascript">
$(document).ready(function()
{
- $("#statstable").tablesorter();
+ $("#tbctable").tablesorter();
}
);
</script>
diff --git a/website/models.py b/website/models.py
index 7afce12..8237839 100644
--- a/website/models.py
+++ b/website/models.py
@@ -72,6 +72,20 @@ Models from fossee_new Database created using inspectdb
Use it with the "fossee_in" database eg:using("fossee_in")
These models are used only for django orm reference.
"""
+CATEGORY = (("fluid mechanics", "Fluid Mechanics"),
+ ("control systems", "Control Theory & Control Systems"),
+ ("chemical engineering", "Chemical Engineering"),
+ ("thermodynamics", "Thermodynamics"),
+ ("mechanical engineering", "Mechanical Engineering"),
+ ("signal processing", "Signal Processing"),
+ ("digital communications", "Digital Communications"),
+ ("electrical technology", "Electrical Technology"),
+ ("maths & science", "Mathematics & Pure Science"),
+ ("analog electronics", "Analog Electronics"),
+ ("digital electronics", "Digital Electronics"),
+ ("computer programming", "Computer Programming"),
+ ("others", "Others"))
+
class FOSSEEStats(models.Model):
w_id = models.IntegerField(unique=True, primary_key=True)
foss_name = models.CharField(max_length=500)
@@ -93,3 +107,20 @@ class FOSSEEStats(models.Model):
class Meta:
db_table = 'workshop'
+class TBCPYTHONBook(models.Model):
+ title = models.CharField(max_length=500)
+ author = models.CharField(max_length=300)
+ category = models.CharField(max_length=32, choices=CATEGORY)
+ publisher_place = models.CharField(max_length=150)
+ isbn = models.CharField(max_length=50)
+ edition = models.CharField(max_length=15)
+ year_of_pub = models.CharField(max_length=4)
+ no_chapters = models.IntegerField(default=0, blank=True)
+ contributor = models.IntegerField(default=0, blank=True)
+ reviewer = models.IntegerField(default=0, blank=True)
+ approved = models.BooleanField(default=False)
+ start_time = models.DateField(null=True, default=None)
+ end_time = models.DateField(null=True, default=None)
+ class Meta:
+ db_table = 'tbc_book'
+
diff --git a/website/views.py b/website/views.py
index c0a61e1..769890b 100644
--- a/website/views.py
+++ b/website/views.py
@@ -1,6 +1,6 @@
from django.http import HttpResponse
from django.shortcuts import render, render_to_response, get_object_or_404
-from website.models import FOSSEEStats
+from website.models import FOSSEEStats, TBCPYTHONBook
from website.models import Nav, Page, Block
@@ -44,6 +44,20 @@ def dispatcher(request, permalink=''):
'obj' : rows,
}
+ if permalink == 'textbook-companions-for-academics':
+ blocks = get_blocks()
+ python_wokshop_page_content = Page.objects.get(permalink='textbook-companions-for-academics-page')
+ completed_books = TBCPYTHONBook.objects.using('tbcpython').values('id', 'title', 'author').filter(approved=True).order_by('id')
+
+ context = {
+ 'page' : python_wokshop_page_content,
+ 'navs': blocks['navs'],
+ 'sidebar': blocks['sidebar'],
+ 'footer': blocks['footer'],
+ 'permalink': permalink,
+ 'obj' : completed_books,
+ }
+
if permalink == '' or permalink == 'home' :
permalink = 'home'
page = get_object_or_404(Page, permalink=permalink)
@@ -56,7 +70,7 @@ def dispatcher(request, permalink=''):
'permalink': permalink
}
- if permalink != 'home' and permalink != 'python-workshops':
+ if permalink != 'home' and permalink != 'python-workshops' and permalink != 'textbook-companions-for-academics':
page = get_object_or_404(Page, permalink=permalink)
blocks = get_blocks()
context = {