add meeting performance stuff
This commit is contained in:
parent
ddf7de3840
commit
c4720f02a1
|
@ -18,6 +18,10 @@ class DocumentInline(admin.StackedInline):
|
||||||
model = Document
|
model = Document
|
||||||
extra = 2
|
extra = 2
|
||||||
|
|
||||||
|
class MeetingPerformanceImageInline(admin.StackedInline):
|
||||||
|
model = MeetingPerformanceImage
|
||||||
|
extra = 3
|
||||||
|
|
||||||
class PadmaVideoAdmin(admin.ModelAdmin):
|
class PadmaVideoAdmin(admin.ModelAdmin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -44,6 +48,11 @@ class MeetingAdmin(admin.ModelAdmin):
|
||||||
prepopulated_fields = {"slug": ("title",)}
|
prepopulated_fields = {"slug": ("title",)}
|
||||||
save_on_top = True
|
save_on_top = True
|
||||||
|
|
||||||
|
class MeetingPerformanceAdmin(admin.ModelAdmin):
|
||||||
|
inlines = [MeetingPerformanceImageInline]
|
||||||
|
search_fields = ('title', 'synopsis',)
|
||||||
|
save_on_top = True
|
||||||
|
|
||||||
class ProjectAdmin(admin.ModelAdmin):
|
class ProjectAdmin(admin.ModelAdmin):
|
||||||
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
|
formfield_overrides = {models.TextField: {'widget': MarkItUpWidget}}
|
||||||
prepopulated_fields = {"slug": ("title",)}
|
prepopulated_fields = {"slug": ("title",)}
|
||||||
|
@ -100,4 +109,5 @@ admin.site.register(Session, SessionAdmin)
|
||||||
admin.site.register(Talk, TalkAdmin)
|
admin.site.register(Talk, TalkAdmin)
|
||||||
admin.site.register(Participant, ParticipantAdmin)
|
admin.site.register(Participant, ParticipantAdmin)
|
||||||
admin.site.register(Signup, SignupAdmin)
|
admin.site.register(Signup, SignupAdmin)
|
||||||
|
admin.site.register(MeetingPerformance, MeetingPerformanceAdmin)
|
||||||
admin.site.register(CommentCaptcha)
|
admin.site.register(CommentCaptcha)
|
||||||
|
|
|
@ -68,7 +68,7 @@ class Meeting(ItfModel):
|
||||||
meeting_data['images'] = Image.objects.filter(meeting=self)
|
meeting_data['images'] = Image.objects.filter(meeting=self)
|
||||||
meeting_data['sessions'] = Session.objects.filter(day__meeting=self).order_by("day").order_by("session_no")
|
meeting_data['sessions'] = Session.objects.filter(day__meeting=self).order_by("day").order_by("session_no")
|
||||||
meeting_data['documents'] = Document.objects.filter(meeting__id=meeting_id).exclude(talk__isnull=False)
|
meeting_data['documents'] = Document.objects.filter(meeting__id=meeting_id).exclude(talk__isnull=False)
|
||||||
|
meeting_data['performances'] = [p.get_dict() for p in MeetingPerformance.objects.filter(meeting_day__meeting=self)]
|
||||||
for s in meeting_data['sessions']:
|
for s in meeting_data['sessions']:
|
||||||
s.talks = Talk.objects.select_related('image', 'audio', 'document').filter(session__id=s.id)
|
s.talks = Talk.objects.select_related('image', 'audio', 'document').filter(session__id=s.id)
|
||||||
for t in s.talks:
|
for t in s.talks:
|
||||||
|
@ -150,6 +150,36 @@ class Session(models.Model):
|
||||||
'talks': [t.get_dict() for t in self.talk_set.all()]
|
'talks': [t.get_dict() for t in self.talk_set.all()]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class MeetingPerformance(models.Model):
|
||||||
|
title = models.CharField(max_length=512)
|
||||||
|
performed_by = models.CharField(max_length=512, blank=True)
|
||||||
|
synopsis = models.TextField(blank=True)
|
||||||
|
time = models.TimeField(null=True, blank=True)
|
||||||
|
meeting_day = models.ForeignKey("MeetingDay")
|
||||||
|
|
||||||
|
def get_dict(self):
|
||||||
|
return {
|
||||||
|
'title': self.title,
|
||||||
|
'performed_by': self.performed_by,
|
||||||
|
'synopsis': self.synopsis,
|
||||||
|
#'time': FIXME
|
||||||
|
'images': [i for i in MeetingPerformanceImage.objects.filter(performance=self)]
|
||||||
|
}
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.title
|
||||||
|
|
||||||
|
|
||||||
|
class MeetingPerformanceImage(models.Model):
|
||||||
|
performance = models.ForeignKey(MeetingPerformance)
|
||||||
|
image = models.ImageField(upload_to='upload/images/')
|
||||||
|
caption = models.CharField(max_length=512, blank=True)
|
||||||
|
|
||||||
|
def __unicode__(self):
|
||||||
|
return self.caption
|
||||||
|
|
||||||
|
|
||||||
class MeetingDay(models.Model):
|
class MeetingDay(models.Model):
|
||||||
meeting = models.ForeignKey('Meeting')
|
meeting = models.ForeignKey('Meeting')
|
||||||
meeting_date = models.DateField()
|
meeting_date = models.DateField()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user