diff --git a/addons/stock/report/picking_barcode.rml b/addons/stock/report/picking_barcode.rml
new file mode 100644
index 00000000000..60a9fef9778
--- /dev/null
+++ b/addons/stock/report/picking_barcode.rml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+ [[ packaging_id.product_id.ean13 ]]
+
+
+
diff --git a/addons/stock/static/src/js/widgets.js b/addons/stock/static/src/js/widgets.js
index e1c377d2ecc..1e075828acd 100644
--- a/addons/stock/static/src/js/widgets.js
+++ b/addons/stock/static/src/js/widgets.js
@@ -82,6 +82,7 @@ function openerp_picking_widgets(instance){
this.$('.js_pack_row').each(function(){
var pack_id = parseInt($(this).attr('pack-id'));
+ $('.js_pack_print', this).click(function(){ model.print_package(pack_id); });
$('.js_pack_plus', this).click(function(){ model.copy_package(pack_id); });
$('.js_pack_minus', this).click(function(){ model.delete_package(pack_id); });
$('.js_pack_select', this).click(function(){
@@ -229,7 +230,17 @@ function openerp_picking_widgets(instance){
.call('action_done_from_packing_ui',[self.picking.id])
.then(function(new_picking_id){
console.log('New picking id:',new_picking_id);
- //return self.refresh_ui(new_picking_id);
+ return self.refresh_ui(new_picking_id);
+ });
+ },
+ print_package: function(package_id){
+ var self = this;
+ console.log('Print Package:',package_id);
+ new instance.web.Model('stock.quant.package')
+ .call('action_print',[[package_id]])
+ .then(function(action){
+ console.log('Print Package Repport Action:',action);
+ return self.do_action(action);
});
},
copy_package: function(package_id){
diff --git a/addons/stock/static/src/xml/picking.xml b/addons/stock/static/src/xml/picking.xml
index c90d8a6e520..77215e20729 100644
--- a/addons/stock/static/src/xml/picking.xml
+++ b/addons/stock/static/src/xml/picking.xml
@@ -130,11 +130,12 @@
+
- | Package | | |
+ Package | | | |
@@ -142,8 +143,9 @@
| |
- copy |
- delete |
+ Print |
+ Copy |
+ Delete |
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index c697f696670..e5de04b0664 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -3847,6 +3847,10 @@ class stock_picking_out(osv.osv):
# -------------------------
# Packaging related stuff
# -------------------------
+
+from openerp.report import report_sxw
+report_sxw.report_sxw('report.stock.quant.package.barcode', 'stock.quant.package', 'addons/stock/report/picking_barcode.rml')
+
class stock_package(osv.osv):
"""
These are the packages, it replaces the stock.tracking and are applied on quants instead of on moves
@@ -3879,6 +3883,20 @@ class stock_package(osv.osv):
(_check_location, 'All quant inside a package should share the same location', ['location_id']),
]
+ def action_print(self, cr, uid, ids, context=None):
+ if context is None:
+ context = {}
+ datas = {
+ 'ids': context.get('active_id') and [context.get('active_id')] or ids,
+ 'model': 'stock.quant.package',
+ 'form': self.read(cr, uid, ids)[0]
+ }
+ return {
+ 'type': 'ir.actions.report.xml',
+ 'report_name': 'report.stock.quant.package.barcode',
+ 'datas': datas
+ }
+
def action_copy(self, cr, uid, ids, context=None):
quant_obj = self.pool.get('stock.quant')
stock_operation_obj = self.pool.get('stock.pack.operation')
diff --git a/addons/stock/stock_report.xml b/addons/stock/stock_report.xml
index 792f8b0b29d..1cd72b90a83 100644
--- a/addons/stock/stock_report.xml
+++ b/addons/stock/stock_report.xml
@@ -3,6 +3,7 @@
+
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index b4c6b220263..b2d48db901f 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -1434,6 +1434,14 @@
+
+ Stock picking
+ stock.ui
+ stock
+
+
+
+