summaryrefslogtreecommitdiff
path: root/website
diff options
context:
space:
mode:
authorprashantsinalkar2019-02-24 15:41:56 +0530
committerprashantsinalkar2019-02-24 15:41:56 +0530
commit73b68a7df97efd7589c075605a93eba0a4b3f561 (patch)
tree4d0e6bebe7bf3bbe589bd1d92570dd978316491e /website
parent2e620b317b8df341c4585dcd06e44833d3e8b5eb (diff)
downloadpyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.tar.gz
pyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.tar.bz2
pyfoss-73b68a7df97efd7589c075605a93eba0a4b3f561.zip
updated to to django 2.1.7/python 3.6 and added dynamic banner
Diffstat (limited to 'website')
-rw-r--r--website/admin.py7
-rw-r--r--website/models.py24
-rw-r--r--website/views.py10
3 files changed, 30 insertions, 11 deletions
diff --git a/website/admin.py b/website/admin.py
index b41a40f..89d09d4 100644
--- a/website/admin.py
+++ b/website/admin.py
@@ -1,8 +1,10 @@
from django.contrib import admin
-from nested_inline.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline
+from nested_inline.admin import (NestedModelAdmin, NestedStackedInline,
+ NestedTabularInline)
-from website.models import Nav, SubNav, Page, Link, LinkBox, TextBox, Block
+from website.models import (Nav, SubNav, Page, Link,
+ LinkBox, TextBox, Block, Banner)
class SubNavInline(admin.TabularInline):
@@ -43,3 +45,4 @@ class BlockAdmin(NestedModelAdmin):
admin.site.register(Nav, NavAdmin)
admin.site.register(Page, PageAdmin)
admin.site.register(Block, BlockAdmin)
+admin.site.register(Banner)
diff --git a/website/models.py b/website/models.py
index 20cfd4b..e20cfe3 100644
--- a/website/models.py
+++ b/website/models.py
@@ -9,7 +9,7 @@ class Nav(models.Model):
position = models.IntegerField()
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.nav_name
@@ -21,7 +21,7 @@ class SubNav(models.Model):
position = models.IntegerField()
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.subnav_name
@@ -33,7 +33,7 @@ class Page(models.Model):
visible = models.BooleanField()
pub_date = models.DateTimeField('date published', auto_now_add=True)
- def __unicode__(self):
+ def __str__(self):
return self.heading
@@ -41,7 +41,7 @@ class Block(models.Model):
block_name = models.CharField(max_length=200)
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.block_name
@@ -51,7 +51,7 @@ class LinkBox(models.Model):
position = models.IntegerField()
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.linkbox_name
@@ -62,10 +62,20 @@ class Link(models.Model):
position = models.IntegerField()
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.link_name
+class Banner(models.Model):
+ title = models.CharField(max_length=500)
+ banner = models.TextField(max_length=1000)
+ position = models.IntegerField()
+ visible = models.BooleanField()
+
+ def __str__(self):
+ return self.banner
+
+
class TextBox(models.Model):
block = models.ForeignKey(Block, on_delete=models.CASCADE)
textbox_name = models.CharField(max_length=200)
@@ -73,7 +83,7 @@ class TextBox(models.Model):
position = models.IntegerField()
visible = models.BooleanField()
- def __unicode__(self):
+ def __str__(self):
return self.textbox_name
diff --git a/website/views.py b/website/views.py
index 1242c43..cf180e1 100644
--- a/website/views.py
+++ b/website/views.py
@@ -2,7 +2,7 @@ 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):
@@ -24,10 +24,11 @@ def block_sort(obj):
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)
+ 'footer': block_sort(footer),
}
return blocks
@@ -35,12 +36,17 @@ def get_blocks():
def dispatcher(request, permalink=''):
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(