diff --git a/tailbone/templates/reports/inventory.mako b/tailbone/templates/reports/inventory.mako
index 3d3b5bd3..b8148bb1 100644
--- a/tailbone/templates/reports/inventory.mako
+++ b/tailbone/templates/reports/inventory.mako
@@ -19,8 +19,12 @@ ${h.form(request.current_route_url())}
-
- ${h.checkbox('weighted-only', label=h.literal("Include items sold by weight
only."))}
+
+ ${h.checkbox('weighted-only', label="Only include items which are sold by weight.")}
+
+
+
+ ${h.checkbox('exclude-not-for-sale', label="Exclude items marked \"not for sale\".", checked=True)}
diff --git a/tailbone/views/reports.py b/tailbone/views/reports.py
index ccad2e39..a65a8753 100644
--- a/tailbone/views/reports.py
+++ b/tailbone/views/reports.py
@@ -1,9 +1,8 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
################################################################################
#
# Rattail -- Retail Software Framework
-# Copyright © 2010-2012 Lance Edgar
+# Copyright © 2010-2014 Lance Edgar
#
# This file is part of Rattail.
#
@@ -26,6 +25,8 @@
Report Views
"""
+from __future__ import unicode_literals
+
import re
from .core import View
@@ -147,9 +148,9 @@ class InventoryWorksheet(View):
department = departments.get(self.request.params['department'])
if department:
body = self.write_report(department)
- response = Response(content_type='text/html')
- response.headers['Content-Length'] = len(body)
- response.headers['Content-Disposition'] = 'attachment; filename=inventory.html'
+ response = Response(content_type=b'text/html')
+ response.headers[b'Content-Length'] = len(body)
+ response.headers[b'Content-Disposition'] = b'attachment; filename=inventory.html'
response.text = body
return response
@@ -168,6 +169,8 @@ class InventoryWorksheet(View):
q = q.filter(model.Product.subdepartment == subdepartment)
if self.request.params.get('weighted-only'):
q = q.filter(model.Product.unit_of_measure == enum.UNIT_OF_MEASURE_POUND)
+ if self.request.params.get('exclude-not-for-sale'):
+ q = q.filter(model.Product.not_for_sale == False)
q = q.order_by(model.Brand.name, model.Product.description)
return q.all()