From 9c696e78459982be3b189ddaea341afc3eaccd66 Mon Sep 17 00:00:00 2001 From: Zambom Date: Mon, 6 Feb 2017 14:59:25 -0200 Subject: [PATCH] Adding mural favorites table --- mural/migrations/0004_auto_20170206_1348.py | 39 +++++++++++++++++++++++++++++++++++++++ mural/models.py | 6 +++++- mural/templates/mural/_view.html | 6 +++++- mural/templatetags/mural_filters.py | 12 +++++++++++- 4 files changed, 60 insertions(+), 3 deletions(-) create mode 100644 mural/migrations/0004_auto_20170206_1348.py diff --git a/mural/migrations/0004_auto_20170206_1348.py b/mural/migrations/0004_auto_20170206_1348.py new file mode 100644 index 0000000..fd02dc3 --- /dev/null +++ b/mural/migrations/0004_auto_20170206_1348.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.10 on 2017-02-06 16:48 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('mural', '0003_auto_20170204_1625'), + ] + + operations = [ + migrations.CreateModel( + name='MuralFavorites', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ], + ), + migrations.AlterField( + model_name='mural', + name='action', + field=models.CharField(choices=[('comment', 'Comment'), ('help', 'Ask for Help')], default='comment', max_length=100, verbose_name='Action'), + ), + migrations.AddField( + model_name='muralfavorites', + name='post', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='favorites_post', to='mural.Mural', verbose_name='Post'), + ), + migrations.AddField( + model_name='muralfavorites', + name='user', + field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='favorites_user', to=settings.AUTH_USER_MODEL, verbose_name='User'), + ), + ] diff --git a/mural/models.py b/mural/models.py index 59e7037..8d20c3a 100644 --- a/mural/models.py +++ b/mural/models.py @@ -45,4 +45,8 @@ class MuralVisualizations(models.Model): viewed = models.BooleanField(_('Viewed'), default = False) 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) \ No newline at end of file + user = models.ForeignKey(User, verbose_name = _('User'), related_name = "visualization_user", null = True) + +class MuralFavorites(models.Model): + post = models.ForeignKey(Mural, verbose_name = _('Post'), related_name = 'favorites_post', null = True) + user = models.ForeignKey(User, verbose_name = _('User'), related_name = "favorites_user", null = True) \ No newline at end of file diff --git a/mural/templates/mural/_view.html b/mural/templates/mural/_view.html index f4248b1..d36aa97 100644 --- a/mural/templates/mural/_view.html +++ b/mural/templates/mural/_view.html @@ -24,6 +24,11 @@ {% endif %} + + +

@@ -37,7 +42,6 @@ {% if post.image %} {% endif %} -

diff --git a/mural/templatetags/mural_filters.py b/mural/templatetags/mural_filters.py index 4bb05d6..3806944 100644 --- a/mural/templatetags/mural_filters.py +++ b/mural/templatetags/mural_filters.py @@ -1,4 +1,7 @@ from django import template +from django.utils.translation import ugettext_lazy as _ + +from mural.models import MuralFavorites register = template.Library() @@ -9,4 +12,11 @@ def action_icon(action): elif action == "help": icon = "fa-comments-o" - return icon \ No newline at end of file + return icon + +@register.filter(name = 'fav_label') +def fav_label(post, user): + if MuralFavorites.objects.filter(post = post, user = user).exists(): + return _('Unfavorite') + + return _('Favorite') \ No newline at end of file -- libgit2 0.21.2