django-pdfformfiller/admin.py

40 lines
1.2 KiB
Python

from django.contrib import admin
from django.conf.urls import patterns
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']
def get_urls(self):
urls = super(PageAdmin, self).get_urls()
my_urls = patterns('',
(r'^(?P<pk>.*)/preview/$', self.admin_site.admin_view(self.preview))
)
return my_urls + urls
def preview(self, request, pk):
return TemplateResponse(request, 'admin/pdfformfiller/page/preview.html', {})
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)