Add "exclude not for sale" option to Inventory Worksheet.
This commit is contained in:
parent
dfb5e83c7e
commit
a3cfbd1e09
|
@ -19,8 +19,12 @@ ${h.form(request.current_route_url())}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="field">
|
<div class="field-wrapper">
|
||||||
${h.checkbox('weighted-only', label=h.literal("Include items sold by weight <strong>only</strong>."))}
|
${h.checkbox('weighted-only', label="Only include items which are sold by weight.")}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="field-wrapper">
|
||||||
|
${h.checkbox('exclude-not-for-sale', label="Exclude items marked \"not for sale\".", checked=True)}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
#!/usr/bin/env python
|
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2012 Lance Edgar
|
# Copyright © 2010-2014 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
@ -26,6 +25,8 @@
|
||||||
Report Views
|
Report Views
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
import re
|
import re
|
||||||
|
|
||||||
from .core import View
|
from .core import View
|
||||||
|
@ -147,9 +148,9 @@ class InventoryWorksheet(View):
|
||||||
department = departments.get(self.request.params['department'])
|
department = departments.get(self.request.params['department'])
|
||||||
if department:
|
if department:
|
||||||
body = self.write_report(department)
|
body = self.write_report(department)
|
||||||
response = Response(content_type='text/html')
|
response = Response(content_type=b'text/html')
|
||||||
response.headers['Content-Length'] = len(body)
|
response.headers[b'Content-Length'] = len(body)
|
||||||
response.headers['Content-Disposition'] = 'attachment; filename=inventory.html'
|
response.headers[b'Content-Disposition'] = b'attachment; filename=inventory.html'
|
||||||
response.text = body
|
response.text = body
|
||||||
return response
|
return response
|
||||||
|
|
||||||
|
@ -168,6 +169,8 @@ class InventoryWorksheet(View):
|
||||||
q = q.filter(model.Product.subdepartment == subdepartment)
|
q = q.filter(model.Product.subdepartment == subdepartment)
|
||||||
if self.request.params.get('weighted-only'):
|
if self.request.params.get('weighted-only'):
|
||||||
q = q.filter(model.Product.unit_of_measure == enum.UNIT_OF_MEASURE_POUND)
|
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)
|
q = q.order_by(model.Brand.name, model.Product.description)
|
||||||
return q.all()
|
return q.all()
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue