Added Brand and Size fields to the Ordering Worksheet.
Also tweaked the template styles slightly, and added the ability to override the template via config.
This commit is contained in:
parent
d14b388b4b
commit
80eb558783
|
@ -5,6 +5,10 @@
|
||||||
<title>Ordering Worksheet : ${vendor.name}</title>
|
<title>Ordering Worksheet : ${vendor.name}</title>
|
||||||
<style type="text/css">
|
<style type="text/css">
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
margin: 10px 0px;
|
margin: 10px 0px;
|
||||||
|
@ -57,6 +61,11 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
td.code {
|
||||||
|
font-family: monospace;
|
||||||
|
font-size: 120%;
|
||||||
|
}
|
||||||
|
|
||||||
td.scratch_pad {
|
td.scratch_pad {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
}
|
}
|
||||||
|
@ -79,24 +88,28 @@
|
||||||
<table>
|
<table>
|
||||||
% for dept in sorted(costs, key=lambda x: x.name):
|
% for dept in sorted(costs, key=lambda x: x.name):
|
||||||
<tr>
|
<tr>
|
||||||
<th class="department" colspan="19">Department: ${dept.name} (${dept.number})</th>
|
<th class="department" colspan="21">Department: ${dept.name} (${dept.number})</th>
|
||||||
</tr>
|
</tr>
|
||||||
% for subdept in sorted(costs[dept], key=lambda x: x.name):
|
% for subdept in sorted(costs[dept], key=lambda x: x.name):
|
||||||
<tr>
|
<tr>
|
||||||
<th class="subdepartment" colspan="19">Subdepartment: ${subdept.name} (${subdept.number})</th>
|
<th class="subdepartment" colspan="21">Subdepartment: ${subdept.name} (${subdept.number})</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>UPC</th>
|
<th>UPC</th>
|
||||||
|
<th>Brand</th>
|
||||||
<th>Description</th>
|
<th>Description</th>
|
||||||
<th>Case Qty.</th>
|
<th>Size</th>
|
||||||
|
<th>Case</th>
|
||||||
<th>Vend. Code</th>
|
<th>Vend. Code</th>
|
||||||
<th>Preferred</th>
|
<th>Pref.</th>
|
||||||
<th colspan="14">Order Scratch Pad</th>
|
<th colspan="14">Order Scratch Pad</th>
|
||||||
</tr>
|
</tr>
|
||||||
% for cost in sorted(costs[dept][subdept], key=lambda x: x.product.description):
|
% for cost in sorted(costs[dept][subdept], key=lambda x: x.product.description):
|
||||||
<tr>
|
<tr>
|
||||||
<td class="upc">${get_upc(cost.product)}</td>
|
<td class="upc">${get_upc(cost.product)}</td>
|
||||||
|
<td class="brand">${cost.product.brand or ''}</td>
|
||||||
<td class="desc">${cost.product.description}</td>
|
<td class="desc">${cost.product.description}</td>
|
||||||
|
<td class="size">${cost.product.size or ''}</td>
|
||||||
<td class="case-qty">${cost.case_size} ${rattail.UNIT_OF_MEASURE.get(cost.product.unit_of_measure, '')}</td>
|
<td class="case-qty">${cost.case_size} ${rattail.UNIT_OF_MEASURE.get(cost.product.unit_of_measure, '')}</td>
|
||||||
<td class="code">${cost.code or ''}</td>
|
<td class="code">${cost.code or ''}</td>
|
||||||
<td class="preferred">${'X' if cost.preference == 1 else ''}</td>
|
<td class="preferred">${'X' if cost.preference == 1 else ''}</td>
|
||||||
|
@ -106,7 +119,7 @@
|
||||||
</tr>
|
</tr>
|
||||||
% endfor
|
% endfor
|
||||||
<tr>
|
<tr>
|
||||||
<td class="spacer" colspan="19">
|
<td class="spacer" colspan="21">
|
||||||
</tr>
|
</tr>
|
||||||
% endfor
|
% endfor
|
||||||
% endfor
|
% endfor
|
||||||
|
|
|
@ -14,6 +14,7 @@ from pyramid.response import Response
|
||||||
|
|
||||||
import edbob
|
import edbob
|
||||||
from edbob.pyramid import Session
|
from edbob.pyramid import Session
|
||||||
|
from edbob.files import resource_path
|
||||||
|
|
||||||
import rattail
|
import rattail
|
||||||
|
|
||||||
|
@ -83,7 +84,9 @@ def write_ordering_worksheet(vendor, departments):
|
||||||
rattail=rattail,
|
rattail=rattail,
|
||||||
)
|
)
|
||||||
|
|
||||||
report = os.path.join(os.path.dirname(__file__), os.pardir, 'reports', 'ordering_worksheet.mako')
|
report = resource_path('rattail.pyramid:reports/ordering_worksheet.mako')
|
||||||
|
report = edbob.config.get('rattail.pyramid', 'report.ordering_worksheet',
|
||||||
|
default=report)
|
||||||
report = os.path.abspath(report)
|
report = os.path.abspath(report)
|
||||||
template = Template(filename=report, disable_unicode=True)
|
template = Template(filename=report, disable_unicode=True)
|
||||||
return template.render(**data)
|
return template.render(**data)
|
||||||
|
|
Loading…
Reference in a new issue