]> git.parisson.com Git - mezzo.git/commitdiff
Fix EventVideo and EventAudio, rename VideoCategory to MediaCategory
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 29 Sep 2016 11:11:18 +0000 (13:11 +0200)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Thu, 29 Sep 2016 11:11:18 +0000 (13:11 +0200)
app/organization/agenda/admin.py
app/organization/agenda/migrations/0006_auto_20160929_1257.py [new file with mode: 0644]
app/organization/agenda/migrations/0007_auto_20160929_1300.py [new file with mode: 0644]
app/organization/agenda/models.py
app/organization/media/admin.py
app/organization/media/migrations/0002_auto_20160929_1310.py [new file with mode: 0644]
app/organization/media/models.py

index 01f53409dcb3d0db6541da6faff5bf78293b6685..34a77cf65e92abd3b23e8a10d3c0f94e87e264b8 100644 (file)
@@ -27,12 +27,12 @@ class EventImageInline(TabularDynamicInlineAdmin):
     model = EventImage
 
 
-class EventAudioInline(TabularDynamicInlineAdmin):
+class EventAudioInline(StackedDynamicInlineAdmin):
 
     model = EventAudio
 
 
-class EventVideoInline(TabularDynamicInlineAdmin):
+class EventVideoInline(StackedDynamicInlineAdmin):
 
     model = EventVideo
 
diff --git a/app/organization/agenda/migrations/0006_auto_20160929_1257.py b/app/organization/agenda/migrations/0006_auto_20160929_1257.py
new file mode 100644 (file)
index 0000000..6fa20ff
--- /dev/null
@@ -0,0 +1,101 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-29 10:57
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-media', '0001_initial'),
+        ('organization-agenda', '0005_auto_20160928_1858'),
+    ]
+
+    operations = [
+        migrations.AlterModelOptions(
+            name='eventaudio',
+            options={'verbose_name': 'audio', 'verbose_name_plural': 'audios'},
+        ),
+        migrations.AlterModelOptions(
+            name='eventvideo',
+            options={'verbose_name': 'video', 'verbose_name_plural': 'videos'},
+        ),
+        migrations.AddField(
+            model_name='eventaudio',
+            name='audio_ptr',
+            field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, serialize=False, to='organization-media.Audio'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='eventvideo',
+            name='video_ptr',
+            field=models.OneToOneField(auto_created=True, default=1, on_delete=django.db.models.deletion.CASCADE, parent_link=True, serialize=False, to='organization-media.Video'),
+            preserve_default=False,
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='_order',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='credits',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='description',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='file',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='id',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='title',
+        ),
+        migrations.RemoveField(
+            model_name='eventaudio',
+            name='type',
+        ),
+        migrations.AlterOrderWithRespectTo(
+            name='eventaudio',
+            order_with_respect_to='event',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='_order',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='credits',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='description',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='file',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='id',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='title',
+        ),
+        migrations.RemoveField(
+            model_name='eventvideo',
+            name='type',
+        ),
+        migrations.AlterOrderWithRespectTo(
+            name='eventvideo',
+            order_with_respect_to='event',
+        ),
+    ]
diff --git a/app/organization/agenda/migrations/0007_auto_20160929_1300.py b/app/organization/agenda/migrations/0007_auto_20160929_1300.py
new file mode 100644 (file)
index 0000000..dfae2d9
--- /dev/null
@@ -0,0 +1,26 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-29 11:00
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-agenda', '0006_auto_20160929_1257'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='eventaudio',
+            name='audio_ptr',
+            field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='organization-media.Audio'),
+        ),
+        migrations.AlterField(
+            model_name='eventvideo',
+            name='video_ptr',
+            field=models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='organization-media.Video'),
+        ),
+    ]
index cd090836bf40907bb84a674bada13d2b67c1b3d2..2ad946ea6c32a07427ceb9f1ab1a1ea62975b1e5 100644 (file)
@@ -56,7 +56,7 @@ class EventLink(Link):
         verbose_name_plural = _("links")
 
 
-class EventAudio(Image):
+class EventAudio(Audio):
 
     event = models.ForeignKey(Event, verbose_name=_('event'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
 
@@ -66,7 +66,7 @@ class EventAudio(Image):
         order_with_respect_to = "event"
 
 
-class EventVideo(Image):
+class EventVideo(Video):
 
     event = models.ForeignKey(Event, verbose_name=_('event'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
 
index a835c8afdcb0d2f90d6442a66a1c004d0049eed8..e1c3d0a417fddcee9e705ceaaeb5c7d219cc9493 100644 (file)
@@ -24,4 +24,4 @@ class PlaylistAdmin(admin.ModelAdmin):
 admin.site.register(Video, VideoAdmin)
 admin.site.register(Audio, AudioAdmin)
 admin.site.register(Playlist, PlaylistAdmin)
-admin.site.register(VideoCategory)
+admin.site.register(MediaCategory)
diff --git a/app/organization/media/migrations/0002_auto_20160929_1310.py b/app/organization/media/migrations/0002_auto_20160929_1310.py
new file mode 100644 (file)
index 0000000..9fef107
--- /dev/null
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.7 on 2016-09-29 11:10
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('organization-media', '0001_initial'),
+    ]
+
+    operations = [
+        migrations.RenameModel(
+            old_name='VideoCategory',
+            new_name='MediaCategory',
+        ),
+        migrations.AlterModelOptions(
+            name='mediacategory',
+            options={'verbose_name': 'media category', 'verbose_name_plural': 'media categories'},
+        ),
+        migrations.AddField(
+            model_name='audio',
+            name='category',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='audios', to='organization-media.MediaCategory', verbose_name='category'),
+        ),
+    ]
index c7dcb68ca0229ebd9ac741dee2621383b4888ef4..e7f95411dae12418c8282c983a652f2536d88a02 100644 (file)
@@ -58,12 +58,13 @@ class Audio(Media):
 
     open_source_mime_type = 'audio/ogg'
     closed_source_mime_type = 'audio/mp4'
+    category = models.ForeignKey('MediaCategory', verbose_name=_('category'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
 
     class Meta:
         verbose_name = _('audio')
 
     def get_absolute_url(self):
-        return reverse("festival-video-detail", kwargs={"slug": self.slug})
+        return reverse("festival-audio-detail", kwargs={"slug": self.slug})
 
 
 class Video(Media):
@@ -71,28 +72,27 @@ class Video(Media):
 
     open_source_mime_type = 'video/webm'
     closed_source_mime_type = 'video/mp4'
-    category = models.ForeignKey('VideoCategory', verbose_name=_('category'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
+    category = models.ForeignKey('MediaCategory', verbose_name=_('category'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
 
     class Meta:
         verbose_name = _('video')
 
-    @property
-    def html(self):
-        #TODO: get html content from medias.ircam.fr with request module
-        pass
-
     def get_absolute_url(self):
         return reverse("festival-video-detail", kwargs={"slug": self.slug})
 
 
-class VideoCategory(Slugged):
-    """Video Category"""
+class MediaCategory(Slugged):
+    """Media Category"""
 
     class Meta:
-        verbose_name = _('video category')
+        verbose_name = _('media category')
+        verbose_name_plural = _('media categories')
 
     def count(self):
-        return self.videos.published().count()+1
+        try:
+            return self.videos.published().count()+1
+        except:
+            return self.audios.published().count()+1
 
 
 class Playlist(Slugged):