Commit dbc5e43b98b386a5d6b31c09290539255b6054db
1 parent
12a840b7
Exists in
master
and in
3 other branches
Adding datetime for mural viewed
Showing
4 changed files
with
48 additions
and
6 deletions
Show diff stats
@@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
1 | +# -*- coding: utf-8 -*- | ||
2 | +# Generated by Django 1.10 on 2017-02-27 23:14 | ||
3 | +from __future__ import unicode_literals | ||
4 | + | ||
5 | +from django.db import migrations, models | ||
6 | + | ||
7 | + | ||
8 | +class Migration(migrations.Migration): | ||
9 | + | ||
10 | + dependencies = [ | ||
11 | + ('goals', '0002_auto_20170224_1721'), | ||
12 | + ] | ||
13 | + | ||
14 | + operations = [ | ||
15 | + migrations.AlterField( | ||
16 | + model_name='goalitem', | ||
17 | + name='description', | ||
18 | + field=models.CharField(blank=True, max_length=255, verbose_name='Description'), | ||
19 | + ), | ||
20 | + ] |
mural/migrations/0009_muralvisualizations_date_viewed.py
0 → 100644
@@ -0,0 +1,20 @@ | @@ -0,0 +1,20 @@ | ||
1 | +# -*- coding: utf-8 -*- | ||
2 | +# Generated by Django 1.10 on 2017-02-27 23:14 | ||
3 | +from __future__ import unicode_literals | ||
4 | + | ||
5 | +from django.db import migrations, models | ||
6 | + | ||
7 | + | ||
8 | +class Migration(migrations.Migration): | ||
9 | + | ||
10 | + dependencies = [ | ||
11 | + ('mural', '0008_auto_20170224_0023'), | ||
12 | + ] | ||
13 | + | ||
14 | + operations = [ | ||
15 | + migrations.AddField( | ||
16 | + model_name='muralvisualizations', | ||
17 | + name='date_viewed', | ||
18 | + field=models.DateTimeField(blank=True, null=True, verbose_name='Date/Time Viewed'), | ||
19 | + ), | ||
20 | + ] |
mural/models.py
@@ -118,6 +118,7 @@ class MuralVisualizations(models.Model): | @@ -118,6 +118,7 @@ class MuralVisualizations(models.Model): | ||
118 | post = models.ForeignKey(Mural, verbose_name = _('Post'), related_name = 'visualization_post', null = True) | 118 | post = models.ForeignKey(Mural, verbose_name = _('Post'), related_name = 'visualization_post', null = True) |
119 | comment = models.ForeignKey(Comment, verbose_name = _('Comment'), related_name = 'visualization_comment', null = True) | 119 | comment = models.ForeignKey(Comment, verbose_name = _('Comment'), related_name = 'visualization_comment', null = True) |
120 | user = models.ForeignKey(User, verbose_name = _('User'), related_name = "visualization_user", null = True) | 120 | user = models.ForeignKey(User, verbose_name = _('User'), related_name = "visualization_user", null = True) |
121 | + date_viewed = models.DateTimeField(_('Date/Time Viewed'), null = True, blank = True) | ||
121 | 122 | ||
122 | """ | 123 | """ |
123 | Model to handle users favorite posts | 124 | Model to handle users favorite posts |
mural/views.py
@@ -23,6 +23,7 @@ from log.models import Log | @@ -23,6 +23,7 @@ from log.models import Log | ||
23 | from log.mixins import LogMixin | 23 | from log.mixins import LogMixin |
24 | from log.decorators import log_decorator, log_decorator_ajax | 24 | from log.decorators import log_decorator, log_decorator_ajax |
25 | import time | 25 | import time |
26 | +from datetime import datetime | ||
26 | 27 | ||
27 | from .models import Mural, GeneralPost, CategoryPost, SubjectPost, MuralVisualizations, MuralFavorites, Comment | 28 | from .models import Mural, GeneralPost, CategoryPost, SubjectPost, MuralVisualizations, MuralFavorites, Comment |
28 | from .forms import GeneralPostForm, CategoryPostForm, SubjectPostForm, ResourcePostForm, CommentForm | 29 | from .forms import GeneralPostForm, CategoryPostForm, SubjectPostForm, ResourcePostForm, CommentForm |
@@ -77,9 +78,9 @@ class GeneralIndex(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -77,9 +78,9 @@ class GeneralIndex(LoginRequiredMixin, LogMixin, generic.ListView): | ||
77 | self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__categorypost__isnull = False) | Q(comment__post__categorypost__isnull = False))) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() | 78 | self.totals['category'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__categorypost__isnull = False) | Q(comment__post__categorypost__isnull = False))) | Q(post__categorypost__space__coordinators = user) | Q(comment__post__categorypost__space__coordinators = user) | Q(post__categorypost__space__subject_category__students = user) | Q(comment__post__categorypost__space__subject_category__students = user) | Q(post__categorypost__space__subject_category__professor = user) | Q(comment__post__categorypost__space__subject_category__professor = user))).distinct().count() |
78 | self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__subjectpost__isnull = False) | Q(comment__post__subjectpost__isnull = False))) | Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() | 79 | self.totals['subject'] = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & ((Q(user__is_staff = True) & (Q(post__subjectpost__isnull = False) | Q(comment__post__subjectpost__isnull = False))) | Q(post__subjectpost__space__professor = user) | Q(comment__post__subjectpost__space__professor = user) | Q(post__subjectpost__space__students = user) | Q(comment__post__subjectpost__space__students = user))).distinct().count() |
79 | 80 | ||
80 | - general_visualizations.update(viewed = True) | 81 | + general_visualizations.update(viewed = True, date_viewed = datetime.now()) |
81 | 82 | ||
82 | - MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True) | 83 | + MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True, date_viewed = datetime.now()) |
83 | 84 | ||
84 | return general.order_by("-most_recent") | 85 | return general.order_by("-most_recent") |
85 | 86 | ||
@@ -315,7 +316,7 @@ def load_category_posts(request, category): | @@ -315,7 +316,7 @@ def load_category_posts(request, category): | ||
315 | if has_page is None: | 316 | if has_page is None: |
316 | views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__categorypost__space__id = category) | Q(post__categorypost__space__id = category))) | 317 | views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__categorypost__space__id = category) | Q(post__categorypost__space__id = category))) |
317 | n_views = views.count() | 318 | n_views = views.count() |
318 | - views.update(viewed = True) | 319 | + views.update(viewed = True, date_viewed = datetime.now()) |
319 | 320 | ||
320 | paginator = Paginator(posts.order_by("-most_recent"), 10) | 321 | paginator = Paginator(posts.order_by("-most_recent"), 10) |
321 | 322 | ||
@@ -604,7 +605,7 @@ def load_subject_posts(request, subject): | @@ -604,7 +605,7 @@ def load_subject_posts(request, subject): | ||
604 | if has_page is None: | 605 | if has_page is None: |
605 | views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__subjectpost__space__id = subject) | Q(post__subjectpost__space__id = subject))) | 606 | views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__subjectpost__space__id = subject) | Q(post__subjectpost__space__id = subject))) |
606 | n_views = views.count() | 607 | n_views = views.count() |
607 | - views.update(viewed = True) | 608 | + views.update(viewed = True, date_viewed = datetime.now()) |
608 | 609 | ||
609 | paginator = Paginator(posts.order_by("-most_recent"), 10) | 610 | paginator = Paginator(posts.order_by("-most_recent"), 10) |
610 | 611 | ||
@@ -941,7 +942,7 @@ class SubjectView(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -941,7 +942,7 @@ class SubjectView(LoginRequiredMixin, LogMixin, generic.ListView): | ||
941 | posts = posts.exclude(id__in = showing) | 942 | posts = posts.exclude(id__in = showing) |
942 | 943 | ||
943 | if not page: #Don't need this if is pagination | 944 | if not page: #Don't need this if is pagination |
944 | - MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space = subject) | Q(comment__post__subjectpost__space = subject))).update(viewed = True) | 945 | + MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space = subject) | Q(comment__post__subjectpost__space = subject))).update(viewed = True, date_viewed = datetime.now()) |
945 | 946 | ||
946 | return posts.order_by("-most_recent") | 947 | return posts.order_by("-most_recent") |
947 | 948 | ||
@@ -1054,7 +1055,7 @@ class ResourceView(LoginRequiredMixin, LogMixin, generic.ListView): | @@ -1054,7 +1055,7 @@ class ResourceView(LoginRequiredMixin, LogMixin, generic.ListView): | ||
1054 | posts = posts.exclude(id__in = showing) | 1055 | posts = posts.exclude(id__in = showing) |
1055 | 1056 | ||
1056 | if not page: #Don't need this if is pagination | 1057 | if not page: #Don't need this if is pagination |
1057 | - MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__resource = resource) | Q(comment__post__subjectpost__resource = resource))).update(viewed = True) | 1058 | + MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__resource = resource) | Q(comment__post__subjectpost__resource = resource))).update(viewed = True, date_viewed = datetime.now()) |
1058 | 1059 | ||
1059 | return posts.order_by("-most_recent") | 1060 | return posts.order_by("-most_recent") |
1060 | 1061 |