aboutsummaryrefslogtreecommitdiff
path: root/weblog
diff options
context:
space:
mode:
Diffstat (limited to 'weblog')
-rw-r--r--weblog/migrations/0008_auto_20180329_1316.py30
-rwxr-xr-xweblog/models.py12
-rwxr-xr-xweblog/templates/weblog/sidebar_archive.html8
-rwxr-xr-xweblog/templates/weblog_base.html1
-rwxr-xr-xweblog/templates/weblog_base_old.html35
5 files changed, 44 insertions, 42 deletions
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 3c4935e..96d9032 100755
--- a/weblog/models.py
+++ b/weblog/models.py
@@ -7,7 +7,7 @@ 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})
@@ -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'))
@@ -65,7 +65,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)
@@ -77,8 +77,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:
diff --git a/weblog/templates/weblog/sidebar_archive.html b/weblog/templates/weblog/sidebar_archive.html
index 5953bfe..ca74018 100755
--- 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 9a739cb..ce941e5 100755
--- a/weblog/templates/weblog_base.html
+++ b/weblog/templates/weblog_base.html
@@ -12,6 +12,7 @@
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></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-expand-sm bg-dark navbar-dark">
diff --git a/weblog/templates/weblog_base_old.html b/weblog/templates/weblog_base_old.html
deleted file mode 100755
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