]> git.parisson.com Git - mezzo.git/commitdiff
Add EventDeprtment link, cleanup and new admin entries
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 7 Sep 2016 14:01:10 +0000 (16:01 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Wed, 7 Sep 2016 14:01:10 +0000 (16:01 +0200)
13 files changed:
app/local_settings.py
app/organization/agenda/admin.py
app/organization/agenda/migrations/0002_eventdepartment.py [new file with mode: 0644]
app/organization/agenda/models.py
app/organization/agenda/translation.py
app/organization/agenda/urls.py
app/organization/core/urls.py
app/organization/projects/admin.py
app/organization/projects/migrations/0005_auto_20160907_1046.py [new file with mode: 0644]
app/organization/projects/models.py
app/organization/urls.py
app/urls.py
lib/mezzanine-agenda

index f76f7949c1ad37dcdf2037e98b26424f948468ec..923489316603e2e283067a3dd7574a233d666ee5 100644 (file)
@@ -71,10 +71,10 @@ SILENCED_SYSTEM_CHECKS = ['fields.W342',]
 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')),
index 5e1793ae76a719c97fd0213157b3bc4f38c49868..b44b5dc2f355f4468be8011dd2845a9d6938801e 100644 (file)
@@ -27,6 +27,11 @@ class EventImageInline(TabularDynamicInlineAdmin):
     model = EventImage
 
 
+class EventDepartmentInline(StackedDynamicInlineAdmin):
+
+    model = EventDepartment
+
+
 class CustomEventAdmin(EventAdmin):
     """
     Admin class for events.
@@ -37,8 +42,8 @@ class CustomEventAdmin(EventAdmin):
     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):
         """
diff --git a/app/organization/agenda/migrations/0002_eventdepartment.py b/app/organization/agenda/migrations/0002_eventdepartment.py
new file mode 100644 (file)
index 0000000..14eb8a8
--- /dev/null
@@ -0,0 +1,30 @@
+# -*- 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',
+            },
+        ),
+    ]
index 573c7391a82e0d8652a7007751de921e75b3b1db..521a0c3ca543ad37d6400eae31b5befb05dcf344 100644 (file)
@@ -3,8 +3,9 @@ from future.builtins import str
 
 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):
@@ -23,3 +24,13 @@ class EventImage(Image):
     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")
index dfc2c6fb7eaceefc00be7109c1c1ba78cefd81dc..2fd9ebc5e6cac337f56888c1f090c06a3a20ecc6 100644 (file)
@@ -13,3 +13,9 @@ class EventBlockTranslationOptions(TranslationOptions):
 class EventImageTranslationOptions(TranslationOptions):
 
     fields = ()
+
+
+@register(EventDepartment)
+class EventDepartmentTranslationOptions(TranslationOptions):
+
+    fields = ()
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1caa128395db7af95914ea4d5f2801e1f14b08ca 100644 (file)
@@ -0,0 +1,15 @@
+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")),
+]
index 6755ae672cf28b145e44d2c7fb41975acd65956c..804c46cc64edba3f9a7b9ad6e11c6ade17cbf5ad 100644 (file)
@@ -10,5 +10,4 @@ from mezzanine.conf import settings
 from organization.core.views import *
 
 urlpatterns = [
-    # url(r'^displayable/(?P<slug>.*)/$', CustomDisplayableView.as_view(), name="organization-displayable"),
 ]
index ada735ba1a5b2d1990216e888dcc3c035d8473d4..3ba01b2ef562c05cf9f658265e252c9959c6551a 100644 (file)
@@ -44,7 +44,7 @@ class ProjectAdminDisplayable(DisplayableAdmin):
 
     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', ]
 
 
diff --git a/app/organization/projects/migrations/0005_auto_20160907_1046.py b/app/organization/projects/migrations/0005_auto_20160907_1046.py
new file mode 100644 (file)
index 0000000..ddf2435
--- /dev/null
@@ -0,0 +1,24 @@
+# -*- 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'),
+        ),
+    ]
index cf658b06171e4c368f06cb23c73ce3db487ffd12..ae0fc91fd319361ce4a4d9f77c1a413e8748a830 100644 (file)
@@ -21,7 +21,6 @@ class Project(Displayable, Period, RichText):
     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)
@@ -39,13 +38,13 @@ class Project(Displayable, Period, RichText):
 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):
index af32080298fdd45899c4e816a3a43e58aea4436d..beed0ac18254f79e20ad1ba451db031669f039be 100644 (file)
@@ -19,4 +19,5 @@ urlpatterns = [
     url("^", include('organization.media.urls')),
     url("^", include('organization.projects.urls')),
     url("^", include('organization.network.urls')),
+    url("^", include('organization.agenda.urls')),
 ]
index 6e0a5d17c4016a6d8e890c3f3b5a1b3c53c7ad71..5ade0f915e878f29bf6646cdbc76f7cc3173f8d5 100644 (file)
@@ -30,7 +30,6 @@ urlpatterns += [
     # 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
index e097aa19ade48f0b03d3b9068a39a0c14d6695d9..07f1a336837a23c9901d23f6ac61e3b193f398d2 160000 (submodule)
@@ -1 +1 @@
-Subproject commit e097aa19ade48f0b03d3b9068a39a0c14d6695d9
+Subproject commit 07f1a336837a23c9901d23f6ac61e3b193f398d2