From 747f67a46e82bbf7553fa4154ef80c76b30b9cc5 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 16 Feb 2017 17:40:49 +0000 Subject: [PATCH 1/8] Add unread_threads templatetag for showing number of unread threads for the user --- pinax/messages/templatetags/pinax_messages_tags.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pinax/messages/templatetags/pinax_messages_tags.py b/pinax/messages/templatetags/pinax_messages_tags.py index 279a13e..731fc60 100644 --- a/pinax/messages/templatetags/pinax_messages_tags.py +++ b/pinax/messages/templatetags/pinax_messages_tags.py @@ -1,5 +1,6 @@ from django import template +from pinax.messages.models import Thread register = template.Library() @@ -7,3 +8,7 @@ @register.filter def unread(thread, user): return bool(thread.userthread_set.filter(user=user, unread=True)) + +@register.filter +def unread_threads(user): + return len(Thread.unread(user)) From af4370c042ee43192f7c1905d2fe656a0323e912 Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Thu, 16 Feb 2017 17:58:14 +0000 Subject: [PATCH 2/8] added docs for unread_threads tag --- docs/templatetags.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/templatetags.md b/docs/templatetags.md index 333de7d..6db0a5f 100644 --- a/docs/templatetags.md +++ b/docs/templatetags.md @@ -16,5 +16,23 @@ For instance if there are unread messages in a thread, change the CSS class acco ``` +## unread_threads + +Returns the number of unread threads for the user. Use for notifying a user of new messages, for example in _account_bar.html + +**Argument**: `user` + +For instance if there are unread messages in a thread, change the CSS class accordingly: + +```html +{% load pinax_messages_tags %} + +
  • + {% trans "Messages" %} + {% if user|unread_threads %}{{ user|unread_threads }}{% endif %} + +
  • +``` + *** [Documentation Index](./index.md) From 7715286fa1958131835444750557372c8e6d5e89 Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Thu, 16 Feb 2017 18:12:48 +0000 Subject: [PATCH 3/8] added a blank line for travis ci --- pinax/messages/templatetags/pinax_messages_tags.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pinax/messages/templatetags/pinax_messages_tags.py b/pinax/messages/templatetags/pinax_messages_tags.py index 731fc60..2611020 100644 --- a/pinax/messages/templatetags/pinax_messages_tags.py +++ b/pinax/messages/templatetags/pinax_messages_tags.py @@ -9,6 +9,7 @@ def unread(thread, user): return bool(thread.userthread_set.filter(user=user, unread=True)) + @register.filter def unread_threads(user): return len(Thread.unread(user)) From 5e09aed8b087e56b1d61b661d6900522389c8d34 Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Sun, 19 Feb 2017 10:14:45 +0000 Subject: [PATCH 4/8] Remove master from tox.ini --- tox.ini | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tox.ini b/tox.ini index 6ff14f4..2178956 100644 --- a/tox.ini +++ b/tox.ini @@ -6,10 +6,10 @@ exclude = migrations/*,docs/* [tox] envlist = - py27-{1.8,1.9,master}, + py27-{1.8,1.9,1.10}, py33-{1.8}, - py34-{1.8,1.9,master}, - py35-{1.8,1.9,master} + py34-{1.8,1.9,1.10}, + py35-{1.8,1.9,1.10} [testenv] deps = @@ -17,7 +17,7 @@ deps = flake8 == 2.5.0 1.8: Django>=1.8,<1.9 1.9: Django>=1.9,<1.10 - master: https://github.com/django/django/tarball/master + 1.10: Django>=1.10,<1.11 usedevelop = True setenv = LANG=en_US.UTF-8 From 2986ffbf75447d6e3deef4e9e5da24233a184964 Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Sun, 19 Feb 2017 10:21:08 +0000 Subject: [PATCH 5/8] excluded master from .travis.yml --- .travis.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4497fcd..d85b3ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,15 +8,13 @@ python: env: - DJANGO=1.8 - DJANGO=1.9 - - DJANGO=master + - DJANGO=1.10 matrix: exclude: - python: "3.3" env: DJANGO=1.9 - python: "3.3" - env: DJANGO=master - - python: "3.5" - env: DJANGO=1.7 + env: DJANGO=1.10 install: - pip install tox coveralls script: From 8e17d85ad79f26b8f0dbbcbe6223ea6dee36728d Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Sun, 19 Feb 2017 21:38:19 +0000 Subject: [PATCH 6/8] added test --- .coveragerc | 0 .gitignore | 0 .travis.yml | 0 AUTHORS | 0 CONTRIBUTING.md | 0 LICENSE | 0 MANIFEST.in | 0 Makefile | 0 README.md | 0 docs/changelog.md | 0 docs/index.md | 0 docs/installation.md | 0 docs/reference.md | 0 docs/templatetags.md | 0 docs/usage.md | 0 makemigrations.py | 0 pinax/__init__.py | 0 pinax/messages/__init__.py | 0 pinax/messages/admin.py | 0 pinax/messages/apps.py | 0 pinax/messages/conf.py | 0 pinax/messages/context_processors.py | 0 pinax/messages/forms.py | 0 pinax/messages/hooks.py | 0 pinax/messages/migrations/0001_initial.py | 0 pinax/messages/migrations/__init__.py | 0 pinax/messages/models.py | 0 pinax/messages/signals.py | 0 pinax/messages/templatetags/__init__.py | 0 .../templatetags/pinax_messages_tags.py | 6 +++++ pinax/messages/tests/__init__.py | 0 pinax/messages/tests/models.py | 0 .../tests/templates/pinax/messages/inbox.html | 0 .../pinax/messages/message_create.html | 0 .../pinax/messages/thread_detail.html | 0 pinax/messages/tests/test.py | 0 pinax/messages/tests/tests.py | 26 +++++++++++++++++++ pinax/messages/tests/urls.py | 0 pinax/messages/urls.py | 0 pinax/messages/utils.py | 0 pinax/messages/views.py | 0 runtests.py | 0 setup.cfg | 0 setup.py | 0 tox.ini | 0 45 files changed, 32 insertions(+) mode change 100644 => 100755 .coveragerc mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .travis.yml mode change 100644 => 100755 AUTHORS mode change 100644 => 100755 CONTRIBUTING.md mode change 100644 => 100755 LICENSE mode change 100644 => 100755 MANIFEST.in mode change 100644 => 100755 Makefile mode change 100644 => 100755 README.md mode change 100644 => 100755 docs/changelog.md mode change 100644 => 100755 docs/index.md mode change 100644 => 100755 docs/installation.md mode change 100644 => 100755 docs/reference.md mode change 100644 => 100755 docs/templatetags.md mode change 100644 => 100755 docs/usage.md mode change 100644 => 100755 makemigrations.py mode change 100644 => 100755 pinax/__init__.py mode change 100644 => 100755 pinax/messages/__init__.py mode change 100644 => 100755 pinax/messages/admin.py mode change 100644 => 100755 pinax/messages/apps.py mode change 100644 => 100755 pinax/messages/conf.py mode change 100644 => 100755 pinax/messages/context_processors.py mode change 100644 => 100755 pinax/messages/forms.py mode change 100644 => 100755 pinax/messages/hooks.py mode change 100644 => 100755 pinax/messages/migrations/0001_initial.py mode change 100644 => 100755 pinax/messages/migrations/__init__.py mode change 100644 => 100755 pinax/messages/models.py mode change 100644 => 100755 pinax/messages/signals.py mode change 100644 => 100755 pinax/messages/templatetags/__init__.py mode change 100644 => 100755 pinax/messages/templatetags/pinax_messages_tags.py mode change 100644 => 100755 pinax/messages/tests/__init__.py mode change 100644 => 100755 pinax/messages/tests/models.py mode change 100644 => 100755 pinax/messages/tests/templates/pinax/messages/inbox.html mode change 100644 => 100755 pinax/messages/tests/templates/pinax/messages/message_create.html mode change 100644 => 100755 pinax/messages/tests/templates/pinax/messages/thread_detail.html mode change 100644 => 100755 pinax/messages/tests/test.py mode change 100644 => 100755 pinax/messages/tests/tests.py mode change 100644 => 100755 pinax/messages/tests/urls.py mode change 100644 => 100755 pinax/messages/urls.py mode change 100644 => 100755 pinax/messages/utils.py mode change 100644 => 100755 pinax/messages/views.py mode change 100644 => 100755 runtests.py mode change 100644 => 100755 setup.cfg mode change 100644 => 100755 setup.py mode change 100644 => 100755 tox.ini diff --git a/.coveragerc b/.coveragerc old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.travis.yml b/.travis.yml old mode 100644 new mode 100755 diff --git a/AUTHORS b/AUTHORS old mode 100644 new mode 100755 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/MANIFEST.in b/MANIFEST.in old mode 100644 new mode 100755 diff --git a/Makefile b/Makefile old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/docs/changelog.md b/docs/changelog.md old mode 100644 new mode 100755 diff --git a/docs/index.md b/docs/index.md old mode 100644 new mode 100755 diff --git a/docs/installation.md b/docs/installation.md old mode 100644 new mode 100755 diff --git a/docs/reference.md b/docs/reference.md old mode 100644 new mode 100755 diff --git a/docs/templatetags.md b/docs/templatetags.md old mode 100644 new mode 100755 diff --git a/docs/usage.md b/docs/usage.md old mode 100644 new mode 100755 diff --git a/makemigrations.py b/makemigrations.py old mode 100644 new mode 100755 diff --git a/pinax/__init__.py b/pinax/__init__.py old mode 100644 new mode 100755 diff --git a/pinax/messages/__init__.py b/pinax/messages/__init__.py old mode 100644 new mode 100755 diff --git a/pinax/messages/admin.py b/pinax/messages/admin.py old mode 100644 new mode 100755 diff --git a/pinax/messages/apps.py b/pinax/messages/apps.py old mode 100644 new mode 100755 diff --git a/pinax/messages/conf.py b/pinax/messages/conf.py old mode 100644 new mode 100755 diff --git a/pinax/messages/context_processors.py b/pinax/messages/context_processors.py old mode 100644 new mode 100755 diff --git a/pinax/messages/forms.py b/pinax/messages/forms.py old mode 100644 new mode 100755 diff --git a/pinax/messages/hooks.py b/pinax/messages/hooks.py old mode 100644 new mode 100755 diff --git a/pinax/messages/migrations/0001_initial.py b/pinax/messages/migrations/0001_initial.py old mode 100644 new mode 100755 diff --git a/pinax/messages/migrations/__init__.py b/pinax/messages/migrations/__init__.py old mode 100644 new mode 100755 diff --git a/pinax/messages/models.py b/pinax/messages/models.py old mode 100644 new mode 100755 diff --git a/pinax/messages/signals.py b/pinax/messages/signals.py old mode 100644 new mode 100755 diff --git a/pinax/messages/templatetags/__init__.py b/pinax/messages/templatetags/__init__.py old mode 100644 new mode 100755 diff --git a/pinax/messages/templatetags/pinax_messages_tags.py b/pinax/messages/templatetags/pinax_messages_tags.py old mode 100644 new mode 100755 index 2611020..6cddf77 --- a/pinax/messages/templatetags/pinax_messages_tags.py +++ b/pinax/messages/templatetags/pinax_messages_tags.py @@ -7,9 +7,15 @@ @register.filter def unread(thread, user): + ''' + Check whether there are any unread messages for a particular thread for a user. + ''' return bool(thread.userthread_set.filter(user=user, unread=True)) @register.filter def unread_threads(user): + ''' + Return the number of unread threads for this user, useful for highlighting on an account bar for example. + ''' return len(Thread.unread(user)) diff --git a/pinax/messages/tests/__init__.py b/pinax/messages/tests/__init__.py old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/models.py b/pinax/messages/tests/models.py old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/templates/pinax/messages/inbox.html b/pinax/messages/tests/templates/pinax/messages/inbox.html old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/templates/pinax/messages/message_create.html b/pinax/messages/tests/templates/pinax/messages/message_create.html old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/templates/pinax/messages/thread_detail.html b/pinax/messages/tests/templates/pinax/messages/thread_detail.html old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/test.py b/pinax/messages/tests/test.py old mode 100644 new mode 100755 diff --git a/pinax/messages/tests/tests.py b/pinax/messages/tests/tests.py old mode 100644 new mode 100755 index e33af13..9791c6c --- a/pinax/messages/tests/tests.py +++ b/pinax/messages/tests/tests.py @@ -233,6 +233,32 @@ def test_unread(self): "READ", ) + def test_unread_threads(self): + """ + Ensure `unread_threads` template_tag produces correct results. + """ + thread = Message.new_message( + self.brosner, + [self.jtauber], + "Why did you break the internet?", "I demand to know.").thread + + Message.new_reply(thread, self.jtauber, "Replying to the first message") + Message.new_reply(thread, self.brosner, "Replying again, so that there are two unread messages on one thread") + + thread = Message.new_message( + self.brosner, + [self.jtauber], + "Second message", "So there are two.").thread + tmpl = """ + {% load pinax_messages_tags %} + {% if user|unread_threads %}{{ user|unread_threads }}{% endif %} + """ + self.assert_renders( + tmpl, + Context({"thread": thread, "user": self.jtauber}), + '2' + ) + class TestHookSet(BaseTest): def test_get_user_choices(self): diff --git a/pinax/messages/tests/urls.py b/pinax/messages/tests/urls.py old mode 100644 new mode 100755 diff --git a/pinax/messages/urls.py b/pinax/messages/urls.py old mode 100644 new mode 100755 diff --git a/pinax/messages/utils.py b/pinax/messages/utils.py old mode 100644 new mode 100755 diff --git a/pinax/messages/views.py b/pinax/messages/views.py old mode 100644 new mode 100755 diff --git a/runtests.py b/runtests.py old mode 100644 new mode 100755 diff --git a/setup.cfg b/setup.cfg old mode 100644 new mode 100755 diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 diff --git a/tox.ini b/tox.ini old mode 100644 new mode 100755 From ddc1ed0ae770c5e68c75b6b4187eff5c31e2129d Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Sun, 19 Feb 2017 21:52:18 +0000 Subject: [PATCH 7/8] Update description for unread_threads method --- pinax/messages/templatetags/pinax_messages_tags.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinax/messages/templatetags/pinax_messages_tags.py b/pinax/messages/templatetags/pinax_messages_tags.py index 6cddf77..5467b8c 100755 --- a/pinax/messages/templatetags/pinax_messages_tags.py +++ b/pinax/messages/templatetags/pinax_messages_tags.py @@ -16,6 +16,6 @@ def unread(thread, user): @register.filter def unread_threads(user): ''' - Return the number of unread threads for this user, useful for highlighting on an account bar for example. + Return the number of Threads with unread messages for this user, useful for highlighting on an account bar for example. ''' return len(Thread.unread(user)) From 7a9c24e1afd4fb816b91c6f89fa04f8652186e9b Mon Sep 17 00:00:00 2001 From: Matt Lindesay Date: Sun, 19 Feb 2017 22:00:48 +0000 Subject: [PATCH 8/8] Fixed perms, added some more tests --- .coveragerc | 0 .gitignore | 0 .travis.yml | 0 AUTHORS | 0 CONTRIBUTING.md | 0 LICENSE | 0 MANIFEST.in | 0 Makefile | 0 README.md | 0 docs/changelog.md | 0 docs/index.md | 0 docs/installation.md | 0 docs/reference.md | 0 docs/templatetags.md | 0 docs/usage.md | 0 makemigrations.py | 0 pinax/__init__.py | 0 pinax/messages/__init__.py | 0 pinax/messages/admin.py | 0 pinax/messages/apps.py | 0 pinax/messages/conf.py | 0 pinax/messages/context_processors.py | 0 pinax/messages/forms.py | 0 pinax/messages/hooks.py | 0 pinax/messages/migrations/0001_initial.py | 0 pinax/messages/migrations/__init__.py | 0 pinax/messages/models.py | 0 pinax/messages/signals.py | 0 pinax/messages/templatetags/__init__.py | 0 .../templatetags/pinax_messages_tags.py | 2 +- pinax/messages/tests/__init__.py | 0 pinax/messages/tests/models.py | 0 .../tests/templates/pinax/messages/inbox.html | 0 .../pinax/messages/message_create.html | 0 .../pinax/messages/thread_detail.html | 0 pinax/messages/tests/test.py | 0 pinax/messages/tests/tests.py | 42 ++++++++++++++++++- pinax/messages/tests/urls.py | 0 pinax/messages/urls.py | 0 pinax/messages/utils.py | 0 pinax/messages/views.py | 0 runtests.py | 0 setup.cfg | 0 setup.py | 0 tox.ini | 0 45 files changed, 42 insertions(+), 2 deletions(-) mode change 100755 => 100644 .coveragerc mode change 100755 => 100644 .gitignore mode change 100755 => 100644 .travis.yml mode change 100755 => 100644 AUTHORS mode change 100755 => 100644 CONTRIBUTING.md mode change 100755 => 100644 LICENSE mode change 100755 => 100644 MANIFEST.in mode change 100755 => 100644 Makefile mode change 100755 => 100644 README.md mode change 100755 => 100644 docs/changelog.md mode change 100755 => 100644 docs/index.md mode change 100755 => 100644 docs/installation.md mode change 100755 => 100644 docs/reference.md mode change 100755 => 100644 docs/templatetags.md mode change 100755 => 100644 docs/usage.md mode change 100755 => 100644 makemigrations.py mode change 100755 => 100644 pinax/__init__.py mode change 100755 => 100644 pinax/messages/__init__.py mode change 100755 => 100644 pinax/messages/admin.py mode change 100755 => 100644 pinax/messages/apps.py mode change 100755 => 100644 pinax/messages/conf.py mode change 100755 => 100644 pinax/messages/context_processors.py mode change 100755 => 100644 pinax/messages/forms.py mode change 100755 => 100644 pinax/messages/hooks.py mode change 100755 => 100644 pinax/messages/migrations/0001_initial.py mode change 100755 => 100644 pinax/messages/migrations/__init__.py mode change 100755 => 100644 pinax/messages/models.py mode change 100755 => 100644 pinax/messages/signals.py mode change 100755 => 100644 pinax/messages/templatetags/__init__.py mode change 100755 => 100644 pinax/messages/templatetags/pinax_messages_tags.py mode change 100755 => 100644 pinax/messages/tests/__init__.py mode change 100755 => 100644 pinax/messages/tests/models.py mode change 100755 => 100644 pinax/messages/tests/templates/pinax/messages/inbox.html mode change 100755 => 100644 pinax/messages/tests/templates/pinax/messages/message_create.html mode change 100755 => 100644 pinax/messages/tests/templates/pinax/messages/thread_detail.html mode change 100755 => 100644 pinax/messages/tests/test.py mode change 100755 => 100644 pinax/messages/tests/tests.py mode change 100755 => 100644 pinax/messages/tests/urls.py mode change 100755 => 100644 pinax/messages/urls.py mode change 100755 => 100644 pinax/messages/utils.py mode change 100755 => 100644 pinax/messages/views.py mode change 100755 => 100644 runtests.py mode change 100755 => 100644 setup.cfg mode change 100755 => 100644 setup.py mode change 100755 => 100644 tox.ini diff --git a/.coveragerc b/.coveragerc old mode 100755 new mode 100644 diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 diff --git a/.travis.yml b/.travis.yml old mode 100755 new mode 100644 diff --git a/AUTHORS b/AUTHORS old mode 100755 new mode 100644 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100755 new mode 100644 diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/MANIFEST.in b/MANIFEST.in old mode 100755 new mode 100644 diff --git a/Makefile b/Makefile old mode 100755 new mode 100644 diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/docs/changelog.md b/docs/changelog.md old mode 100755 new mode 100644 diff --git a/docs/index.md b/docs/index.md old mode 100755 new mode 100644 diff --git a/docs/installation.md b/docs/installation.md old mode 100755 new mode 100644 diff --git a/docs/reference.md b/docs/reference.md old mode 100755 new mode 100644 diff --git a/docs/templatetags.md b/docs/templatetags.md old mode 100755 new mode 100644 diff --git a/docs/usage.md b/docs/usage.md old mode 100755 new mode 100644 diff --git a/makemigrations.py b/makemigrations.py old mode 100755 new mode 100644 diff --git a/pinax/__init__.py b/pinax/__init__.py old mode 100755 new mode 100644 diff --git a/pinax/messages/__init__.py b/pinax/messages/__init__.py old mode 100755 new mode 100644 diff --git a/pinax/messages/admin.py b/pinax/messages/admin.py old mode 100755 new mode 100644 diff --git a/pinax/messages/apps.py b/pinax/messages/apps.py old mode 100755 new mode 100644 diff --git a/pinax/messages/conf.py b/pinax/messages/conf.py old mode 100755 new mode 100644 diff --git a/pinax/messages/context_processors.py b/pinax/messages/context_processors.py old mode 100755 new mode 100644 diff --git a/pinax/messages/forms.py b/pinax/messages/forms.py old mode 100755 new mode 100644 diff --git a/pinax/messages/hooks.py b/pinax/messages/hooks.py old mode 100755 new mode 100644 diff --git a/pinax/messages/migrations/0001_initial.py b/pinax/messages/migrations/0001_initial.py old mode 100755 new mode 100644 diff --git a/pinax/messages/migrations/__init__.py b/pinax/messages/migrations/__init__.py old mode 100755 new mode 100644 diff --git a/pinax/messages/models.py b/pinax/messages/models.py old mode 100755 new mode 100644 diff --git a/pinax/messages/signals.py b/pinax/messages/signals.py old mode 100755 new mode 100644 diff --git a/pinax/messages/templatetags/__init__.py b/pinax/messages/templatetags/__init__.py old mode 100755 new mode 100644 diff --git a/pinax/messages/templatetags/pinax_messages_tags.py b/pinax/messages/templatetags/pinax_messages_tags.py old mode 100755 new mode 100644 index 5467b8c..f70cd89 --- a/pinax/messages/templatetags/pinax_messages_tags.py +++ b/pinax/messages/templatetags/pinax_messages_tags.py @@ -18,4 +18,4 @@ def unread_threads(user): ''' Return the number of Threads with unread messages for this user, useful for highlighting on an account bar for example. ''' - return len(Thread.unread(user)) + return Thread.unread(user).count() diff --git a/pinax/messages/tests/__init__.py b/pinax/messages/tests/__init__.py old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/models.py b/pinax/messages/tests/models.py old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/templates/pinax/messages/inbox.html b/pinax/messages/tests/templates/pinax/messages/inbox.html old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/templates/pinax/messages/message_create.html b/pinax/messages/tests/templates/pinax/messages/message_create.html old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/templates/pinax/messages/thread_detail.html b/pinax/messages/tests/templates/pinax/messages/thread_detail.html old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/test.py b/pinax/messages/tests/test.py old mode 100755 new mode 100644 diff --git a/pinax/messages/tests/tests.py b/pinax/messages/tests/tests.py old mode 100755 new mode 100644 index 9791c6c..4cf378f --- a/pinax/messages/tests/tests.py +++ b/pinax/messages/tests/tests.py @@ -233,7 +233,26 @@ def test_unread(self): "READ", ) - def test_unread_threads(self): + def test_unread_threads_one_unread(self): + """ + Ensure `unread_threads` template_tag produces correct results for one unread message + """ + thread = Message.new_message( + self.brosner, + [self.jtauber], + "Why did you break the internet?", "I demand to know.").thread + + tmpl = """ + {% load pinax_messages_tags %} + {% if user|unread_threads %}{{ user|unread_threads }}{% endif %} + """ + self.assert_renders( + tmpl, + Context({"thread": thread, "user": self.jtauber}), + '1' + ) + + def test_unread_threads_two_messages_incl_reply(self): """ Ensure `unread_threads` template_tag produces correct results. """ @@ -259,6 +278,27 @@ def test_unread_threads(self): '2' ) + def test_unread_threads_with_all_messages_read(self): + """ + Ensure `unread_threads` template_tag produces correct results. + """ + thread = Message.new_message( + self.brosner, + [self.jtauber], + "Why did you break the internet?", "I demand to know.").thread + + Message.new_reply(thread, self.jtauber, "Replying to the message so that I have no unread Threads") + + tmpl = """ + {% load pinax_messages_tags %} + {{ user|unread_threads }} + """ + self.assert_renders( + tmpl, + Context({"thread": thread, "user": self.jtauber}), + '0' + ) + class TestHookSet(BaseTest): def test_get_user_choices(self): diff --git a/pinax/messages/tests/urls.py b/pinax/messages/tests/urls.py old mode 100755 new mode 100644 diff --git a/pinax/messages/urls.py b/pinax/messages/urls.py old mode 100755 new mode 100644 diff --git a/pinax/messages/utils.py b/pinax/messages/utils.py old mode 100755 new mode 100644 diff --git a/pinax/messages/views.py b/pinax/messages/views.py old mode 100755 new mode 100644 diff --git a/runtests.py b/runtests.py old mode 100755 new mode 100644 diff --git a/setup.cfg b/setup.cfg old mode 100755 new mode 100644 diff --git a/setup.py b/setup.py old mode 100755 new mode 100644 diff --git a/tox.ini b/tox.ini old mode 100755 new mode 100644