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.contrib import admin
|
||||||
|
from django.conf.urls import patterns
|
||||||
|
from django.template.response import TemplateResponse
|
||||||
|
|
||||||
import models
|
import models
|
||||||
|
|
||||||
class DocumentAdmin(admin.ModelAdmin):
|
class DocumentAdmin(admin.ModelAdmin):
|
||||||
|
@ -12,6 +15,16 @@ class PageAdmin(admin.ModelAdmin):
|
||||||
list_display = ['document', 'name', 'image', 'page_num']
|
list_display = ['document', 'name', 'image', 'page_num']
|
||||||
order_by = ['document', '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):
|
class FormFieldAdmin(admin.ModelAdmin):
|
||||||
list_display = ['name', 'page', 'fieldtype', 'page_number', 'pos_y']
|
list_display = ['name', 'page', 'fieldtype', 'page_number', 'pos_y']
|
||||||
|
|
|
@ -22,13 +22,17 @@ class Document(models.Model):
|
||||||
|
|
||||||
def process_pages(self):
|
def process_pages(self):
|
||||||
poppler_con = PopplerController(self.pdf.path)
|
poppler_con = PopplerController(self.pdf.path)
|
||||||
|
|
||||||
for page_num, image in enumerate(poppler_con.generate_page_images()):
|
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:
|
try:
|
||||||
page = self.page_set.get(page_num=page_num)
|
page = self.page_set.get(page_num=page_num)
|
||||||
except Page.DoesNotExist:
|
except Page.DoesNotExist:
|
||||||
page = Page(document=self,
|
page = Page(document=self,
|
||||||
page_num=page_num,
|
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(
|
page.image.save(
|
||||||
os.path.basename(self.pdf.path) + ('_page%03d.png' % page_num),
|
os.path.basename(self.pdf.path) + ('_page%03d.png' % page_num),
|
||||||
File(image)
|
File(image)
|
||||||
|
@ -49,6 +53,8 @@ class Page(models.Model):
|
||||||
name = models.CharField(max_length=64, blank=True)
|
name = models.CharField(max_length=64, blank=True)
|
||||||
image = models.ImageField(upload_to='pdfformfiller_page')
|
image = models.ImageField(upload_to='pdfformfiller_page')
|
||||||
page_num = models.SmallIntegerField()
|
page_num = models.SmallIntegerField()
|
||||||
|
width = models.FloatField()
|
||||||
|
height = models.FloatField()
|
||||||
|
|
||||||
def __unicode__(self):
|
def __unicode__(self):
|
||||||
return self.name
|
return self.name
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue