Improved admin layout
This commit is contained in:
parent
56a471e9f9
commit
003e6b9702
|
@ -3,7 +3,7 @@ Django==1.6.2
|
|||
South==0.8.4
|
||||
|
||||
# Admin
|
||||
django-suit==0.2.6
|
||||
django-suit==0.2.8
|
||||
django-reversion==1.8.0
|
||||
django-solo==1.0.4
|
||||
|
||||
|
|
|
@ -24,6 +24,27 @@ class PublisherAdmin(reversion.VersionAdmin):
|
|||
prepopulated_fields = {"slug": ("name",)}
|
||||
actions = (mark_for_review, unmark_for_review, )
|
||||
|
||||
suit_form_tabs = (
|
||||
('general', _('General')),
|
||||
('review', _('Review')),
|
||||
('advanced', _('Advanced')),
|
||||
)
|
||||
|
||||
fieldsets = [
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-general',),
|
||||
'fields': ('name', 'slug', 'url')
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-review',),
|
||||
'fields': ('for_review', 'for_review_comment')
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-advanced',),
|
||||
'fields': ('hidden', )
|
||||
}),
|
||||
]
|
||||
|
||||
def series_count(self, obj):
|
||||
return obj.series.count()
|
||||
series_count.short_description = _('Series')
|
||||
|
@ -38,6 +59,33 @@ class SeriesAdmin(reversion.VersionAdmin):
|
|||
search_filters = ('hidden', )
|
||||
actions = (mark_for_review, unmark_for_review, )
|
||||
|
||||
suit_form_tabs = (
|
||||
('general', _('General')),
|
||||
('volumes', _('Volumes')),
|
||||
('review', _('Review')),
|
||||
('advanced', _('Advanced')),
|
||||
)
|
||||
|
||||
fieldsets = [
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-general',),
|
||||
'fields': ('name', 'slug', 'cover', 'summary', 'finished',
|
||||
'original_publisher', 'art', 'story', )
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-review',),
|
||||
'fields': ('for_review', 'for_review_comment')
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-advanced',),
|
||||
'fields': ('hidden', 'folder')
|
||||
}),
|
||||
]
|
||||
|
||||
suit_form_includes = (
|
||||
('_admin/manga/series/includes/volumes.html', 'top', 'volumes'),
|
||||
)
|
||||
|
||||
def volumes_count(self, obj):
|
||||
return obj.volumes.count()
|
||||
volumes_count.short_description = _('Volumes')
|
||||
|
@ -53,6 +101,29 @@ class VolumeAdmin(reversion.VersionAdmin):
|
|||
# list_editable = ('series', )
|
||||
actions = ('change_series', mark_for_review, unmark_for_review, )
|
||||
|
||||
suit_form_tabs = (
|
||||
('general', _('General')),
|
||||
('review', _('Review')),
|
||||
('advanced', _('Advanced')),
|
||||
)
|
||||
|
||||
fieldsets = [
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-general',),
|
||||
'fields': ('series', 'publisher', 'number', 'name', 'cover',
|
||||
'isbn_10', 'isbn_13', 'retail_price', 'pages',
|
||||
'release_date', )
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-review',),
|
||||
'fields': ('for_review', 'for_review_comment')
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-advanced',),
|
||||
'fields': ('hidden', )
|
||||
}),
|
||||
]
|
||||
|
||||
def change_series(self, request, queryset):
|
||||
selected = request.POST.getlist(admin.ACTION_CHECKBOX_NAME)
|
||||
return HttpResponseRedirect(
|
||||
|
@ -67,6 +138,25 @@ admin.site.register(Volume, VolumeAdmin)
|
|||
|
||||
|
||||
class PersonAdmin(reversion.VersionAdmin):
|
||||
pass
|
||||
suit_form_tabs = (
|
||||
('general', _('General')),
|
||||
('review', _('Review')),
|
||||
('advanced', _('Advanced')),
|
||||
)
|
||||
|
||||
fieldsets = [
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-general',),
|
||||
'fields': ('name', )
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-review',),
|
||||
'fields': ('for_review', 'for_review_comment')
|
||||
}),
|
||||
(None, {
|
||||
'classes': ('suit-tab suit-tab-advanced',),
|
||||
'fields': ('hidden', )
|
||||
}),
|
||||
]
|
||||
|
||||
admin.site.register(Person, PersonAdmin)
|
||||
|
|
|
@ -123,7 +123,10 @@ class Volume(Model):
|
|||
release_date = models.DateField(_('Release date'), null=True)
|
||||
|
||||
def __unicode__(self):
|
||||
return u'{} #{}'.format(self.series.name, self.number)
|
||||
if self.name:
|
||||
return u'{} {}'.format(self.series.name, self.name)
|
||||
else:
|
||||
return u'{} #{}'.format(self.series.name, self.number)
|
||||
|
||||
class Meta:
|
||||
ordering = ['series__name', 'number']
|
||||
|
|
|
@ -0,0 +1,18 @@
|
|||
{% load i18n %}
|
||||
<table class="table table-striped table-bordered table-hover table-condensed">
|
||||
<thead>
|
||||
<th> </th>
|
||||
<th>Publisher</th>
|
||||
<th>Admin</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
{% for volume in original.volumes.all %}
|
||||
<tr>
|
||||
<td>{{ volume }}</td>
|
||||
<td>{{ volume.publisher }}</td>
|
||||
<td><a href="/admin/manga/volume/{{ volume.pk }}/">{% trans "Edit" %}</a>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
Reference in New Issue