summaryrefslogtreecommitdiff
path: root/website
diff options
context:
space:
mode:
Diffstat (limited to 'website')
-rw-r--r--website/admin.py30
-rw-r--r--website/models.py165
-rw-r--r--website/templates/website/page.html2
-rw-r--r--website/urls.py10
-rw-r--r--website/views.py118
5 files changed, 172 insertions, 153 deletions
diff --git a/website/admin.py b/website/admin.py
index c5af339..d473c12 100644
--- a/website/admin.py
+++ b/website/admin.py
@@ -5,33 +5,33 @@ from nested_inline.admin import NestedModelAdmin, NestedStackedInline, NestedTab
from website.models import Nav, SubNav, Page, Link, LinkBox, TextBox, Block
class SubNavInline(admin.TabularInline):
- model = SubNav
- extra = 0
+ model = SubNav
+ extra = 0
class NavAdmin(admin.ModelAdmin):
- list_display = ('nav_name', 'link', 'visible')
- inlines = [SubNavInline]
+ list_display = ('nav_name', 'link', 'visible')
+ inlines = [SubNavInline]
class PageAdmin(admin.ModelAdmin):
- list_display = ('heading', 'permalink', 'visible')
+ list_display = ('heading', 'permalink', 'visible')
class LinkInline(NestedTabularInline):
- model = Link
- extra = 0
+ model = Link
+ extra = 0
class LinkBoxInline(NestedStackedInline):
- model = LinkBox
- inlines = [LinkInline]
- extra = 0
+ model = LinkBox
+ inlines = [LinkInline]
+ extra = 0
class TextBoxInline(NestedStackedInline):
- model = TextBox
- extra = 0
+ model = TextBox
+ extra = 0
class BlockAdmin(NestedModelAdmin):
- model = Block
- inlines = [LinkBoxInline, TextBoxInline]
+ model = Block
+ inlines = [LinkBoxInline, TextBoxInline]
admin.site.register(Nav, NavAdmin)
admin.site.register(Page, PageAdmin)
-admin.site.register(Block, BlockAdmin) \ No newline at end of file
+admin.site.register(Block, BlockAdmin)
diff --git a/website/models.py b/website/models.py
index f91dbeb..1c6677d 100644
--- a/website/models.py
+++ b/website/models.py
@@ -1,72 +1,73 @@
from django.db import models
+from datetime import date
class Nav(models.Model):
- """Main navigation links"""
- nav_name = models.CharField(max_length=200)
- link = models.CharField(max_length=200)
- position = models.IntegerField()
- visible = models.BooleanField()
+ """Main navigation links"""
+ nav_name = models.CharField(max_length=200)
+ link = models.CharField(max_length=200)
+ position = models.IntegerField()
+ visible = models.BooleanField()
- def __unicode__(self):
- return self.nav_name
+ def __unicode__(self):
+ return self.nav_name
class SubNav(models.Model):
- """Navigation links for pages"""
- nav = models.ForeignKey(Nav)
- subnav_name = models.CharField(max_length=200)
- link = models.CharField(max_length=200)
- position = models.IntegerField()
- visible = models.BooleanField()
+ """Navigation links for pages"""
+ nav = models.ForeignKey(Nav, on_delete=models.CASCADE)
+ subnav_name = models.CharField(max_length=200)
+ link = models.CharField(max_length=200)
+ position = models.IntegerField()
+ visible = models.BooleanField()
- def __unicode__(self):
- return self.subnav_name
+ def __unicode__(self):
+ return self.subnav_name
class Page(models.Model):
- """Page that will be dispatched"""
- permalink = models.CharField(max_length=200)
- heading = models.CharField(max_length = 500)
- content = models.TextField()
- visible = models.BooleanField()
- pub_date = models.DateTimeField('date published', auto_now_add=True)
+ """Page that will be dispatched"""
+ permalink = models.CharField(max_length=200)
+ heading = models.CharField(max_length = 500)
+ content = models.TextField()
+ visible = models.BooleanField()
+ pub_date = models.DateTimeField('date published', auto_now_add=True)
- def __unicode__(self):
- return self.heading
+ def __unicode__(self):
+ return self.heading
class Block(models.Model):
- block_name = models.CharField(max_length=200)
- visible = models.BooleanField()
+ block_name = models.CharField(max_length=200)
+ visible = models.BooleanField()
- def __unicode__(self):
- return self.block_name
+ def __unicode__(self):
+ return self.block_name
class LinkBox(models.Model):
- block = models.ForeignKey(Block)
- linkbox_name = models.CharField(max_length=200)
- position = models.IntegerField()
- visible = models.BooleanField()
+ block = models.ForeignKey(Block, on_delete=models.CASCADE)
+ linkbox_name = models.CharField(max_length=200)
+ position = models.IntegerField()
+ visible = models.BooleanField()
- def __unicode__(self):
- return self.linkbox_name
+ def __unicode__(self):
+ return self.linkbox_name
class Link(models.Model):
- linkbox = models.ForeignKey(LinkBox)
- link_name = models.CharField(max_length=200)
- link = models.CharField(max_length=200)
- position = models.IntegerField()
- visible = models.BooleanField()
+ linkbox = models.ForeignKey(LinkBox, on_delete=models.CASCADE)
+ link_name = models.CharField(max_length=200)
+ link = models.CharField(max_length=200)
+ position = models.IntegerField()
+ visible = models.BooleanField()
- def __unicode__(self):
- return self.link_name
+ def __unicode__(self):
+ return self.link_name
class TextBox(models.Model):
- block = models.ForeignKey(Block)
- textbox_name = models.CharField(max_length=200)
- content = models.TextField()
- position = models.IntegerField()
- visible = models.BooleanField()
-
- def __unicode__(self):
- return self.textbox_name
+ block = models.ForeignKey(Block, on_delete=models.CASCADE)
+ textbox_name = models.CharField(max_length=200)
+ content = models.TextField()
+ position = models.IntegerField()
+ visible = models.BooleanField()
+
+ def __unicode__(self):
+ return self.textbox_name
"""
Models from fossee_new Database created using inspectdb
Use it with the "fossee_in" database eg:using("fossee_in")
@@ -87,40 +88,40 @@ CATEGORY = (("fluid mechanics", "Fluid Mechanics"),
("others", "Others"))
class FOSSEEStats(models.Model):
- w_id = models.IntegerField(unique=True, primary_key=True)
- foss_name = models.CharField(max_length=500)
- type = models.CharField(max_length=50)
- w_name = models.CharField(max_length=500)
- body = models.TextField()
- no_of_participant = models.IntegerField()
- event_link = models.TextField()
- startdate = models.DateTimeField()
- starttime = models.TimeField()
- enddate = models.DateTimeField()
- endtime = models.TimeField()
- venue = models.CharField(max_length=500)
- street = models.CharField(max_length=500)
- country = models.CharField(max_length=100)
- state = models.CharField(max_length=100)
- city = models.CharField(max_length=100)
- pincode = models.IntegerField(default=0)
- class Meta:
- db_table = 'workshop'
+ w_id = models.IntegerField(unique=True, primary_key=True)
+ foss_name = models.CharField(max_length=500)
+ type = models.CharField(max_length=50)
+ w_name = models.CharField(max_length=500)
+ body = models.TextField()
+ no_of_participant = models.IntegerField()
+ event_link = models.TextField()
+ startdate = models.DateField()
+ starttime = models.TimeField()
+ enddate = models.DateField()
+ endtime = models.TimeField()
+ venue = models.CharField(max_length=500)
+ street = models.CharField(max_length=500)
+ country = models.CharField(max_length=100)
+ state = models.CharField(max_length=100)
+ city = models.CharField(max_length=100)
+ pincode = models.IntegerField(default=0)
+ 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'
+ 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/templates/website/page.html b/website/templates/website/page.html
index 7e44ee5..ca4cc17 100644
--- a/website/templates/website/page.html
+++ b/website/templates/website/page.html
@@ -230,7 +230,7 @@
<script src="{% static 'website/js/jquery.min.js' %}"></script>
<script src="{% static 'website/js/bootstrap.min.js' %}"></script>
<script src="{% static 'website/js/lightbox.min.js' %}"></script>
-< !--Piwik-- >
+<!-- Piwik -->
<script type="text/javascript">
var _paq = _paq || [];
_paq.push(['trackPageView']);
diff --git a/website/urls.py b/website/urls.py
index 8b753b5..b8e244f 100644
--- a/website/urls.py
+++ b/website/urls.py
@@ -1,8 +1,10 @@
-from django.conf.urls import include, url
+from django.conf.urls import include, url, re_path
from .views import dispatcher
+from . import views
+app_name = 'website'
urlpatterns = [
- # Main pages dispatcher
- url(r'^$', dispatcher, name="home"),
- url(r'^(?P<permalink>.+)/$', dispatcher, name="dispatcher"),
+ # Main pages dispatcher
+ re_path(r'^$', dispatcher, name="home"),
+ re_path(r'^(?P<permalink>.+)/$', dispatcher, name="dispatcher"),
]
diff --git a/website/views.py b/website/views.py
index 7201427..a49a007 100644
--- a/website/views.py
+++ b/website/views.py
@@ -5,67 +5,83 @@ from website.models import FOSSEEStats, TBCPYTHONBook
from website.models import Nav, Page, Block
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 = {}
+ 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')
+ if permalink == 'python-workshops':
+ blocks = get_blocks()
+ rows = FOSSEEStats.objects.using('fossee_new').filter(foss_name='Python', type ='Workshop').order_by('-w_id')
+ print("----------", rows)
+ python_wokshop_page_content = Page.objects.get(permalink='python-workshops-page')
+ context = {
+ 'page':python_wokshop_page_content,
+ 'navs': blocks['navs'],
+ 'sidebar': blocks['sidebar'],
+ 'footer': blocks['footer'],
+ 'permalink': permalink,
+ 'obj': rows
+ }
- 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')
- 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,
+ 'navs': blocks['navs'],
+ 'sidebar': blocks['sidebar'],
+ 'footer': blocks['footer'],
+ 'permalink': permalink,
+ 'obj': completed_books
+ }
- 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,
+ 'navs': blocks['navs'],
+ 'sidebar': blocks['sidebar'],
+ 'footer': blocks['footer'],
+ 'permalink': permalink
+ }
+ context['permalink'] = permalink
- 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)
+ 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)