From: Guillaume Pellerin Date: Fri, 23 Sep 2016 14:36:01 +0000 (+0200) Subject: Add event person and link inlines X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=b519ccbcd163076ba93f99ebf44f1c8e4e0ef23d;p=mezzo.git Add event person and link inlines --- diff --git a/app/organization/agenda/admin.py b/app/organization/agenda/admin.py index b44b5dc2..d14e8b8d 100644 --- a/app/organization/agenda/admin.py +++ b/app/organization/agenda/admin.py @@ -32,6 +32,16 @@ class EventDepartmentInline(StackedDynamicInlineAdmin): model = EventDepartment +class EventPersonInline(StackedDynamicInlineAdmin): + + model = EventPerson + + +class EventLinkInline(StackedDynamicInlineAdmin): + + model = EventLink + + class CustomEventAdmin(EventAdmin): """ Admin class for events. @@ -43,7 +53,7 @@ class CustomEventAdmin(EventAdmin): if settings.EVENT_USE_FEATURED_IMAGE: list_display.insert(0, "admin_thumb") list_filter = deepcopy(DisplayableAdmin.list_filter) + ("location", "category") - inlines = [EventBlockInline, EventImageInline, EventDepartmentInline] + inlines = [EventBlockInline, EventImageInline, EventDepartmentInline, EventPersonInline, EventLinkInline] def save_form(self, request, form, change): """ diff --git a/app/organization/agenda/migrations/0003_eventlink_eventperson.py b/app/organization/agenda/migrations/0003_eventlink_eventperson.py new file mode 100644 index 00000000..35dde9bd --- /dev/null +++ b/app/organization/agenda/migrations/0003_eventlink_eventperson.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-09-23 14:34 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + dependencies = [ + ('mezzanine_agenda', '0007_auto_20160923_1634'), + ('organization-core', '0004_auto_20160923_1141'), + ('organization-network', '0023_auto_20160921_2043'), + ('organization-agenda', '0002_eventdepartment'), + ] + + operations = [ + migrations.CreateModel( + name='EventLink', + 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')), + ('event', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='links', to='mezzanine_agenda.Event', verbose_name='event')), + ('link_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='organization-core.LinkType', verbose_name='link type')), + ], + options={ + 'verbose_name_plural': 'links', + 'verbose_name': 'link', + }, + ), + migrations.CreateModel( + name='EventPerson', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('event', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='persons', to='mezzanine_agenda.Event', verbose_name='event')), + ('person', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='events', to='organization-network.Person', verbose_name='person')), + ], + options={ + 'verbose_name_plural': 'persons', + 'verbose_name': 'person', + }, + ), + ] diff --git a/app/organization/agenda/models.py b/app/organization/agenda/models.py index 521a0c3c..d62f1bdd 100644 --- a/app/organization/agenda/models.py +++ b/app/organization/agenda/models.py @@ -34,3 +34,22 @@ class EventDepartment(models.Model): class Meta: verbose_name = _("department") verbose_name_plural = _("departments") + + +class EventPerson(models.Model): + + event = models.ForeignKey(Event, verbose_name=_('event'), related_name='persons', blank=True, null=True, on_delete=models.SET_NULL) + person = models.ForeignKey(Person, verbose_name=_('person'), related_name='events', blank=True, null=True, on_delete=models.SET_NULL) + + class Meta: + verbose_name = _("person") + verbose_name_plural = _("persons") + + +class EventLink(Link): + + event = models.ForeignKey(Event, verbose_name=_('event'), related_name='links', blank=True, null=True, on_delete=models.SET_NULL) + + class Meta: + verbose_name = _("link") + verbose_name_plural = _("links") diff --git a/lib/mezzanine-agenda b/lib/mezzanine-agenda index 07f1a336..b17ba51f 160000 --- a/lib/mezzanine-agenda +++ b/lib/mezzanine-agenda @@ -1 +1 @@ -Subproject commit 07f1a336837a23c9901d23f6ac61e3b193f398d2 +Subproject commit b17ba51f9ed419e69ef0bc55586411a32435636e