Set up Enabled/Published as boolean properties.
This commit is contained in:
parent
0d346adee9
commit
4555de206a
2 changed files with 14 additions and 32 deletions
|
@ -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:
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in a new issue