summaryrefslogtreecommitdiff
path: root/website/views.py
diff options
context:
space:
mode:
authorKing2019-02-26 15:09:19 +0530
committerGitHub2019-02-26 15:09:19 +0530
commit77046e0215fd22faa92e6b74b00df67444b66993 (patch)
tree6f275bcc5284783f19b530a0a104e90df09ede68 /website/views.py
parent33b7be32d0aced65a9f4ebf9801de41e48b9abfc (diff)
parent4117814d0dcc679da020f13ae13da68edce7a288 (diff)
downloadpyfoss-77046e0215fd22faa92e6b74b00df67444b66993.tar.gz
pyfoss-77046e0215fd22faa92e6b74b00df67444b66993.tar.bz2
pyfoss-77046e0215fd22faa92e6b74b00df67444b66993.zip
Merge pull request #4 from prashantsinalkar/master
updated the code to django 2.1/python 3.6 and fixed some issues
Diffstat (limited to 'website/views.py')
-rw-r--r--website/views.py120
1 files changed, 63 insertions, 57 deletions
diff --git a/website/views.py b/website/views.py
index 7201427..e69a1b7 100644
--- a/website/views.py
+++ b/website/views.py
@@ -2,70 +2,76 @@ from django.http import HttpResponse
from django.shortcuts import render, render_to_response, get_object_or_404
from website.models import FOSSEEStats, TBCPYTHONBook
-from website.models import Nav, Page, Block
+from website.models import Nav, Page, Block, Banner
+
def block_sort(obj):
- linkboxes = obj.linkbox_set.all()
- textboxes = obj.textbox_set.all()
+ linkboxes = obj.linkbox_set.all()
+ textboxes = obj.textbox_set.all()
+
+ items = []
+ for item in linkboxes:
+ items.append(item)
- items = []
- for item in linkboxes:
- items.append(item)
+ for item in textboxes:
+ items.append(item)
- for item in textboxes:
- items.append(item)
+ def get_pos(x): return x.position
+ items = sorted(items, key=get_pos)
+ return items
- def get_pos(x): return x.position
- items = sorted(items, key=get_pos)
- return items
def get_blocks():
- sidebar = Block.objects.get(block_name = "sidebar")
- footer = Block.objects.get(block_name = "footer")
- blocks = {
- 'navs': Nav.objects.order_by('position'),
- 'sidebar': block_sort(sidebar),
- 'footer': block_sort(footer)
- }
- return blocks
+ sidebar = Block.objects.get(block_name="sidebar")
+ footer = Block.objects.get(block_name="footer")
+
+ blocks = {
+ 'navs': Nav.objects.order_by('position'),
+ 'sidebar': block_sort(sidebar),
+ 'footer': block_sort(footer),
+ }
+ return blocks
+
def dispatcher(request, permalink=''):
- context = {}
-
- if permalink == 'python-workshops':
- blocks = get_blocks()
- rows = FOSSEEStats.objects.using('fossee_new').filter(foss_name='Python', type ='Workshop').order_by('-w_id')
- python_wokshop_page_content = Page.objects.get(permalink='python-workshops-page')
-
- context['page'] = python_wokshop_page_content
- context['permalink'] = permalink
- context['obj'] = rows
-
- if permalink == 'textbook-companions-for-academics':
- blocks = get_blocks()
- textbook_companions_for_academics = 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'] = textbook_companions_for_academics
- context['permalink'] = permalink
- context['obj'] = completed_books
-
- if permalink == '' or permalink == 'home' :
- permalink = 'home'
- page = get_object_or_404(Page, permalink=permalink)
- blocks = get_blocks()
- context['page'] = page
- context['permalink'] = permalink
-
- 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 = {
- 'page': page,
- 'navs': blocks['navs'],
- 'sidebar': blocks['sidebar'],
- 'footer': blocks['footer'],
- 'permalink': permalink
- }
- return render(request, "website/page.html", context)
+ blocks = get_blocks()
+ banner = Banner.objects.filter(visible=1)
+ context = {
+ 'navs': blocks['navs'],
+ 'sidebar': blocks['sidebar'],
+ 'footer': blocks['footer'],
+ 'permalink': permalink,
+ }
+ if not banner:
+ context['banner'] = ''
+ else:
+ context['banner'] = banner[0]
+
+ if permalink == 'python-workshops':
+ rows = FOSSEEStats.objects.using('fossee_new').filter(
+ foss_name='Python', type='Workshop').order_by('-w_id')
+ python_wokshop_page_content = Page.objects.get(
+ permalink='python-workshops-page')
+ context['page'] = python_wokshop_page_content
+ context['obj'] = rows
+
+ if permalink == 'textbook-companions-for-academics':
+ textbook_companions_for_academics = Page.objects.get(
+ permalink='textbook-companions-for-academics')
+ completed_books = TBCPYTHONBook.objects.using('tbcpython').values(
+ 'id', 'title', 'author').filter(approved=True).order_by('id')
+ context['page'] = textbook_companions_for_academics
+ context['obj'] = completed_books
+
+ if permalink == '' or permalink == 'home':
+ permalink = 'home'
+ page = get_object_or_404(Page, permalink=permalink)
+ context['page'] = page
+
+ if permalink != 'home' and permalink != 'python-workshops' and \
+ permalink != 'textbook-companions-for-academics':
+ page = get_object_or_404(Page, permalink=permalink)
+ context['page'] = page
+
+ return render(request, "page.html", context)