From a81a65599af54eee44196036a6a261aaf5bfe6de Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Wed, 9 Nov 2016 12:28:18 +0100 Subject: [PATCH] Add team links, add organization.is_host (main org) --- app/organization/network/admin.py | 9 ++++- .../migrations/0058_auto_20161109_1218.py | 37 +++++++++++++++++++ app/organization/network/models.py | 6 +++ app/organization/network/translation.py | 8 +++- app/templates/base.html | 2 +- 5 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 app/organization/network/migrations/0058_auto_20161109_1218.py diff --git a/app/organization/network/admin.py b/app/organization/network/admin.py index f8198fc8..fc183a48 100644 --- a/app/organization/network/admin.py +++ b/app/organization/network/admin.py @@ -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 index 00000000..ae96fa15 --- /dev/null +++ b/app/organization/network/migrations/0058_auto_20161109_1218.py @@ -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'), + ), + ] diff --git a/app/organization/network/models.py b/app/organization/network/models.py index 2cf94da9..26626fce 100644 --- a/app/organization/network/models.py +++ b/app/organization/network/models.py @@ -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)""" diff --git a/app/organization/network/translation.py b/app/organization/network/translation.py index 20f8644a..f7d3879e 100644 --- a/app/organization/network/translation.py +++ b/app/organization/network/translation.py @@ -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): diff --git a/app/templates/base.html b/app/templates/base.html index e507f0f7..32f2eda1 100644 --- a/app/templates/base.html +++ b/app/templates/base.html @@ -192,7 +192,7 @@ Centre Pompidou
  • - Bibliothèque Public d’Information + Bibliothèque Publique d’Information
  • -- 2.39.5