diff --git a/savepointradio/radio/admin.py b/savepointradio/radio/admin.py index 5f0b5d4..022538e 100644 --- a/savepointradio/radio/admin.py +++ b/savepointradio/radio/admin.py @@ -16,7 +16,7 @@ class ArtistInline(admin.TabularInline): @admin.register(Album) class AlbumAdmin(admin.ModelAdmin): # Detail List display - list_display = ('title', 'is_enabled', 'is_published') + list_display = ('title', '_is_enabled', '_is_published') search_fields = ['title'] actions = ['publish_items'] @@ -36,12 +36,6 @@ class AlbumAdmin(admin.ModelAdmin): }) ) - def is_enabled(self, obj): - return not obj.disabled - - def is_published(self, obj): - return obj.is_published - def publish_items(self, request, queryset): rows_updated = queryset.update(published_date=timezone.now()) if rows_updated == 1: @@ -58,8 +52,8 @@ class ArtistAdmin(admin.ModelAdmin): list_display = ('first_name', 'alias', 'last_name', - 'is_enabled', - 'is_published') + '_is_enabled', + '_is_published') search_fields = ['first_name', 'alias', 'last_name'] actions = ['publish_items'] @@ -79,12 +73,6 @@ class ArtistAdmin(admin.ModelAdmin): }) ) - def is_enabled(self, obj): - return not obj.disabled - - def is_published(self, obj): - return obj.is_published - def publish_items(self, request, queryset): rows_updated = queryset.update(published_date=timezone.now()) if rows_updated == 1: @@ -98,7 +86,7 @@ class ArtistAdmin(admin.ModelAdmin): @admin.register(Game) class GameAdmin(admin.ModelAdmin): # Detail List display - list_display = ('title', 'is_enabled', 'is_published') + list_display = ('title', '_is_enabled', '_is_published') search_fields = ['title'] actions = ['publish_items'] @@ -118,12 +106,6 @@ class GameAdmin(admin.ModelAdmin): }) ) - def is_enabled(self, obj): - return not obj.disabled - - def is_published(self, obj): - return obj.is_published - def publish_items(self, request, queryset): rows_updated = queryset.update(published_date=timezone.now()) if rows_updated == 1: @@ -144,8 +126,8 @@ class SongAdmin(admin.ModelAdmin): list_display = ('title', 'game', 'artist_list', - 'is_enabled', - 'is_published') + '_is_enabled', + '_is_published') search_fields = ['title'] actions = ['publish_items'] @@ -187,12 +169,6 @@ class SongAdmin(admin.ModelAdmin): def artist_list(self, obj): return ', '.join([a.full_name for a in obj.artists.all()]) - def is_enabled(self, obj): - return not obj.disabled - - def is_published(self, obj): - return obj.is_published - def publish_items(self, request, queryset): rows_updated = queryset.update(published_date=timezone.now()) if rows_updated == 1: diff --git a/savepointradio/radio/behaviors.py b/savepointradio/radio/behaviors.py index ec51944..c269dd0 100644 --- a/savepointradio/radio/behaviors.py +++ b/savepointradio/radio/behaviors.py @@ -29,6 +29,11 @@ class Disableable(models.Model): self.disabled_reason = '' self.save() + def _is_enabled(self): + return not self.disabled + _is_enabled.boolean = True + is_enabled = property(_is_enabled) + class Publishable(models.Model): """ @@ -49,8 +54,9 @@ class Publishable(models.Model): self.published_date = date self.save() - @property - def is_published(self): + def _is_published(self): if self.published_date is not None: return self.published_date < timezone.now() return False + _is_published.boolean = True + is_published = property(_is_published)