'samplebc.samples.views.freezer_add'),
(r'^freezer/(?P<freezer_id>[a-fA-F0-9]+)/edit/$',
'samplebc.samples.views.freezer_edit'),
+ (r'^freezer/(?P<freezer_id>[a-fA-F0-9]+)/print/$',
+ 'samplebc.samples.views.freezer_print'),
(r'^freezer/(?P<freezer_id>[a-fA-F0-9]+)/$',
'samplebc.samples.views.freezer_summary')
})
+def freezer_print(request, freezer_id):
+ """
+ prints a freezer label
+ """
+
+ try:
+ freezer = models.Freezer.objects.get(uuid=freezer_id)
+ except ObjectDoesNotExist:
+ return HttpResponse('Freezer (%s) does not exist!' % (freezer_id))
+
+ params = {}
+ params['line1'] = __center_line('', 10)
+ params['line2'] = __center_line('', 14)
+ params['line3'] = __center_line('Temp: %s C' % (freezer.temperature), 15)
+ params['freezer_name'] = __center_line(freezer.name, 16)
+ params['barcode'] = 'frzr|%s' % (freezer.uuid)
+ params['symbol'] = ''
+
+ c = Context(params)
+ t = get_template('zpl_freezer_label.txt')
+ print_zpl(t.render(c))
+
+ return HttpResponse('print command for freezer %s sent.' % (freezer.uuid))
################################################
# Samples
--- /dev/null
+^FX=========================
+^FX 1/2" Freezer Label
+^FX=========================
+
+^XA
+^FX-------------------------
+^FX Freezer ID
+^FX-------------------------
+^FO105,167
+^CF0,24^FD{{ freezer_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