django-pdfformfiller/admin.py
Mark Riedesel 440163e504 Misc: admin media, pdf search path
Admin preview view now includes javascript tags provided by media,
There are dependencies added for backbone and underscore in that
specific admin page.
2013-10-22 14:11:45 -04:00

50 lines
1.5 KiB
Python

from django.contrib import admin
from django.conf.urls import patterns, url
from django.template.response import TemplateResponse
import models
class DocumentAdmin(admin.ModelAdmin):
list_display = ['name', 'pdf', 'number_of_pages']
def number_of_pages(self, instance):
return instance.page_set.count()
class PageAdmin(admin.ModelAdmin):
list_display = ['document', 'name', 'image', 'page_num']
order_by = ['document', 'page_num']
class Media:
js = ("lib/underscore.js", "lib/backbone.js",)
def get_urls(self):
urls = super(PageAdmin, self).get_urls()
my_urls = patterns('',
url(r'^(?P<pk>.*)/preview/$', self.admin_site.admin_view(self.preview), name='preview')
)
return my_urls + urls
def preview(self, request, pk):
context = {}
context['page'] = models.Page.objects.get(pk=pk)
context['media'] = self.media
return TemplateResponse(request,
'admin/pdfformfiller/page/preview.html',
context
)
class FormFieldAdmin(admin.ModelAdmin):
list_display = ['name', 'page', 'fieldtype', 'page_number', 'pos_y']
ordering = ('page', 'page__page_num', '-pos_y')
def page_number(self, instance):
return instance.page.page_num
admin.site.register(models.Document, DocumentAdmin)
admin.site.register(models.Page, PageAdmin)
admin.site.register(models.FormField, FormFieldAdmin)