order_with_respect_to = "article"
- class ArticleAudio(Audio):
+ class ArticlePlaylist(PlaylistRelated):
- article = models.ForeignKey(Article, verbose_name=_('article'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
-
- class Meta:
- verbose_name = Audio._meta.verbose_name
- verbose_name_plural = Audio._meta.verbose_name_plural
-
-
- class ArticleVideo(Video):
-
- article = models.ForeignKey(Article, verbose_name=_('article'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
+ article = models.ForeignKey(Article, verbose_name=_('article'), related_name='playlists', blank=True, null=True, on_delete=models.SET_NULL)
+ class Meta:
+ verbose_name = Video._meta.verbose_name
+ verbose_name_plural = Video._meta.verbose_name_plural
+
-class Brief(Displayable, RichText): #Orderable
+class Brief(Displayable, RichText):
text_button = models.CharField(blank=True, max_length=150, null=False, verbose_name=_('text button'))
external_content = models.URLField(blank=True, max_length=1000, null=False, verbose_name=_('external content'))
class Media(Displayable):
"""Media"""
- media_id = models.CharField(_('media id'), max_length=128)
- open_source_url = models.URLField(_('open source URL'), max_length=1024, blank=True)
- closed_source_url = models.URLField(_('closed source URL'), max_length=1024, blank=True)
+ external_id = models.CharField(_('media id'), max_length=128)
poster_url = models.URLField(_('poster'), max_length=1024, blank=True)
- created_at = models.DateTimeField(auto_now=True)
+ category = models.ForeignKey('MediaCategory', verbose_name=_('category'), related_name='medias', blank=True, null=True, on_delete=models.SET_NULL)
# objects = SearchableManager()
- search_fields = ("title",)
+ # search_fields = ("title",)
class Meta:
- abstract = True
+ verbose_name = "media"
+ verbose_name_plural = "medias"
+ ordering = ('created',)
- def __unicode__(self):
+ def __str__(self):
return self.title
+ def get_absolute_url(self):
+ return reverse("organization-media-detail", kwargs={"slug": self.slug})
+
@property
def uri(self):
- return MEDIA_BASE_URL + self.media_id
+ return MEDIA_BASE_URL + self.external_id
def get_html(self):
+ print(self.uri)
r = requests.get(self.uri)
return r.content
super(Organization, self).save()
- class OrganizationAudio(Audio):
+ class OrganizationPlaylist(PlaylistRelated):
- organization = models.ForeignKey(Organization, verbose_name=_('organization'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
-
- class Meta:
- verbose_name = Audio._meta.verbose_name
- verbose_name_plural = Audio._meta.verbose_name_plural
-
-
- class OrganizationVideo(Video):
-
- organization = models.ForeignKey(Organization, verbose_name=_('organization'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
+ organization = models.ForeignKey(Organization, verbose_name=_('organization'), related_name='playlists', blank=True, null=True, on_delete=models.SET_NULL)
+ class Meta:
+ verbose_name = Video._meta.verbose_name
+ verbose_name_plural = Video._meta.verbose_name_plural
+
class OrganizationLink(Link):
super(Person, self).save(*args, **kwargs)
- class PersonAudio(Audio):
-
- person = models.ForeignKey(Person, verbose_name=_('person'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
-
- class Meta:
- verbose_name = Audio._meta.verbose_name
- verbose_name_plural = Audio._meta.verbose_name_plural
-
-
- class PersonVideo(Video):
+ class PersonPlaylist(PlaylistRelated):
- person = models.ForeignKey(Person, verbose_name=_('person'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
+ person = models.ForeignKey(Person, verbose_name=_('person'), related_name='playlists', blank=True, null=True, on_delete=models.SET_NULL)
+ class Meta:
+ verbose_name = Video._meta.verbose_name
+ verbose_name_plural = Video._meta.verbose_name_plural
+
class PersonLink(Link):
ordering = ['name',]
- class ProjectAudio(Audio):
+ class ProjectPlaylist(PlaylistRelated):
- project = models.ForeignKey(Project, verbose_name=_('project'), related_name='audios', blank=True, null=True, on_delete=models.SET_NULL)
-
- class Meta:
- verbose_name = Audio._meta.verbose_name
- verbose_name_plural = Audio._meta.verbose_name_plural
-
-
- class ProjectVideo(Video):
-
- project = models.ForeignKey(Project, verbose_name=_('project'), related_name='videos', blank=True, null=True, on_delete=models.SET_NULL)
+ project = models.ForeignKey(Project, verbose_name=_('project'), related_name='playlists', blank=True, null=True, on_delete=models.SET_NULL)
+ class Meta:
+ verbose_name = Video._meta.verbose_name
+ verbose_name_plural = Video._meta.verbose_name_plural
+
class ProjectLink(Link):