]> git.parisson.com Git - mezzo.git/commitdiff
Task #134: Article related to department
authorEmilie <zawadzki@ircam.fr>
Thu, 25 Aug 2016 13:35:56 +0000 (15:35 +0200)
committerEmilie <zawadzki@ircam.fr>
Thu, 25 Aug 2016 13:35:56 +0000 (15:35 +0200)
app/organization/core/migrations/0003_auto_20160825_1232.py [new file with mode: 0644]
app/organization/magazine/migrations/0003_auto_20160825_1232.py [new file with mode: 0644]
app/organization/magazine/migrations/0004_auto_20160825_1259.py [new file with mode: 0644]
app/organization/magazine/migrations/0005_auto_20160825_1308.py [new file with mode: 0644]
app/organization/magazine/models.py
app/organization/magazine/views.py
app/organization/pages/migrations/0004_auto_20160825_1232.py [new file with mode: 0644]
app/templates/magazine/article/article_detail.html
app/templates/magazine/article/includes/article_card.html
requirements.txt

diff --git a/app/organization/core/migrations/0003_auto_20160825_1232.py b/app/organization/core/migrations/0003_auto_20160825_1232.py
new file mode 100644 (file)
index 0000000..26fe0ee
--- /dev/null
@@ -0,0 +1,25 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-25 10:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-core', '0002_auto_20160824_1454'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='displayableimage',
+            name='type',
+            field=models.CharField(choices=[('logo', 'logo'), ('slider', 'slider'), ('card', 'card'), ('page_slider', 'page slider')], max_length=64, verbose_name='type'),
+        ),
+        migrations.AlterField(
+            model_name='modelimage',
+            name='type',
+            field=models.CharField(choices=[('logo', 'logo'), ('slider', 'slider'), ('card', 'card'), ('page_slider', 'page slider')], max_length=64, verbose_name='type'),
+        ),
+    ]
diff --git a/app/organization/magazine/migrations/0003_auto_20160825_1232.py b/app/organization/magazine/migrations/0003_auto_20160825_1232.py
new file mode 100644 (file)
index 0000000..b7fd372
--- /dev/null
@@ -0,0 +1,28 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-25 10:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-network', '0002_auto_20160824_0020'),
+        ('organization-magazine', '0002_auto_20160824_1454'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='article',
+            name='department',
+            field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, to='organization-network.Department'),
+            preserve_default=False,
+        ),
+        migrations.AlterField(
+            model_name='articleimage',
+            name='type',
+            field=models.CharField(choices=[('logo', 'logo'), ('slider', 'slider'), ('card', 'card'), ('page_slider', 'page slider')], max_length=64, verbose_name='type'),
+        ),
+    ]
diff --git a/app/organization/magazine/migrations/0004_auto_20160825_1259.py b/app/organization/magazine/migrations/0004_auto_20160825_1259.py
new file mode 100644 (file)
index 0000000..0cc78f2
--- /dev/null
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-25 10:59
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-magazine', '0003_auto_20160825_1232'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='article',
+            name='department',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='department', to='organization-network.Department'),
+        ),
+    ]
diff --git a/app/organization/magazine/migrations/0005_auto_20160825_1308.py b/app/organization/magazine/migrations/0005_auto_20160825_1308.py
new file mode 100644 (file)
index 0000000..7db2aac
--- /dev/null
@@ -0,0 +1,21 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-25 11:08
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-magazine', '0004_auto_20160825_1259'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='article',
+            name='department',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='articles', to='organization-network.Department'),
+        ),
+    ]
index 1bfb1484ac20d9df09bf69203b350fceff194823..ceab5e1fede94caf3920ef22e328d837ae02f6a3 100644 (file)
@@ -10,7 +10,7 @@ from django.core.urlresolvers import reverse, reverse_lazy
 from mezzanine.core.models import RichText, Displayable, Slugged
 from mezzanine.pages.models import Page
 from mezzanine.blog.models import BlogPost
-
+from organization.network.models import Department
 from organization.core.models import *
 
 
@@ -18,7 +18,7 @@ class Article(BlogPost, SubTitled):
 
     related_articles = models.ManyToManyField("self",
                                  verbose_name=_("Related articles"), blank=True)
-
+    department = models.ForeignKey(Department, related_name='articles', limit_choices_to=dict(id__in=Department.objects.all()), blank=True, null=True, on_delete=models.SET_NULL)
     model_name = _('article')
 
     def get_absolute_url(self):
index d9ea5699b69c2b557068ecaffc39c9ed6f5d9171..8cfd7610e68ebf46138ed48b481ad84d7a82e4ab 100644 (file)
@@ -23,20 +23,20 @@ class ArticleDetailView(SlugMixin, DetailView):
     template_name='magazine/article/article_detail.html'
     context_object_name = 'article'
 
-    def get_context_data(self, **kwargs):
-    #     # context = super(ArticleDetailView, self).get_context_data(**kwargs)
-    #     # if self.topic_parent:
-    #     #     context['topic_parent'] = self.topic_parent.all()[0]
-    #     # if self.department_parent:
-    #     #     context['department_parent'] =  self.department_parent.all()[0]
-        return context
+    def get_context_data(self, **kwargs):
+        article = self.get_object()
+        context = super(ArticleDetailView, self).get_context_data(**kwargs)
+        if article.department:
+            context['department_weaving_css_class'] = article.department.pages.first().weaving_css_class
+            context['department_name'] = article.department.name
+        return context
 
 
 class ArticleListView(SlugMixin, ListView):
 
     model = Article
     template_name='magazine/article/article_list.html'
-    context_object_name = 'article'
+    context_object_name = 'article'
 
     def get_context_data(self, **kwargs):
         context = super(ArticleListView, self).get_context_data(**kwargs)
diff --git a/app/organization/pages/migrations/0004_auto_20160825_1232.py b/app/organization/pages/migrations/0004_auto_20160825_1232.py
new file mode 100644 (file)
index 0000000..1f2453b
--- /dev/null
@@ -0,0 +1,20 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-08-25 10:32
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-pages', '0003_auto_20160824_1550'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='pageimage',
+            name='type',
+            field=models.CharField(choices=[('logo', 'logo'), ('slider', 'slider'), ('card', 'card'), ('page_slider', 'page slider')], max_length=64, verbose_name='type'),
+        ),
+    ]
index 0bd5118a9dc2618989e914b71d609c0110cc93bd..78f025e7319cd0b28d6cac883e8d343fe76f1339 100644 (file)
 {% endblock %}
 
 {% block body_class %}
-    {% if department_parent %}
-        pattern pattern-bg {{ department_parent.weaving_css_class }}
+    {% if department_weaving_css_class %}
+        pattern pattern-bg {{ department_weaving_css_class }}
     {% endif %}
 {% endblock %}
 
 {% block breadcrumb_menu %}
     {{ block.super }}
-
     <li class="breadcrumb__item active">{{ article.title }}</li>
 {% endblock %}
 
@@ -33,9 +32,9 @@
     <div class="tag tag--category">
         {% trans 'News' %}
     </div>
-    {% if article.keywords %}
+    {% if department_name %}
         <div class="tag dashed dashed--gray">
-          {{ article.keywords.first }}
+          {{ department_name }}
         </div>
     {% endif %}
 
index 133f0af84c3564127cceac66001ae447878d30dd..eec757d5c03c91b0b93a6c09970c46c1dd6f434d 100644 (file)
@@ -11,9 +11,9 @@
             <div class="tag tag--small tag--category">
                 {% trans 'News' %}
             </div>
-            {% if article.keywords %}
+            {% if article.department %}
             <div class="tag tag--small dashed dashed--gray">
-              {{ article.keywords.first }}
+              {{ article.department.name }}
             </div>
             {% endif %}
         </div>
index 5d46cf12cc27662ddf322decb987e19af2a0c695..f1dda04addbabd0f75d958ce331981ed86801b07 100644 (file)
@@ -14,3 +14,4 @@ django-extensions
 django-countries
 django-querysetsequence
 django-autocomplete-light
+ipython