Commit 85fe3d3f89c796c0fac90636be6ae09da013aec2
1 parent
ed90db29
Exists in
master
and in
3 other branches
Adding user filter to notification badges
Showing
6 changed files
with
26 additions
and
16 deletions
Show diff stats
amadeus/context_processors.py
... | ... | @@ -15,7 +15,10 @@ def theme(request): |
15 | 15 | def notifies(request): |
16 | 16 | context = {} |
17 | 17 | |
18 | - notifications = Notification.objects.filter(creation_date = datetime.now()).count() | |
18 | + notifications = 0 | |
19 | + | |
20 | + if request.user.is_authenticated: | |
21 | + notifications = Notification.objects.filter(creation_date = datetime.now(), viewed = False, user = request.user).count() | |
19 | 22 | |
20 | 23 | context['notifications_count'] = notifications |
21 | 24 | ... | ... |
categories/templatetags/category_counters.py
... | ... | @@ -6,9 +6,9 @@ from notifications.models import Notification |
6 | 6 | register = template.Library() |
7 | 7 | |
8 | 8 | @register.inclusion_tag('subjects/badge.html') |
9 | -def notifies_cat_number(category): | |
9 | +def notifies_cat_number(category, user): | |
10 | 10 | context = {} |
11 | 11 | |
12 | - context['number'] = Notification.objects.filter(task__resource__topic__subject__category = category, creation_date = datetime.now()).count() | |
12 | + context['number'] = Notification.objects.filter(task__resource__topic__subject__category = category, creation_date = datetime.now(), viewed = False, user = user).count() | |
13 | 13 | |
14 | 14 | return context |
15 | 15 | \ No newline at end of file | ... | ... |
subjects/templates/subjects/list.html
... | ... | @@ -83,7 +83,7 @@ |
83 | 83 | <a href="" class="pull-right action_icon"><i class="fa fa-bar-chart" aria-hidden="true"></i></a> |
84 | 84 | <a href="" class="pull-right action_icon"> |
85 | 85 | <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> |
86 | - {% notifies_cat_number category %} | |
86 | + {% notifies_cat_number category request.user %} | |
87 | 87 | </a> |
88 | 88 | <a href="" class="pull-right action_icon"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> |
89 | 89 | <a href="" class="pull-right action_icon"><i class="fa fa-list" aria-hidden="true"></i></a> |
... | ... | @@ -147,10 +147,14 @@ |
147 | 147 | <li><a href="javascript:delete_course.get('{% url 'categories:delete' category.slug %}?view=index','#category','#modal_course')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> |
148 | 148 | </ul> |
149 | 149 | {% endif %} |
150 | - <a href=""><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | |
151 | - <a href=""><i class="fa fa-exclamation-triangle" aria-hidden="true"></i></a> | |
152 | - <a href=""><i class="fa fa-envelope-o" aria-hidden="true"></i></a> | |
153 | - <a href="" ><i class="fa fa-list" aria-hidden="true"></i></a> | |
150 | + | |
151 | + <a href="" class="pull-right action_icon"><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | |
152 | + <a href="" class="pull-right action_icon"> | |
153 | + <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> | |
154 | + {% notifies_cat_number category request.user %} | |
155 | + </a> | |
156 | + <a href="" class="pull-right action_icon"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> | |
157 | + <a href="" class="pull-right action_icon"><i class="fa fa-list" aria-hidden="true"></i></a> | |
154 | 158 | </div> |
155 | 159 | </div> |
156 | 160 | </div> | ... | ... |
subjects/templates/subjects/subject_card.html
... | ... | @@ -39,7 +39,7 @@ |
39 | 39 | <a href="" class="pull-right action_icon"><i class="fa fa-bar-chart" aria-hidden="true"></i></a> |
40 | 40 | <a href="" class="pull-right action_icon"> |
41 | 41 | <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> |
42 | - {% notifies_number subject %} | |
42 | + {% notifies_number subject request.user %} | |
43 | 43 | </a> |
44 | 44 | <a href="" class="pull-right action_icon"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> |
45 | 45 | <a href="" class="pull-right action_icon"><i class="fa fa-list" aria-hidden="true"></i></a> | ... | ... |
subjects/templates/subjects/view.html
1 | 1 | {% extends 'categories/home.html' %} |
2 | 2 | |
3 | -{% load static i18n pagination permissions_tags %} | |
3 | +{% load static i18n pagination permissions_tags subject_counter %} | |
4 | 4 | {% load django_bootstrap_breadcrumbs %} |
5 | 5 | |
6 | 6 | {% block javascript%} |
... | ... | @@ -55,10 +55,13 @@ |
55 | 55 | <li><a href="javascript:delete_subject.get('{% url 'subjects:delete' subject.slug %}?view=index','#subject','#modal_subject')"><i class="fa fa-trash fa-fw" aria-hidden="true"></i> {% trans 'Remove' %}</a></li> |
56 | 56 | </ul> |
57 | 57 | {% endif %} |
58 | - <a href=""><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | |
59 | - <a href=""><i class="fa fa-exclamation-triangle" aria-hidden="true"></i></a> | |
60 | - <a href=""><i class="fa fa-envelope-o" aria-hidden="true"></i></a> | |
61 | - <a href="" ><i class="fa fa-list" aria-hidden="true"></i></a> | |
58 | + <a href="" class="pull-right action_icon"><i class="fa fa-bar-chart" aria-hidden="true"></i></a> | |
59 | + <a href="" class="pull-right action_icon"> | |
60 | + <i class="fa fa-exclamation-triangle" aria-hidden="true"></i> | |
61 | + {% notifies_number subject request.user %} | |
62 | + </a> | |
63 | + <a href="" class="pull-right action_icon"><i class="fa fa-envelope-o" aria-hidden="true"></i></a> | |
64 | + <a href="" class="pull-right action_icon"><i class="fa fa-list" aria-hidden="true"></i></a> | |
62 | 65 | </div> |
63 | 66 | </div> |
64 | 67 | </div> | ... | ... |
subjects/templatetags/subject_counter.py
... | ... | @@ -20,10 +20,10 @@ def subject_count(category, user): |
20 | 20 | return total |
21 | 21 | |
22 | 22 | @register.inclusion_tag('subjects/badge.html') |
23 | -def notifies_number(subject): | |
23 | +def notifies_number(subject, user): | |
24 | 24 | context = {} |
25 | 25 | |
26 | - context['number'] = Notification.objects.filter(task__resource__topic__subject = subject, creation_date = datetime.datetime.now()).count() | |
26 | + context['number'] = Notification.objects.filter(task__resource__topic__subject = subject, creation_date = datetime.datetime.now(), viewed = False, user = user).count() | |
27 | 27 | |
28 | 28 | return context |
29 | 29 | ... | ... |