From d6c508bb46d660947718083e3fa214049253c42b Mon Sep 17 00:00:00 2001
From: Yaroslsav-95 <contact@yaroslavps.com>
Date: Thu, 29 Mar 2018 16:45:02 +0300
Subject: Fixed bugs, and compatibility issues with Django 2.0

---
 weblog/apps.py                                     |   2 +-
 weblog/migrations/0008_auto_20180329_1316.py       |  30 ++++++++++++++++++
 weblog/models.py                                   |  16 +++++-----
 weblog/templates/weblog/sidebar_archive.html       |   8 ++++-
 weblog/templates/weblog_base.html                  |   4 +--
 weblog/templates/weblog_base_old.html              |  35 ---------------------
 .../__pycache__/__init__.cpython-35.pyc            | Bin 166 -> 0 bytes
 .../__pycache__/__init__.cpython-36.pyc            | Bin 166 -> 0 bytes
 .../__pycache__/weblog_extras.cpython-35.pyc       | Bin 2682 -> 0 bytes
 .../__pycache__/weblog_extras.cpython-36.pyc       | Bin 1448 -> 0 bytes
 weblog/templatetags/weblog_extras.py               |   2 ++
 11 files changed, 50 insertions(+), 47 deletions(-)
 create mode 100644 weblog/migrations/0008_auto_20180329_1316.py
 delete mode 100644 weblog/templates/weblog_base_old.html
 delete mode 100644 weblog/templatetags/__pycache__/__init__.cpython-35.pyc
 delete mode 100644 weblog/templatetags/__pycache__/__init__.cpython-36.pyc
 delete mode 100644 weblog/templatetags/__pycache__/weblog_extras.cpython-35.pyc
 delete mode 100644 weblog/templatetags/__pycache__/weblog_extras.cpython-36.pyc

(limited to 'weblog')

diff --git a/weblog/apps.py b/weblog/apps.py
index 3389f92..05b5a20 100644
--- a/weblog/apps.py
+++ b/weblog/apps.py
@@ -5,7 +5,7 @@ SETTINGS = {
     'allow_anon_comments': True,
     'multilingual': True,
     'blog_title': 'Django-Weblog',
-    'base_template': 'base.html',
+    'base_template': 'weblog_base.html',
     'show_author': True,
     'use_authors_username': True,
     'show_sidebar': True,
diff --git a/weblog/migrations/0008_auto_20180329_1316.py b/weblog/migrations/0008_auto_20180329_1316.py
new file mode 100644
index 0000000..f66aa65
--- /dev/null
+++ b/weblog/migrations/0008_auto_20180329_1316.py
@@ -0,0 +1,30 @@
+# Generated by Django 2.0.3 on 2018-03-29 13:16
+
+from django.conf import settings
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('weblog', '0007_auto_20180122_1943'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='blogpost',
+            name='author',
+            field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to=settings.AUTH_USER_MODEL, verbose_name='Author'),
+        ),
+        migrations.AlterField(
+            model_name='category',
+            name='parent_category',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='weblog.Category', verbose_name='Parent category'),
+        ),
+        migrations.AlterField(
+            model_name='postcomment',
+            name='author',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL, verbose_name='Author'),
+        ),
+    ]
diff --git a/weblog/models.py b/weblog/models.py
index 80e917e..63f3f2c 100644
--- a/weblog/models.py
+++ b/weblog/models.py
@@ -7,11 +7,11 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy
 class Category(models.Model):
     name = models.CharField(max_length=250, verbose_name=pgettext_lazy('Noun, not personal name', 'Name'), blank=False, unique=True)
     slug = models.SlugField(max_length=60, verbose_name=_('Slug (URL)'), db_index=True, unique=True)
-    parent_category = models.ForeignKey('self', verbose_name=_('Parent category'), null=True, blank=True)
+    parent_category = models.ForeignKey('self', verbose_name=_('Parent category'), on_delete=models.PROTECT, null=True, blank=True)
 
     def get_absolute_url(self):
         return reverse('weblog:CategoryIndex', kwargs={'category_slug': self.slug})
-    
+
     def __str__(self):
         return self.name
 
@@ -22,7 +22,7 @@ class Category(models.Model):
 class CategoryTranslation(models.Model):
     name = models.CharField(max_length=250, verbose_name=pgettext_lazy('Noun, not personal name', 'Name'), blank=False)
     language = models.CharField(max_length=5, verbose_name=_('Language (ISO)'), blank=False)
-    category = models.ForeignKey(Category, verbose_name = pgettext_lazy('Post category', 'Category'), blank=False)
+    category = models.ForeignKey(Category, verbose_name = pgettext_lazy('Post category', 'Category'), on_delete=models.CASCADE, blank=False)
 
     def __str__(self):
         return self.name
@@ -36,7 +36,7 @@ class CategoryTranslation(models.Model):
 
 
 class BlogPost(models.Model):
-    author = models.ForeignKey(User, verbose_name=_('Author'))
+    author = models.ForeignKey(User, verbose_name=_('Author'), on_delete=models.PROTECT)
     title = models.CharField(max_length=100, verbose_name=pgettext_lazy('As in name', 'Title'), blank=False)
     content = models.TextField(verbose_name=pgettext_lazy('Of post, comment, article, etc.', 'Content'), blank=False)
     preview_image = models.ImageField(upload_to='weblog/preview_images/%Y/%m/%d/', blank=True, verbose_name=_('Preview image'))
@@ -63,7 +63,7 @@ class BlogPost(models.Model):
         verbose_name_plural = _('Blog Posts')
 
 class Translation(models.Model):
-    post = models.ForeignKey(BlogPost, verbose_name=pgettext_lazy('Noun, as in blog post', 'Post'))
+    post = models.ForeignKey(BlogPost, verbose_name=pgettext_lazy('Noun, as in blog post', 'Post'), on_delete=models.CASCADE)
     language = models.CharField(max_length=5, verbose_name=_('Language (ISO)'), blank=False)
     title = models.CharField(max_length=100, verbose_name=pgettext_lazy('As in name', 'Title'), blank=False)
     content = models.TextField(verbose_name=pgettext_lazy('Of post, comment, article, etc.', 'Content'), blank=False)
@@ -75,8 +75,8 @@ class Translation(models.Model):
         verbose_name_plural = _('Translations')
 
 class PostComment(models.Model):
-    author = models.ForeignKey(User, verbose_name=_('Author'), null=True, blank=True)
-    post = models.ForeignKey(BlogPost, verbose_name=pgettext_lazy('Noun, as in blog post', 'Post'))
+    author = models.ForeignKey(User, verbose_name=_('Author'), on_delete=models.SET_NULL, null=True, blank=True)
+    post = models.ForeignKey(BlogPost, verbose_name=pgettext_lazy('Noun, as in blog post', 'Post'), on_delete=models.CASCADE)
     content = models.TextField(verbose_name=pgettext_lazy('Of post, comment, article, etc.', 'Content'), blank=False)
 
     class Meta:
@@ -90,4 +90,4 @@ class PostCommentForm(ModelForm):
         labels = {'content': ''}
         widgets = {
             'content': Textarea(attrs={'class': 'form-control', 'rows': '5'}),
-        }
\ No newline at end of file
+        }
diff --git a/weblog/templates/weblog/sidebar_archive.html b/weblog/templates/weblog/sidebar_archive.html
index 5953bfe..ca74018 100644
--- a/weblog/templates/weblog/sidebar_archive.html
+++ b/weblog/templates/weblog/sidebar_archive.html
@@ -1,5 +1,6 @@
 {% load i18n %}
 <h3>{% trans 'Archive' context 'Blog archive' %}</h3>
+{% if archive %}
 <ul class='archive-list'>
 {% for a_year in archive %}
 <li><a class="node-toggle" node-target="{{ a_year.0 }}-list" node-state="closed" href="javascript:void(0)" onclick="toggleNode(this);">+</a> <a href="{% url 'weblog:ArchiveIndex' year=a_year.0 %}">{{ a_year.0 }}</a>
@@ -10,4 +11,9 @@
     </ul>
 </li>
 {% endfor %}
-</ul>
\ No newline at end of file
+{% else %}
+<div class="text-center">
+    <p>{% trans 'Nothing has been posted yet.' %}</p>
+</div>
+{% endif %}
+</ul>
diff --git a/weblog/templates/weblog_base.html b/weblog/templates/weblog_base.html
index 536e736..6a551ff 100644
--- a/weblog/templates/weblog_base.html
+++ b/weblog/templates/weblog_base.html
@@ -3,7 +3,7 @@
 <html>
     <head>
         <meta charset="utf-8">
-        <title>Simple blog - {% block title_block %} Home {% endblock %}</title>
+        <title>{% block title_block %} Home {% endblock %}</title>
         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
         <link rel="stylesheet" href="{% static '/weblog/css/weblog.css' %}">
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" defer></script>
@@ -25,4 +25,4 @@
             {% endblock %}
         </div>
     </body>
-</html>
\ No newline at end of file
+</html>
diff --git a/weblog/templates/weblog_base_old.html b/weblog/templates/weblog_base_old.html
deleted file mode 100644
index a4dbd30..0000000
--- a/weblog/templates/weblog_base_old.html
+++ /dev/null
@@ -1,35 +0,0 @@
-<!DOCTYPE html>
-{% load static %}
-<html>
-    <head>
-        <meta charset="utf-8">
-        <title>Simple blog - {% block title_block %} Home {% endblock %}</title>
-        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
-        <link rel="stylesheet" href="{% static '/weblog/css/weblog.css' %}">
-        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js" defer></script>
-        <script src="{% static '/weblog/js/weblog.js' %}" defer></script>
-        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" defer></script>
-    </head>
-    <body>
-        <nav class="navbar navbar-inverse">
-            <div class="container nav-container">
-                <div class="navbar-header">
-                    <a class="navbar-brand" href="{% url 'weblog:Index' %}">{{ blog_title }}</a>
-                </div>
-                <div class="collapse navbar-collapse">
-                    <ul class="nav navbar-nav navbar-right">
-                        <li><a href="{% url 'weblog:ChangeLanguage' language='en' %}?next={{ request.path }}">EN</a></li>
-                        <li><a href="{% url 'weblog:ChangeLanguage' language='es' %}?next={{ request.path }}">ES</a></li>
-                        <li><a href="{% url 'weblog:ChangeLanguage' language='ru' %}?next={{ request.path }}">RU</a></li>
-                    </ul>
-                </div>
-            </div>
-        </nav>
-        <div class="container">
-            {% block content_block %}
-            {% block blog_block %}
-            {% endblock %}
-            {% endblock %}
-        </div>
-    </body>
-</html>
\ No newline at end of file
diff --git a/weblog/templatetags/__pycache__/__init__.cpython-35.pyc b/weblog/templatetags/__pycache__/__init__.cpython-35.pyc
deleted file mode 100644
index 8b2440b..0000000
Binary files a/weblog/templatetags/__pycache__/__init__.cpython-35.pyc and /dev/null differ
diff --git a/weblog/templatetags/__pycache__/__init__.cpython-36.pyc b/weblog/templatetags/__pycache__/__init__.cpython-36.pyc
deleted file mode 100644
index 8ec5021..0000000
Binary files a/weblog/templatetags/__pycache__/__init__.cpython-36.pyc and /dev/null differ
diff --git a/weblog/templatetags/__pycache__/weblog_extras.cpython-35.pyc b/weblog/templatetags/__pycache__/weblog_extras.cpython-35.pyc
deleted file mode 100644
index bcc8327..0000000
Binary files a/weblog/templatetags/__pycache__/weblog_extras.cpython-35.pyc and /dev/null differ
diff --git a/weblog/templatetags/__pycache__/weblog_extras.cpython-36.pyc b/weblog/templatetags/__pycache__/weblog_extras.cpython-36.pyc
deleted file mode 100644
index eb1b1e6..0000000
Binary files a/weblog/templatetags/__pycache__/weblog_extras.cpython-36.pyc and /dev/null differ
diff --git a/weblog/templatetags/weblog_extras.py b/weblog/templatetags/weblog_extras.py
index 1f72a86..bf84936 100644
--- a/weblog/templatetags/weblog_extras.py
+++ b/weblog/templatetags/weblog_extras.py
@@ -46,6 +46,8 @@ def get_sidebar_categories(selected_cat_slug=None):
 
 @register.inclusion_tag('weblog/sidebar_archive.html')
 def get_sidebar_archive():
+    if BlogPost.objects.all().count() < 1:
+        return {}
     now = datetime.datetime.now()
     oldest_post = BlogPost.objects.filter(published=True).reverse()[0]
     first_year = oldest_post.publish_date.year
-- 
cgit v1.2.3