]> git.parisson.com Git - mezzo.git/commitdiff
Add team links, add organization.is_host (main org)
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 9 Nov 2016 11:28:18 +0000 (12:28 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 9 Nov 2016 11:28:18 +0000 (12:28 +0100)
app/organization/network/admin.py
app/organization/network/migrations/0058_auto_20161109_1218.py [new file with mode: 0644]
app/organization/network/models.py
app/organization/network/translation.py
app/templates/base.html

index f8198fc801c6821ee66886d3ec3478cbf57e29a4..fc183a48e1a9aa8769e179c6573fc67ae69dff47 100644 (file)
@@ -41,7 +41,8 @@ class OrganizationAdmin(BaseTranslationModelAdmin):
                 OrganizationBlockInline,
                 OrganizationLinkInline ]
     list_display = ['name', 'type', 'admin_thumb']
-    list_filter = ['name', 'is_on_map']
+    list_filter = ['is_on_map',]
+    search_fields = ['name',]
 
 
 class PageProductListInline(TabularDynamicInlineAdmin):
@@ -59,12 +60,18 @@ class DepartmentAdmin(BaseTranslationModelAdmin):
     model = Department
 
 
+class TeamLinkInline(StackedDynamicInlineAdmin):
+
+    model = TeamLink
+
+
 class TeamAdmin(BaseTranslationModelAdmin):
 
     model = Team
     search_fields = ['name', 'code']
     list_filter = ['department']
     list_display = ['name', 'department', 'code']
+    inlines = [TeamLinkInline,]
 
 
 class TeamPageAdmin(PageAdmin):
diff --git a/app/organization/network/migrations/0058_auto_20161109_1218.py b/app/organization/network/migrations/0058_auto_20161109_1218.py
new file mode 100644 (file)
index 0000000..ae96fa1
--- /dev/null
@@ -0,0 +1,37 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.10 on 2016-11-09 11:18
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-core', '0004_auto_20160923_1141'),
+        ('organization-network', '0057_auto_20161108_1807'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='TeamLink',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('url', models.URLField(blank=True, max_length=512, verbose_name='URL')),
+                ('title', models.CharField(blank=True, max_length=1024, null=True, verbose_name='title')),
+                ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')),
+                ('team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='organization-network.Team', verbose_name='team')),
+            ],
+            options={
+                'verbose_name_plural': 'links',
+                'abstract': False,
+                'verbose_name': 'link',
+            },
+        ),
+        migrations.AddField(
+            model_name='organization',
+            name='is_host',
+            field=models.BooleanField(default=False, verbose_name='is host'),
+        ),
+    ]
index 2cf94da9bccd90089329dda30579c6c4d95e304d..26626fce433140e1bc6cfeef074afa6f334c6581 100644 (file)
@@ -69,6 +69,7 @@ class Organization(Named, Address, URL, AdminThumbRelatedMixin):
     type = models.ForeignKey('OrganizationType', verbose_name=_('organization type'), blank=True, null=True, on_delete=models.SET_NULL)
     initials = models.CharField(_('initials'), max_length=128, blank=True, null=True)
     is_on_map = models.BooleanField(_('is on map'), default=False, blank=True)
+    is_host = models.BooleanField(_('is host'), default=False, blank=True)
 
     admin_thumb_type = 'logo'
 
@@ -210,6 +211,11 @@ class TeamPage(Page, SubTitled, RichText):
         verbose_name = _('team page')
 
 
+class TeamLink(Link):
+
+    team = models.ForeignKey(Team, verbose_name=_('team'), related_name='links', blank=True, null=True, on_delete=models.SET_NULL)
+
+
 class Person(Displayable, AdminThumbMixin):
     """(Person description)"""
 
index 20f8644a5a889670fd4311267b255f415d0fcfec..f7d3879ed62fdab6d460ac2f7435b6107a1eb2e1 100644 (file)
@@ -28,11 +28,17 @@ class TeamTranslationOptions(TranslationOptions):
 
 
 @register(TeamPage)
-class TeamTranslationOptions(TranslationOptions):
+class TeamPageTranslationOptions(TranslationOptions):
 
     fields = ('sub_title', 'content',)
 
 
+@register(TeamLink)
+class TeamLinkTranslationOptions(TranslationOptions):
+
+    fields = ()
+
+
 @register(Person)
 class PersonTranslationOptions(TranslationOptions):
 
index e507f0f77ba4807f6820d6b6ed01a9bafdd9c6bb..32f2eda15ed6b78f8d3d65db2d0f9b5d1d7cc383 100644 (file)
                                     <a class="footer__link" href="https://www.centrepompidou.fr/" target="_blank" title="Centre Pompidou">Centre Pompidou</a>
                                 </li>
                                 <li>
-                                    <a class="footer__link" href="http://www.bpi.fr/home.html" target="_blank" title="Bibliothèque Public d’Information">Bibliothèque Public d’Information</a>
+                                    <a class="footer__link" href="http://www.bpi.fr/home.html" target="_blank" title="Bibliothèque Publique d’Information">Bibliothèque Publique d’Information</a>
                                 </li>
                             </ul>
                         </div>