From: Emilie Date: Mon, 11 Jul 2016 13:40:09 +0000 (+0200) Subject: Adding Article and Brief to features X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b37acab2230a42bc35443e79528acc1b696b6654;p=mezzo.git Adding Article and Brief to features --- diff --git a/app/organization/featured/admin.py b/app/organization/featured/admin.py index 1318a91e..ae833a7a 100644 --- a/app/organization/featured/admin.py +++ b/app/organization/featured/admin.py @@ -7,7 +7,7 @@ class FeaturedAdmin(admin.ModelAdmin): model = Featured list_display = ('__unicode__',) - filter_horizontal = ['events', 'videos', 'articles', 'pages', 'playlists'] + filter_horizontal = ['events', 'videos', 'articles', 'pages', 'playlists', 'briefs'] admin.site.register(Featured, FeaturedAdmin) diff --git a/app/organization/featured/migrations/0003_featured_briefs.py b/app/organization/featured/migrations/0003_featured_briefs.py new file mode 100644 index 00000000..8a8643fa --- /dev/null +++ b/app/organization/featured/migrations/0003_featured_briefs.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-11 10:00 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization magazine', '0006_auto_20160711_1200'), + ('featured', '0002_auto_20160707_1614'), + ] + + operations = [ + migrations.AddField( + model_name='featured', + name='briefs', + field=models.ManyToManyField(blank=True, related_name='featured', to='organization magazine.Brief', verbose_name='briefs'), + ), + ] diff --git a/app/organization/featured/models.py b/app/organization/featured/models.py index 0a577187..20c7206b 100644 --- a/app/organization/featured/models.py +++ b/app/organization/featured/models.py @@ -20,7 +20,7 @@ class Featured(Named): events = models.ManyToManyField(Event, verbose_name=_('events'), related_name='featured', blank=True) videos = models.ManyToManyField(Video, verbose_name=_('videos'), related_name='featured', blank=True) playlists = models.ManyToManyField(Playlist, verbose_name=_('playlists'), related_name='featured', blank=True) - playlists = models.ManyToManyField(Playlist, verbose_name=_('playlists'), related_name='featured', blank=True) + briefs = models.ManyToManyField(Brief, verbose_name=_('briefs'), related_name='featured', blank=True) def __unicode__(self): diff --git a/app/organization/featured/templatetags/featured_tags.py b/app/organization/featured/templatetags/featured_tags.py index 79e32677..2053a6d3 100644 --- a/app/organization/featured/templatetags/featured_tags.py +++ b/app/organization/featured/templatetags/featured_tags.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- from mezzanine.pages.models import Page -from mezzanine.blog.models import BlogPost +#from mezzanine.blog.models import BlogPost from mezzanine.template import Library from mezzanine_agenda.models import Event from mezzanine.conf import settings @@ -37,12 +37,16 @@ def featured(*args): featured = Featured.objects.filter(id=settings.HOME_FEATURED_ID) if featured: featured = featured[0] - for post in featured.blogposts.all(): - featured_list.append(post) + for page in featured.pages.all(): + featured_list.append(page) + for article in featured.articles.all(): + featured_list.append(article) + for brief in featured.briefs.all(): + featured_list.append(brief) for video in featured.videos.all(): featured_list.append(video) - for artist in featured.artists.all(): - featured_list.append(artist) + # for artist in featured.artists.all(): + # featured_list.append(artist) for playlist in featured.playlists.all(): featured_list.append(playlist) shuffle(featured_list) diff --git a/app/organization/magazine/admin.py b/app/organization/magazine/admin.py index 1415a658..bb11befd 100644 --- a/app/organization/magazine/admin.py +++ b/app/organization/magazine/admin.py @@ -4,7 +4,6 @@ from copy import deepcopy from mezzanine.core.admin import DisplayableAdmin from organization.magazine.models import Brief - class BriefAdmin(admin.ModelAdmin): model = Brief diff --git a/app/organization/magazine/migrations/0005_merge.py b/app/organization/magazine/migrations/0005_merge.py new file mode 100644 index 00000000..832b3699 --- /dev/null +++ b/app/organization/magazine/migrations/0005_merge.py @@ -0,0 +1,16 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-11 10:00 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization magazine', '0003_auto_20160708_1236'), + ('organization magazine', '0004_auto_20160707_1544'), + ] + + operations = [ + ] diff --git a/app/organization/magazine/migrations/0006_auto_20160711_1200.py b/app/organization/magazine/migrations/0006_auto_20160711_1200.py new file mode 100644 index 00000000..61676bd0 --- /dev/null +++ b/app/organization/magazine/migrations/0006_auto_20160711_1200.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-11 10:00 +from __future__ import unicode_literals + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization magazine', '0005_merge'), + ] + + operations = [ + migrations.AlterModelOptions( + name='article', + options={'verbose_name': 'article'}, + ), + ] diff --git a/app/organization/magazine/migrations/0007_auto_20160711_1416.py b/app/organization/magazine/migrations/0007_auto_20160711_1416.py new file mode 100644 index 00000000..50662d71 --- /dev/null +++ b/app/organization/magazine/migrations/0007_auto_20160711_1416.py @@ -0,0 +1,30 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-11 12:16 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('organization magazine', '0006_auto_20160711_1200'), + ] + + operations = [ + migrations.AlterField( + model_name='brief', + name='local_content', + field=models.URLField(max_length=1000, verbose_name='local content'), + ), + migrations.AlterField( + model_name='brief', + name='local_content_en', + field=models.URLField(max_length=1000, null=True, verbose_name='local content'), + ), + migrations.AlterField( + model_name='brief', + name='local_content_fr', + field=models.URLField(max_length=1000, null=True, verbose_name='local content'), + ), + ] diff --git a/app/organization/magazine/models.py b/app/organization/magazine/models.py index 610de908..09d1abbf 100644 --- a/app/organization/magazine/models.py +++ b/app/organization/magazine/models.py @@ -21,7 +21,10 @@ class Article(BlogPost): class Brief(Displayable, RichText): text_button = models.CharField(blank=True, max_length=150, null=False, verbose_name='text button') - local_content = models.CharField(blank=True, max_length=1000, null=False, verbose_name='local content') + local_content = models.URLField(blank=False, max_length=1000, null=False, verbose_name='local content') + + def get_absolute_url(self): + return self.local_content class Meta: verbose_name = _('brief') diff --git a/app/organization/magazine/translation.py b/app/organization/magazine/translation.py index 17498296..ea181b0a 100644 --- a/app/organization/magazine/translation.py +++ b/app/organization/magazine/translation.py @@ -14,6 +14,6 @@ class ArticleTranslationOptions(TranslationOptions): @register(Brief) -class AudioTranslationOptions(TranslationOptions): +class BriefTranslationOptions(TranslationOptions): fields = ('text_button', 'local_content') diff --git a/app/organization/magazine/urls.py b/app/organization/magazine/urls.py index b61c0bf9..e7136370 100644 --- a/app/organization/magazine/urls.py +++ b/app/organization/magazine/urls.py @@ -12,9 +12,6 @@ from organization.magazine.views import * _slash = "/" if settings.APPEND_SLASH else "" urlpatterns = [ - # url(r'^article/$', ArticleListView.as_view(), name="magazine-article-list"), - # url(r'^article/detail/(?P.*)/$', ArticleDetailView.as_view(), name="magazine-article-detail"), - url("^article/$", ArticleListView.as_view(), name="magazine-article-list"), url("^article/detail/(?P.*)%s$" % _slash, ArticleDetailView.as_view(), name="magazine-article-detail"), ] diff --git a/app/templates/index.html b/app/templates/index.html index b54288be..d4fd3372 100644 --- a/app/templates/index.html +++ b/app/templates/index.html @@ -17,15 +17,13 @@
{% for item in featured_list %}
- {% if item|get_class == 'BlogPost' %} - {% with item as post %} - {% include 'blog/includes/post_card.html' %} - {% trans "More" context "apos" %} {% trans "articles" %} + {% if item|get_class == 'Brief' %} + {% with item as brief %} + {% include 'magazine/brief/brief_detail.html' %} {% endwith %} - {% elif item|get_class == 'Artist' %} - {% with item as artist %} - {% include "festival/inc/artist_card.html" %} - {% trans "More" context "apos" %} {% trans "artists" %} + {% elif item|get_class == 'Article' %} + {% with item as article %} + {% include "magazine/article/includes/post_card.html" %} {% endwith %} {% elif item|get_class == 'Video' %} {% with item as video %} diff --git a/app/templates/magazine/article/includes/post_card.html b/app/templates/magazine/article/includes/post_card.html index a9205756..3c1d4322 100644 --- a/app/templates/magazine/article/includes/post_card.html +++ b/app/templates/magazine/article/includes/post_card.html @@ -3,17 +3,20 @@
- {% if article.featured_image %} -
- Article: {{ article.title }} -
- {% endif %}

{{ article.title }}

- {# {% trans "published on" %} {{ article.publish_date|date:"DATE_FORMAT" }}#} +

+ {{ article.description }} +

+ + {% if article.featured_image %} +
+ Article: {{ article.title }} +
+ {% endif %}
diff --git a/app/templates/magazine/brief/brief_detail.html b/app/templates/magazine/brief/brief_detail.html new file mode 100644 index 00000000..3d5d3b18 --- /dev/null +++ b/app/templates/magazine/brief/brief_detail.html @@ -0,0 +1,22 @@ +{% load i18n pages_tags mezzanine_tags %} +