Added admin preview skeleton
This commit is contained in:
parent
51fe3faf69
commit
0aed8549f7
2 changed files with 20 additions and 1 deletions
13
admin.py
13
admin.py
|
@ -1,4 +1,7 @@
|
|||
from django.contrib import admin
|
||||
from django.conf.urls import patterns
|
||||
from django.template.response import TemplateResponse
|
||||
|
||||
import models
|
||||
|
||||
class DocumentAdmin(admin.ModelAdmin):
|
||||
|
@ -12,6 +15,16 @@ 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']
|
||||
|
|
|
@ -22,13 +22,17 @@ class Document(models.Model):
|
|||
|
||||
def process_pages(self):
|
||||
poppler_con = PopplerController(self.pdf.path)
|
||||
|
||||
for page_num, image in enumerate(poppler_con.generate_page_images()):
|
||||
page_width, page_height = poppler_con.doc.get_page(page_num).get_size()
|
||||
try:
|
||||
page = self.page_set.get(page_num=page_num)
|
||||
except Page.DoesNotExist:
|
||||
page = Page(document=self,
|
||||
page_num=page_num,
|
||||
name=self.name + (' page %d' % page_num))
|
||||
name=self.name + (' page %d' % page_num),
|
||||
width=page_width,
|
||||
height=page_height)
|
||||
page.image.save(
|
||||
os.path.basename(self.pdf.path) + ('_page%03d.png' % page_num),
|
||||
File(image)
|
||||
|
@ -49,6 +53,8 @@ class Page(models.Model):
|
|||
name = models.CharField(max_length=64, blank=True)
|
||||
image = models.ImageField(upload_to='pdfformfiller_page')
|
||||
page_num = models.SmallIntegerField()
|
||||
width = models.FloatField()
|
||||
height = models.FloatField()
|
||||
|
||||
def __unicode__(self):
|
||||
return self.name
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue