model = EventDepartment
+class EventPersonInline(StackedDynamicInlineAdmin):
+
+ model = EventPerson
+
+
+class EventLinkInline(StackedDynamicInlineAdmin):
+
+ model = EventLink
+
+
class CustomEventAdmin(EventAdmin):
"""
Admin class for events.
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):
"""
--- /dev/null
+# -*- 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',
+ },
+ ),
+ ]
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")