diff --git a/apps/review/migrations/0021_review_visited_at.py b/apps/review/migrations/0021_review_visited_at.py new file mode 100644 index 00000000..c8889d20 --- /dev/null +++ b/apps/review/migrations/0021_review_visited_at.py @@ -0,0 +1,18 @@ +# Generated by Django 2.2.7 on 2020-02-10 08:46 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('review', '0020_reviewtextauthor'), + ] + + operations = [ + migrations.AddField( + model_name='review', + name='visited_at', + field=models.DateField(blank=True, null=True), + ), + ] diff --git a/apps/review/models.py b/apps/review/models.py index 34f2c4b7..4b9b87f6 100644 --- a/apps/review/models.py +++ b/apps/review/models.py @@ -94,6 +94,7 @@ class Review(BaseAttributes, TranslatedFieldsMixin): mark = models.FloatField(verbose_name=_('mark'), blank=True, null=True, default=None) priority = models.PositiveSmallIntegerField(_('Priority'), blank=True, null=True, default=None) old_id = models.PositiveIntegerField(_('old id'), blank=True, null=True, default=None) + visited_at = models.DateField(blank=True, null=True) objects = ReviewQuerySet.as_manager() @@ -101,6 +102,17 @@ class Review(BaseAttributes, TranslatedFieldsMixin): def status_display(self): return self.REVIEW_STATUSES[self.status][1] + @property + def visited_on(self): + from account.models import User + + if isinstance(self.reviewer, User): + return { + 'user': self.reviewer, + 'date': self.visited_at, + } + return None + class Meta: """Meta class.""" verbose_name = _('Review') diff --git a/apps/review/serializers/common.py b/apps/review/serializers/common.py index 46a9741d..ccb2ad47 100644 --- a/apps/review/serializers/common.py +++ b/apps/review/serializers/common.py @@ -23,6 +23,7 @@ class ReviewBaseSerializer(serializers.ModelSerializer): 'country', 'content_type', 'object_id', + 'visited_on', )