diff --git a/stock_picking_webkit/report.xml b/stock_picking_webkit/report.xml index 805014b..b6e7d7f 100644 --- a/stock_picking_webkit/report.xml +++ b/stock_picking_webkit/report.xml @@ -20,6 +20,15 @@ report_type="webkit" header="False" webkit_header="base_headers_webkit.base_minimum_reports_portrait_header" /> + diff --git a/stock_picking_webkit/report/delivery_slip.mako b/stock_picking_webkit/report/delivery_slip.mako new file mode 100644 index 0000000..1dd6925 --- /dev/null +++ b/stock_picking_webkit/report/delivery_slip.mako @@ -0,0 +1,53 @@ + + + + + + + <%page expression_filter="entity"/> + <% + def carriage_returns(text): + return text.replace('\n', '
') + %> + %for picking in objects: + <% setLang(picking.partner_id.lang) %> +
+ + %if picking.partner_id.parent_id: + + + <% address_lines = picking.partner_id.contact_address.split("\n")[1:] %> + %else: + + <% address_lines = picking.partner_id.contact_address.split("\n") %> + %endif + %for part in address_lines: + %if part: + + %endif + %endfor +
${picking.partner_id.parent_id.name or ''}
${picking.partner_id.title and picking.partner_id.title.name or ''} ${picking.partner_id.name }
${picking.partner_id.title and picking.partner_id.title.name or ''} ${picking.partner_id.name }
${part}
+
+ +

${_(u'Delivery Order') } ${picking.name}

+ + + + + + + + + + + + + + +
${_("Stock Journal")}${_("Origin")}${_("Scheduled Date")}${_('Weight')}
${picking.stock_journal_id and picking.stock_journal_id.name or ''}${picking.origin or ''}${formatLang(picking.min_date, date=True)}${picking.weight}
+ + %endfor + + diff --git a/stock_picking_webkit/report/stock_report.py b/stock_picking_webkit/report/stock_report.py index af5bd81..42f9004 100644 --- a/stock_picking_webkit/report/stock_report.py +++ b/stock_picking_webkit/report/stock_report.py @@ -21,6 +21,7 @@ import operator from report import report_sxw import pooler +import time class NullMove(object): """helper class to generate empty lines in the delivery report""" @@ -114,6 +115,13 @@ class PrintPick(report_sxw.rml_parse): objects.append(PickingAgregation(agr[0], agr[1], agreg[agr])) return super(PrintPick, self).set_context(objects, data, ids, report_type=report_type) +class DeliverySlip(report_sxw.rml_parse): + def __init__(self, cr, uid, name, context): + super(DeliverySlip, self).__init__(cr, uid, name, context=context) + self.localcontext.update({ + 'time': time, + }) + report_sxw.report_sxw('report.webkit.aggregated_picking', 'stock.picking', 'addons/stock_picking_webkit/report/picking.html.mako', @@ -123,3 +131,8 @@ report_sxw.report_sxw('report.webkit.aggregated_delivery', 'stock.picking', 'addons/stock_picking_webkit/report/delivery.html.mako', parser=PrintPick) + +report_sxw.report_sxw('report.webkit.delivery_slip', + 'stock.picking', + 'addons/stock_picking_webkit/report/delivery_slip.mako', + parser=DeliverySlip)