Added admin attachment inline admin (basic)

This commit is contained in:
Felipe Martín 2016-03-21 23:00:13 +01:00
parent 6403802932
commit 66e883c8e5
2 changed files with 25 additions and 17 deletions

View File

@ -16,6 +16,24 @@ class EntryAdminForm(forms.ModelForm):
fields = ('title', 'slug', 'draft', 'date', 'tags', 'content')
#
# ATTACHMENT
#
class AttachmentAdmin(VersionAdmin):
list_display = ('filename', 'sha1', )
fields = ('file', )
def save_model(self, request, obj, form, change):
handler = form.cleaned_data.get('file')
Attachment.upload(handler, handler.name)
class EntryAttachmentInlineAdmin(admin.StackedInline):
model = Entry.attachments.through
admin.site.register(Attachment, AttachmentAdmin)
#
# ENTRY
#
@ -40,6 +58,10 @@ class EntryAdmin(VersionAdmin):
('content', _('Content')),
)
inlines = (
EntryAttachmentInlineAdmin,
)
fieldsets = [
('General', {
'classes': ('suit-tab suit-tab-general collapse',),
@ -52,8 +74,7 @@ class EntryAdmin(VersionAdmin):
('Markdown', {
'classes': ('suit-tab suit-tab-content full-width collapse',),
'fields': ('markdown', )
}),
})
]
def preview_link(self, obj):
@ -81,17 +102,3 @@ class TagAdmin(VersionAdmin):
pass
admin.site.register(Tag, TagAdmin)
#
# ATTACHMENT
#
class AttachmentAdmin(VersionAdmin):
list_display = ('filename', 'sha1', )
fields = ('file', )
def save_model(self, request, obj, form, change):
handler = form.cleaned_data.get('file')
Attachment.upload(handler, handler.name)
admin.site.register(Attachment, AttachmentAdmin)

View File

@ -38,7 +38,8 @@ class Entry(models.Model):
related_name='author'
)
tags = models.ManyToManyField('Tag', blank=True)
attachments = models.ManyToManyField('Attachment', blank=True)
attachments = models.ManyToManyField('Attachment', blank=True,
related_name='entries')
def __unicode__(self):
return self.title