From 16b68905556392e7c96f7bdfb64c71b71f5be654 Mon Sep 17 00:00:00 2001 From: Brandon King Date: Tue, 17 Mar 2009 21:56:01 +0000 Subject: [PATCH] Added ability to print container labels. --- samplebc/samples/urls.py | 2 ++ samplebc/samples/views.py | 24 +++++++++++++ templates/container_summary.html | 3 +- templates/zpl_container_label.txt | 58 +++++++++++++++++++++++++++++++ 4 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 templates/zpl_container_label.txt diff --git a/samplebc/samples/urls.py b/samplebc/samples/urls.py index 132f580..a435d29 100644 --- a/samplebc/samples/urls.py +++ b/samplebc/samples/urls.py @@ -17,6 +17,8 @@ urlpatterns = patterns('', 'samplebc.samples.views.container_add'), (r'^container/(?P[a-fA-F0-9]+)/edit/$', 'samplebc.samples.views.container_edit'), + (r'^container/(?P[a-fA-F0-9]+)/print/$', + 'samplebc.samples.views.container_print'), (r'^container/(?P[a-fA-F0-9]+)/$', 'samplebc.samples.views.container_summary'), diff --git a/samplebc/samples/views.py b/samplebc/samples/views.py index 32a69c0..161ca0d 100644 --- a/samplebc/samples/views.py +++ b/samplebc/samples/views.py @@ -200,6 +200,30 @@ def container_edit(request, container_id): }) +def container_print(request, container_id): + """ + prints a container label + """ + + try: + container = models.Container.objects.get(uuid=container_id) + except ObjectDoesNotExist: + return HttpResponse('Container (%s) does not exist!' % (container_id)) + + params = {} + params['line1'] = __center_line('', 10) + params['line2'] = __center_line('', 14) + params['line3'] = __center_line('%s' % (container.name[16:16+15]), 15) + params['container_name'] = __center_line(container.name[0:16], 16) + params['barcode'] = 'cntr|%s' % (container.uuid) + params['symbol'] = '' + + c = Context(params) + t = get_template('zpl_container_label.txt') + print_zpl(t.render(c)) + + return HttpResponse('print command for container %s sent.' % (container.uuid)) + ################################################ # Freezer diff --git a/templates/container_summary.html b/templates/container_summary.html index b3a8794..ccce461 100644 --- a/templates/container_summary.html +++ b/templates/container_summary.html @@ -1,6 +1,7 @@

Container Summary

-[ Edit ]
+[ Edit + | Print Label ]

Name: {{ container.name }}
diff --git a/templates/zpl_container_label.txt b/templates/zpl_container_label.txt new file mode 100644 index 0000000..61ba9b6 --- /dev/null +++ b/templates/zpl_container_label.txt @@ -0,0 +1,58 @@ +^FX========================= +^FX 1/2" Container Label +^FX========================= + +^XA +^FX------------------------- +^FX Container ID +^FX------------------------- +^FO105,167 +^CF0,24^FD{{ container_name }}^FS + +^FX------------------------- +^FX Content +^FX------------------------- + +^FX Line 1 (max_length=10) +^FO135,113 +^CF0,16^FD{{ line1 }}^FS + +^FX Line 2 (max_length=14) +^FO120,131 +^CF0,16^FD{{ line2 }}^FS + +^FX Line 3 (max_length=15) +^FO115,149 +^CF0,16^FD{{ line3 }}^FS + +^FX------------------------- +^FX Slot # +^FX +^FX (75 - (54 / 2)) / 2 == 24 +^FX x_center = (175 + 30 + 24) +^FX x = x_center - 24 + 4 +^FX y = x_center - 24 + 4 - (28/2) +^FX------------------------- +^FO209,195 +^CF0,28^FD{{ symbol }}^FS + +^FX------------------------- +^FX Circle - Temp +^FX------------------------- +^FX FO100,100 +^FX GC150,1^FS + +^FX------------------------- +^FX Datamatrix Barcode +^FX +^FX h=w=<#col>*3 +^FX upper_left_coords=(175-(w/2), 250-6-h) +^FX------------------------- +^FO148,188 +^BXN,3,200 +^FD{{ barcode }}^FS + +^FX------------------------- +^FX End Label +^FX------------------------- +^XZ -- 2.30.2