ADMIN_MENU_ORDER = (
(_('Pages'), ('pages.Page', 'organization-pages.Home')),
(_('Media'), ('organization-media.Video', 'organization-media.VideoCategory', 'organization-media.Audio', 'organization-media.Playlist', (_('Media Library'), 'fb_browse'),)),
- (_('Events'), ('mezzanine_agenda.Event', 'mezzanine_agenda.EventLocation', 'mezzanine_agenda.EventPrice',)),
+ (_('Events'), ('mezzanine_agenda.Event', 'mezzanine_agenda.EventLocation', 'mezzanine_agenda.EventPrice', 'mezzanine_agenda.EventCategory')),
(_('Magazine'), ('organization-magazine.Article', 'organization-magazine.Brief',)),
(_('Network'), ('organization-network.Organization', 'organization-network.Department', 'organization-network.Team', 'organization-network.Person', 'organization-network.Activity', 'organization-network.OrganizationType',)),
- (_('Projects'), ('organization-projects.Project',)),
+ (_('Projects'), ('organization-projects.Project','organization-projects.ProjectProgram', 'organization-projects.ProjectProgramType' )),
(_('Festival'), ('organization-festival.Artist',)),
(_('Users'), ('auth.User', 'auth.Group',)),
(_('Site'), ('sites.Site', 'redirects.Redirect', 'conf.Setting')),
model = EventImage
+class EventDepartmentInline(StackedDynamicInlineAdmin):
+
+ model = EventDepartment
+
+
class CustomEventAdmin(EventAdmin):
"""
Admin class for events.
list_display = ["title", "start", "end", "user", "status", "admin_link"]
if settings.EVENT_USE_FEATURED_IMAGE:
list_display.insert(0, "admin_thumb")
- list_filter = deepcopy(DisplayableAdmin.list_filter) + ("location",)
- inlines = [EventBlockInline, EventImageInline,]
+ list_filter = deepcopy(DisplayableAdmin.list_filter) + ("location", "category")
+ inlines = [EventBlockInline, EventImageInline, EventDepartmentInline]
def save_form(self, request, form, change):
"""
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-07 13:41
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organization-network', '0005_auto_20160905_1853'),
+ ('mezzanine_agenda', '0005_auto_20160907_1541'),
+ ('organization-agenda', '0001_initial'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='EventDepartment',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('department', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='events', to='organization-network.Department', verbose_name='department')),
+ ('event', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='departments', to='mezzanine_agenda.Event', verbose_name='event')),
+ ],
+ options={
+ 'verbose_name_plural': 'departments',
+ 'verbose_name': 'department',
+ },
+ ),
+ ]
from django.utils.translation import ugettext_lazy as _
-from mezzanine_agenda.models import Event
+from mezzanine_agenda.models import *
from organization.core.models import *
+from organization.network.models import *
class EventBlock(Block):
class Meta:
verbose_name = _("image")
verbose_name_plural = _("images")
+
+
+class EventDepartment(models.Model):
+
+ event = models.ForeignKey(Event, verbose_name=_('event'), related_name='departments', blank=True, null=True, on_delete=models.SET_NULL)
+ department = models.ForeignKey(Department, verbose_name=_('department'), related_name='events', blank=True, null=True, on_delete=models.SET_NULL)
+
+ class Meta:
+ verbose_name = _("department")
+ verbose_name_plural = _("departments")
class EventImageTranslationOptions(TranslationOptions):
fields = ()
+
+
+@register(EventDepartment)
+class EventDepartmentTranslationOptions(TranslationOptions):
+
+ fields = ()
+from __future__ import unicode_literals
+
+import django.views.i18n
+from django.conf.urls import patterns, include, url
+from django.conf.urls.i18n import i18n_patterns
+
+from mezzanine.core.views import direct_to_template
+from mezzanine.conf import settings
+
+from organization.core.views import *
+
+
+urlpatterns = [
+ url("^%s/" % settings.EVENT_SLUG, include("mezzanine_agenda.urls")),
+]
from organization.core.views import *
urlpatterns = [
- # url(r'^displayable/(?P<slug>.*)/$', CustomDisplayableView.as_view(), name="organization-displayable"),
]
fieldsets = deepcopy(ProjectAdmin.fieldsets)
inlines = [ ProjectBlockInline, ProjectImageInline, ProjectAudioInline, ProjectVideoInline, ProjectLinkInline]
- filter_horizontal = ['persons', 'teams', 'organizations']
+ filter_horizontal = ['teams', 'organizations']
list_filter = ['type', 'program', 'program_type', ]
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-07 08:46
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('organization-projects', '0004_auto_20160905_1853'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='project',
+ name='persons',
+ ),
+ migrations.AlterField(
+ model_name='project',
+ name='type',
+ field=models.CharField(choices=[('internal project', 'internal project'), ('external project', 'external project')], max_length=128, verbose_name='type'),
+ ),
+ ]
program = models.ForeignKey('ProjectProgram', verbose_name=_('project program'), related_name='projects', blank=True, null=True, on_delete=models.SET_NULL)
program_type = models.ForeignKey('ProjectProgramType', verbose_name=_('project program type'), related_name='projects', blank=True, null=True, on_delete=models.SET_NULL)
lead_team = models.ForeignKey('organization-network.Team', verbose_name=_('lead team'), related_name='leader_projects', blank=True, null=True)
- persons = models.ManyToManyField('organization-network.Person', verbose_name=_('persons'), blank=True)
teams = models.ManyToManyField('organization-network.Team', verbose_name=_('teams'), related_name='partner_projects', blank=True)
organizations = models.ManyToManyField('organization-network.Organization', verbose_name=_('organizations'), blank=True)
website = models.URLField(_('website'), max_length=512, blank=True)
class ProjectProgram(Named):
class Meta:
- verbose_name = _('project programme')
+ verbose_name = _('program')
class ProjectProgramType(Named):
class Meta:
- verbose_name = _('project programme type')
+ verbose_name = _('program type')
class ProjectAudio(Audio):
url("^", include('organization.media.urls')),
url("^", include('organization.projects.urls')),
url("^", include('organization.network.urls')),
+ url("^", include('organization.agenda.urls')),
]
# App urls
url("^", include('organization.urls')),
- url("^%s/" % settings.EVENT_SLUG, include("mezzanine_agenda.urls")),
url("^styles/$", direct_to_template, {"template": "styles.html"}, name="styles"),
# We don't want to presume how your homepage works, so here are a
-Subproject commit e097aa19ade48f0b03d3b9068a39a0c14d6695d9
+Subproject commit 07f1a336837a23c9901d23f6ac61e3b193f398d2