From c193f1ae543fa6366a37493f52886a6bbc3a071d Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 11 Oct 2017 19:37:15 +0300 Subject: [PATCH] Add comment count and collapse --- .../0019_kaehmymessage_timestamp.py | 21 +++++++++++++++++++ webapp/models.py | 18 ++++++++++++++++ webapp/templates/base.html | 4 ++-- webapp/templates/kaehmy_list.html | 5 +++++ webapp/templates/kaehmy_message.html | 13 ++++++++---- 5 files changed, 55 insertions(+), 6 deletions(-) create mode 100644 webapp/migrations/0019_kaehmymessage_timestamp.py diff --git a/webapp/migrations/0019_kaehmymessage_timestamp.py b/webapp/migrations/0019_kaehmymessage_timestamp.py new file mode 100644 index 0000000..9764f72 --- /dev/null +++ b/webapp/migrations/0019_kaehmymessage_timestamp.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11 on 2017-10-11 16:22 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.utils.timezone + + +class Migration(migrations.Migration): + + dependencies = [ + ('webapp', '0018_auto_20171011_1856'), + ] + + operations = [ + migrations.AddField( + model_name='kaehmymessage', + name='timestamp', + field=models.DateTimeField(default=django.utils.timezone.now, verbose_name='Timestamp'), + ), + ] diff --git a/webapp/models.py b/webapp/models.py index 1a3a9aa..aaa8034 100644 --- a/webapp/models.py +++ b/webapp/models.py @@ -11,6 +11,8 @@ from auditlog.registry import auditlog from phonenumber_field.modelfields import PhoneNumberField from django.contrib.postgres.fields import JSONField +import logging + VERBOSE_NAME = _('Webapp') @@ -133,6 +135,7 @@ class KaehmyMessage(MessageParent): email = models.EmailField(_('Email')) message = models.TextField(_('Message')) parent = models.ForeignKey('MessageParent', related_name='messages') + timestamp = models.DateTimeField(_('Timestamp'), default=timezone.now) class KaehmyForm(MessageParent): @@ -159,6 +162,21 @@ class KaehmyForm(MessageParent): def __str__(self): return _('Kaehmy application: {}').format(self.name) + def comment_count(self): + total = 0 + + def recurse(message): + count = 0 + for msg in message.messages.all(): + count += recurse(msg) + + return count + 1 + + for message in self.messages.all(): + total += recurse(message) + + return total + class Role(PresetRole): """ diff --git a/webapp/templates/base.html b/webapp/templates/base.html index 9982589..6edeaf2 100644 --- a/webapp/templates/base.html +++ b/webapp/templates/base.html @@ -17,7 +17,7 @@ - + @@ -32,7 +32,7 @@ {% block navigation %} {% include "navigation.html" %} {% endblock %} - + {% block content %} {% endblock %} diff --git a/webapp/templates/kaehmy_list.html b/webapp/templates/kaehmy_list.html index 3960341..11f46b6 100644 --- a/webapp/templates/kaehmy_list.html +++ b/webapp/templates/kaehmy_list.html @@ -30,9 +30,14 @@

{{ application.text }}

+ +
{% for message in application.messages.all %} {% include "kaehmy_message.html" with messages=message.messages.all %} {% endfor %} +
{% endfor %} diff --git a/webapp/templates/kaehmy_message.html b/webapp/templates/kaehmy_message.html index ebdcff5..410492b 100644 --- a/webapp/templates/kaehmy_message.html +++ b/webapp/templates/kaehmy_message.html @@ -1,10 +1,15 @@ -
+

{{ message.name }}

{{ message.message }}

- {% for message in messages %} - {% include "kaehmy_message.html" with messages=message.messages.all %} - {% endfor %} +
{{ message.timestamp }}
+ +
+ {% for message in messages %} + {% include "kaehmy_message.html" with messages=message.messages.all %} + {% endfor %} +
+
\ No newline at end of file