diff --git a/goals/migrations/0003_auto_20170227_2014.py b/goals/migrations/0003_auto_20170227_2014.py new file mode 100644 index 0000000..5018d49 --- /dev/null +++ b/goals/migrations/0003_auto_20170227_2014.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-02-27 23:14 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('goals', '0002_auto_20170224_1721'), + ] + + operations = [ + migrations.AlterField( + model_name='goalitem', + name='description', + field=models.CharField(blank=True, max_length=255, verbose_name='Description'), + ), + ] diff --git a/mural/migrations/0009_muralvisualizations_date_viewed.py b/mural/migrations/0009_muralvisualizations_date_viewed.py new file mode 100644 index 0000000..cb2f453 --- /dev/null +++ b/mural/migrations/0009_muralvisualizations_date_viewed.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-02-27 23:14 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('mural', '0008_auto_20170224_0023'), + ] + + operations = [ + migrations.AddField( + model_name='muralvisualizations', + name='date_viewed', + field=models.DateTimeField(blank=True, null=True, verbose_name='Date/Time Viewed'), + ), + ] diff --git a/mural/models.py b/mural/models.py index 820b12a..2e26b14 100644 --- a/mural/models.py +++ b/mural/models.py @@ -118,6 +118,7 @@ class MuralVisualizations(models.Model): post = models.ForeignKey(Mural, verbose_name = _('Post'), related_name = 'visualization_post', null = True) comment = models.ForeignKey(Comment, verbose_name = _('Comment'), related_name = 'visualization_comment', null = True) user = models.ForeignKey(User, verbose_name = _('User'), related_name = "visualization_user", null = True) + date_viewed = models.DateTimeField(_('Date/Time Viewed'), null = True, blank = True) """ Model to handle users favorite posts diff --git a/mural/views.py b/mural/views.py index 59b3550..7995255 100644 --- a/mural/views.py +++ b/mural/views.py @@ -23,6 +23,7 @@ from log.models import Log from log.mixins import LogMixin from log.decorators import log_decorator, log_decorator_ajax import time +from datetime import datetime from .models import Mural, GeneralPost, CategoryPost, SubjectPost, MuralVisualizations, MuralFavorites, Comment from .forms import GeneralPostForm, CategoryPostForm, SubjectPostForm, ResourcePostForm, CommentForm @@ -77,9 +78,9 @@ class GeneralIndex(LoginRequiredMixin, LogMixin, generic.ListView): 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() 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() - general_visualizations.update(viewed = True) + general_visualizations.update(viewed = True, date_viewed = datetime.now()) - MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True) + MuralVisualizations.objects.filter(user = user, viewed = False, comment__post__generalpost__isnull = False).update(viewed = True, date_viewed = datetime.now()) return general.order_by("-most_recent") @@ -315,7 +316,7 @@ def load_category_posts(request, category): if has_page is None: views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__categorypost__space__id = category) | Q(post__categorypost__space__id = category))) n_views = views.count() - views.update(viewed = True) + views.update(viewed = True, date_viewed = datetime.now()) paginator = Paginator(posts.order_by("-most_recent"), 10) @@ -604,7 +605,7 @@ def load_subject_posts(request, subject): if has_page is None: views = MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(comment__post__subjectpost__space__id = subject) | Q(post__subjectpost__space__id = subject))) n_views = views.count() - views.update(viewed = True) + views.update(viewed = True, date_viewed = datetime.now()) paginator = Paginator(posts.order_by("-most_recent"), 10) @@ -941,7 +942,7 @@ class SubjectView(LoginRequiredMixin, LogMixin, generic.ListView): posts = posts.exclude(id__in = showing) if not page: #Don't need this if is pagination - MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__space = subject) | Q(comment__post__subjectpost__space = subject))).update(viewed = True) + 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()) return posts.order_by("-most_recent") @@ -1054,7 +1055,7 @@ class ResourceView(LoginRequiredMixin, LogMixin, generic.ListView): posts = posts.exclude(id__in = showing) if not page: #Don't need this if is pagination - MuralVisualizations.objects.filter(Q(user = user) & Q(viewed = False) & (Q(post__subjectpost__resource = resource) | Q(comment__post__subjectpost__resource = resource))).update(viewed = True) + 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()) return posts.order_by("-most_recent") -- libgit2 0.21.2