From aec22e813d1af815dc65c25def99ad115842d783 Mon Sep 17 00:00:00 2001 From: Danielle McLean Date: Fri, 27 Oct 2017 16:04:05 +1100 Subject: [PATCH] Basic support for entries of 'photo' kind --- entries/kinds.py | 7 +++++- entries/migrations/0005_auto_20171027_1557.py | 25 +++++++++++++++++++ entries/models.py | 3 ++- entries/templates/entries/h-entry.html | 1 + 4 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 entries/migrations/0005_auto_20171027_1557.py diff --git a/entries/kinds.py b/entries/kinds.py index a5d0407..454560e 100644 --- a/entries/kinds.py +++ b/entries/kinds.py @@ -37,7 +37,12 @@ Article = Entry( fields=('slug', 'name'), ) +Photo = Entry( + id='photo', + icon='fa fa-camera', + plural='photos', +) -all = (Note, Article) +all = (Note, Article, Photo) from_id = {k.id: k for k in all} from_plural = {k.plural: k for k in all} diff --git a/entries/migrations/0005_auto_20171027_1557.py b/entries/migrations/0005_auto_20171027_1557.py new file mode 100644 index 0000000..85ec86b --- /dev/null +++ b/entries/migrations/0005_auto_20171027_1557.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.6 on 2017-10-27 04:57 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('entries', '0004_auto_20171027_0846'), + ] + + operations = [ + migrations.AddField( + model_name='entry', + name='photo', + field=models.ImageField(blank=True, upload_to=''), + ), + migrations.AlterField( + model_name='entry', + name='kind', + field=models.CharField(choices=[('note', 'note'), ('article', 'article'), ('photo', 'photo')], db_index=True, default='note', max_length=30), + ), + ] diff --git a/entries/models.py b/entries/models.py index 87e39b7..be56f05 100644 --- a/entries/models.py +++ b/entries/models.py @@ -26,6 +26,7 @@ class Entry(ModelMeta, models.Model): ) name = models.CharField(max_length=100, blank=True) + photo = models.ImageField(blank=True) content = models.TextField() author = models.ForeignKey( @@ -54,7 +55,7 @@ class Entry(ModelMeta, models.Model): @property def image_url(self): - return self.author.avatar_url + return self.photo.url if self.photo else self.author.avatar_url def __str__(self): return '{kind} {id}: {content}'.format( diff --git a/entries/templates/entries/h-entry.html b/entries/templates/entries/h-entry.html index bb64a46..c46b121 100644 --- a/entries/templates/entries/h-entry.html +++ b/entries/templates/entries/h-entry.html @@ -1,4 +1,5 @@ {% load humanize markdown %}
+ {% if entry.photo %}{% endif %}
{% if entry.name %}

{{ entry.name }}

{% endif %}
{{ entry.content | markdown }}