]> git.parisson.com Git - mezzo.git/commitdiff
Adding Article and Brief to features
authorEmilie <zawadzki@ircam.fr>
Mon, 11 Jul 2016 13:40:09 +0000 (15:40 +0200)
committerEmilie <zawadzki@ircam.fr>
Mon, 11 Jul 2016 13:40:09 +0000 (15:40 +0200)
14 files changed:
app/organization/featured/admin.py
app/organization/featured/migrations/0003_featured_briefs.py [new file with mode: 0644]
app/organization/featured/models.py
app/organization/featured/templatetags/featured_tags.py
app/organization/magazine/admin.py
app/organization/magazine/migrations/0005_merge.py [new file with mode: 0644]
app/organization/magazine/migrations/0006_auto_20160711_1200.py [new file with mode: 0644]
app/organization/magazine/migrations/0007_auto_20160711_1416.py [new file with mode: 0644]
app/organization/magazine/models.py
app/organization/magazine/translation.py
app/organization/magazine/urls.py
app/templates/index.html
app/templates/magazine/article/includes/post_card.html
app/templates/magazine/brief/brief_detail.html [new file with mode: 0644]

index 1318a91e739537950db181521513acc9f9a60792..ae833a7a61731bbb16b9173d6654106ddb9b028c 100644 (file)
@@ -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 (file)
index 0000000..8a8643f
--- /dev/null
@@ -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'),
+        ),
+    ]
index 0a577187bdc76ad7b99d01a1d0bc2e3c394285b4..20c7206bb437fbb5f4f2b7554003a8f5b1a5db98 100644 (file)
@@ -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):
index 79e32677716b7ab6c6eb41e4fe38b3a0590c32c0..2053a6d3fbabcb29e9a760ed4622bc547b0740a2 100644 (file)
@@ -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)
index 1415a65887698a9111fd71ac841e383730472398..bb11befdb4b50322bfc39d217f2c3d4a6edbe4c8 100644 (file)
@@ -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 (file)
index 0000000..832b369
--- /dev/null
@@ -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 (file)
index 0000000..61676bd
--- /dev/null
@@ -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 (file)
index 0000000..50662d7
--- /dev/null
@@ -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'),
+        ),
+    ]
index 610de90820ccc65cd9890e898f1d5fc667f0f896..09d1abbfe183dfcc7a4aa9c9c1b5f12085fa9652 100644 (file)
@@ -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')
index 17498296b4d7423863d92d006ab0bebb0b0e298d..ea181b0a7d73efd9070b477f26cf356a2b092b88 100644 (file)
@@ -14,6 +14,6 @@ class ArticleTranslationOptions(TranslationOptions):
 
 
 @register(Brief)
-class AudioTranslationOptions(TranslationOptions):
+class BriefTranslationOptions(TranslationOptions):
 
     fields = ('text_button', 'local_content')
index b61c0bf9125f12e12f0b7ccd6e0ab0f2e8db0522..e71363704e35e46a1e7a716bb9512456139c0027 100644 (file)
@@ -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<slug>.*)/$', ArticleDetailView.as_view(), name="magazine-article-detail"),
-
     url("^article/$", ArticleListView.as_view(), name="magazine-article-list"),
     url("^article/detail/(?P<slug>.*)%s$" % _slash, ArticleDetailView.as_view(), name="magazine-article-detail"),
 ]
index b54288be888adbbf831cdbbb57a94ee3529d8ae1..d4fd33724507c7361770fd939511d527ad93ce05 100644 (file)
         <div class="msry__sizer"></div>
         {% for item in featured_list %}
         <div class="last__media__entry  msry__item">
-            {% if item|get_class == 'BlogPost' %}
-                {% with item as post %}
-                    {% include 'blog/includes/post_card.html' %}
-                    <a href="{% url 'blog_post_list' %}" class="btn btn-full">{% trans "More" context "apos" %} {% trans "articles" %}</a>
+            {% 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" %}
-                    <a href="{% url 'festival-artist-list' %}" class="btn btn-full">{% trans "More" context "apos" %} {% trans "artists" %}</a>
+            {% 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 %}
index a920575696672723ab702e0dd6169b28e5d7c11b..3c1d4322573cd604d76665d7e3a3bc33a1b76b58 100644 (file)
@@ -3,17 +3,20 @@
 <div class="article__item {% if not on_home %}msry__item {% endif %}">
     <div class="article__item__inner">
         <a {% if article.content|removetags:"p"|slice:"4" == 'http' %}href="{{ article.content|removetags:'p' }}" target="_blank"{% else %}href="{% url 'magazine-article-detail' article.slug %}"{% endif %} class="article__item__inner">
-            {% if article.featured_image %}
-            <figure class="article__item__img">
-                <img src="{{ MEDIA_URL }}{% thumbnail article.featured_image 500 0 %}" alt="Article: {{ article.title }}">
-            </figure>
-            {% endif %}
             <h3 class="article__item__name">
                 <span>
                     {{ article.title }}
                 </span>
             </h3>
-            {# <span class="article__item__date">{% trans "published on" %} {{ article.publish_date|date:"DATE_FORMAT" }}</span>#}
+            <p>
+                {{ article.description }}
+            </p>
+
+            {% if article.featured_image %}
+            <figure class="article__item__img">
+                <img src="{{ MEDIA_URL }}{% thumbnail article.featured_image 500 0 %}" alt="Article: {{ article.title }}">
+            </figure>
+            {% endif %}
         </a>
     </div>
 </div>
diff --git a/app/templates/magazine/brief/brief_detail.html b/app/templates/magazine/brief/brief_detail.html
new file mode 100644 (file)
index 0000000..3d5d3b1
--- /dev/null
@@ -0,0 +1,22 @@
+{% load i18n pages_tags mezzanine_tags %}
+<div class="brief__item {% if not on_home %}msry__item {% endif %}">
+    <div class="brief__item__inner">
+        <a target="_blank" href="{{ brief.local_content}}" class="brief__item__inner">
+            {% if brief.featured_image %}
+            <figure class="brief__item__img">
+                <img src="{{ MEDIA_URL }}{% thumbnail brief.featured_image 500 0 %}" alt="brief: {{ brief.title }}">
+            </figure>
+            {% endif %}
+            <h3 class="brief__item__name">
+                <span>
+                    {{ brief.title }}
+                </span>
+            </h3>
+            <p>
+               {{ brief.description }}
+            </p>
+
+        </a>
+        <a href="{{ brief.local_content}}" class="btn btn-full">{{ brief.text_button }}</a>
+    </div>
+</div>