from festival.models import *
-class FestivalEventInline(admin.StackedInline):
- model = FestivalEvent
- extra = 3
-
-
-class FestivalEventAdmin(EventAdmin):
-
- inlines = [FestivalEventInline, ]
-
-
class ArtistAdmin(admin.ModelAdmin):
model = Artist
fieldsets = deepcopy(ArtistAdmin.fieldsets)
-admin.site.unregister(Event)
-admin.site.register(Event, FestivalEventAdmin)
-admin.site.register(EventCategory)
admin.site.register(PageCategory)
-
admin.site.register(Artist, ArtistAdminDisplayable)
admin.site.register(Video, VideoAdminDisplayable)
--- /dev/null
+# -*- coding: utf-8 -*-
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('mezzanine_agenda', '0002_auto_20160224_1142'),
+ ('festival', '0006_auto_20160303_1442'),
+ ]
+
+ operations = [
+ migrations.RemoveField(
+ model_name='festivalevent',
+ name='artists',
+ ),
+ migrations.RemoveField(
+ model_name='festivalevent',
+ name='category',
+ ),
+ migrations.RemoveField(
+ model_name='festivalevent',
+ name='event',
+ ),
+ migrations.AddField(
+ model_name='artist',
+ name='events',
+ field=models.ManyToManyField(related_name='artists', verbose_name='events', to='mezzanine_agenda.Event', blank=True),
+ ),
+ migrations.DeleteModel(
+ name='EventCategory',
+ ),
+ migrations.DeleteModel(
+ name='FestivalEvent',
+ ),
+ ]
return self.title
-class FestivalEvent(models.Model):
- """Extensible event metadata"""
-
- event = models.ForeignKey(Event, related_name='festival_events', verbose_name=_('festival event'), blank=True, null=True, on_delete=models.SET_NULL)
- #eve_event = SpanningForeignKey(eve.models.EventVersion, related_name='festival_events', verbose_name=_('E-venement event'), blank=True, null=True, default=None)
- eve_event_id = models.IntegerField(_('eve id'), blank=True, null=True)
- category = models.ForeignKey('EventCategory', related_name='festival_events', verbose_name=_('category'), blank=True, null=True, on_delete=models.SET_NULL)
- artists = models.ManyToManyField('Artist', related_name='metaevents', verbose_name=_('artists'), blank=True)
- featured = models.BooleanField(_('featured'), default=False)
- featured_image = FileField(_('featured image'), upload_to='images/events', max_length=1024, blank=True, format="Image")
- featured_image_header = FileField(_('featured image header'), upload_to='images/events/headers', max_length=1024, blank=True, format="Image")
- featured_image_description = models.TextField(_('featured image description'), blank=True)
-
- class Meta(MetaCore):
- verbose_name = _('festival event')
- db_table = app_label + '_events'
-
- def __unicode__(self):
- return self.event.title
-
-
class Artist(Displayable, RichText, AdminThumbMixin):
"""Artist"""
featured = models.BooleanField(_('featured'), default=False)
photo_featured = FileField(_('photo featured'), upload_to='images/photos', max_length=1024, blank=True, format="Image")
photo_featured_credits = models.CharField(_('photo featured credits'), max_length=255, blank=True, null=True)
+ events = models.ManyToManyField(Event, related_name='artists', verbose_name=_('events'), blank=True)
search_fields = ("title", "bio")
return reverse("festival-video-detail", kwargs={"slug": self.slug})
-class EventCategory(BaseNameModel):
- """Event Category"""
-
- class Meta(MetaCore):
- verbose_name = _('event category')
-
-
class PageCategory(BaseNameModel):
"""Page Category"""
--- /dev/null
+<html>
+ <head>
+ <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script>
+ </head>
+<body>
+
+
+<audio id="audio" preload="auto" tabindex="0" controls="" >
+ <source id="primarysrc" src="http://www.archive.org/download/bolero_69/Bolero.mp3">
+ <source id="secondarysrc" src="http://www.archive.org/download/bolero_69/Bolero.ogg">
+ Your Fallback goes here
+</audio>
+
+
+<ul id="playlist">
+ <li class="active">
+ <a href="http://www.archive.org/download/bolero_69/Bolero.mp3" data-altsrc="http://www.archive.org/download/bolero_69/Bolero.ogg">
+ Ravel Bolero
+ </a>
+ </li>
+ <li>
+ <a href="http://www.archive.org/download/MoonlightSonata_755/Beethoven-MoonlightSonata.mp3" data-altsrc="http://www.archive.org/download/MoonlightSonata_755/Beethoven-MoonlightSonata.ogg">
+ Moonlight Sonata - Beethoven
+ </a>
+ </li>
+ <li>
+ <a href="http://www.archive.org/download/CanonInD_261/CanoninD.mp3" data-altsrc="http://www.archive.org/download/CanonInD_261/CanoninD.ogg">
+ Canon in D Pachabel
+ </a>
+ </li>
+ </ul>
+<script>
+var audio;
+var playlist;
+var tracks;
+var current;
+
+init();
+function init(){
+ current = 0;
+ audio = $('#audio');
+ playlist = $('#playlist');
+ tracks = playlist.find('li a');
+ len = tracks.length - 1;
+ audio[0].volume = .60;
+// audio[0].play();
+ playlist.find('a').click(function(e){
+ e.preventDefault();
+ link = $(this);
+ current = link.parent().index();
+ run(link, audio[0]);
+ });
+ audio[0].addEventListener('ended',function(e){
+ current++;
+ if(current == len){
+ current = 0;
+ link = playlist.find('a')[0];
+ }else{
+ link = playlist.find('a')[current];
+ }
+ run($(link),audio[0]);
+ });
+}
+function run(link, player){
+ $(player).find('#primarysrc').attr('src', link.attr('href'));
+ $(player).find('#secondarysrc').attr('src', link.attr('data-altsrc'));
+ par = link.parent();
+ par.addClass('active').siblings().removeClass('active');
+ player.load();
+ player.play();
+}
+</script>
+</body>
+</html>
--- /dev/null
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.2 on 2016-03-09 15:21
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import mezzanine.core.fields
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('mezzanine_agenda', '0002_auto_20160224_1142'),
+ ]
+
+ operations = [
+ migrations.CreateModel(
+ name='EventCategory',
+ fields=[
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+ ('name', models.CharField(max_length=512, verbose_name='name')),
+ ('description', models.TextField(blank=True, verbose_name='description')),
+ ],
+ options={
+ 'verbose_name_plural': 'Event categories',
+ 'verbose_name': 'Event category',
+ },
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='external_id',
+ field=models.IntegerField(blank=True, null=True, verbose_name='external_id'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='featured',
+ field=models.BooleanField(default=False, verbose_name='featured'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='featured_image_description',
+ field=models.TextField(blank=True, verbose_name='featured image description'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='featured_image_header',
+ field=mezzanine.core.fields.FileField(blank=True, max_length=1024, verbose_name='featured image header'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='parent',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='children', to='mezzanine_agenda.Event', verbose_name='parent'),
+ ),
+ migrations.AlterField(
+ model_name='event',
+ name='allow_comments',
+ field=models.BooleanField(default=False, verbose_name='Allow comments'),
+ ),
+ migrations.AddField(
+ model_name='event',
+ name='category',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='events', to='mezzanine_agenda.EventCategory', verbose_name='category'),
+ ),
+ ]
"generic.ThreadedComment", (_("Media Library"), "fb_browse"),)),
(_("Site"), ("sites.Site", "redirects.Redirect", "conf.Setting")),
(_("Users"), ("auth.User", "auth.Group",)),
- (_("Festival"), ("mezzanine_agenda.EventLocation", "festival.EventCategory", "PageCategory")),
+ (_("Festival"), ("mezzanine_agenda.EventLocation",
+ "mezzanine_agenda.EventCategory", "festival.PageCategory")),
)
SEARCH_MODEL_CHOICES = ()
fields = ('title', 'content')
-@register(FestivalEvent)
-class MetaEventTranslationOptions(TranslationOptions):
- pass
-
-
@register(Artist)
class ArtistTranslationOptions(TranslationOptions):
app:
command: /bin/sh deploy/start_app.sh --runserver
+ volumes:
+ - ./app/:/srv/app
+ - ./app/apps/mezzanine-agenda/:/srv/src/mezzanine-agenda
ports:
- "9010:8000"
- MYSQL_USER=manifeste
- MYSQL_PASSWORD=Onukifsid7
-# pgdb:
-# image: postgres
-# volumes:
-# - ./data/var/lib/postgresql/eve/data/:/var/lib/postgresql/data
-# volumes_from:
-# - data
-# environment:
-# - POSTGRES_PASSWORD=mysecretpassword
-# - POSTGRES_USER=postgres
-# - POSTGRES_DB=eve
-
app:
build: .
command: /bin/sh deploy/start_app.sh