From 53ac302eabb1e6bd77734334e1dc7e0c367af3a5 Mon Sep 17 00:00:00 2001 From: Haresh Shyara Date: Thu, 23 Nov 2017 15:32:59 +0530 Subject: [PATCH 01/17] [REM] stock: removed stock_quant on traceability report --- addons/stock/models/stock_traceability.py | 67 +++---------------- .../js/stock_traceability_report_widgets.js | 2 - .../xml/stock_traceability_report_line.xml | 3 +- .../stock/views/report_stock_traceability.xml | 4 +- 4 files changed, 12 insertions(+), 64 deletions(-) diff --git a/addons/stock/models/stock_traceability.py b/addons/stock/models/stock_traceability.py index dfd920088a8..a8f5dc5699e 100644 --- a/addons/stock/models/stock_traceability.py +++ b/addons/stock/models/stock_traceability.py @@ -70,13 +70,11 @@ class MrpStockReport(models.TransientModel): model = False model_id = False level = 1 - parent_quant = False if kw: level = kw['level'] model = kw['model_name'] model_id = kw['model_id'] stream = kw['stream'] - parent_quant = kw['parent_quant'] res = [] if context.get('active_id') and not context.get('model') or context.get('model') == 'stock.production.lot': if stream == "downstream": @@ -86,15 +84,8 @@ class MrpStockReport(models.TransientModel): ('state', '=', 'done'), ('move_id.returned_move_ids', '=', False), ]) - res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, parent_quant=parent_quant, + res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, stream=stream, obj_ids=move_ids) - quant_ids = self.env['stock.quant'].search([ - ('lot_id', '=', context.get('active_id')), - ('quantity', '<', 0), - ('location_id.usage', '=', 'internal'), - ]) - res += self._lines(line_id, model_id=model_id, model='stock.quant', level=level, - parent_quant=parent_quant, stream=stream, obj_ids=quant_ids) else: move_ids = self.env['stock.move.line'].search([ ('lot_id', '=', context.get('active_id')), @@ -102,23 +93,16 @@ class MrpStockReport(models.TransientModel): ('state', '=', 'done'), ('move_id.returned_move_ids', '=', False), ]) - res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, parent_quant=parent_quant, + res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, stream=stream, obj_ids=move_ids) - quant_ids = self.env['stock.quant'].search([ - ('lot_id', '=', context.get('active_id')), - ('quantity', '>', 0), - ('location_id.usage', '=', 'internal'), - ]) - res += self._lines(line_id, model_id=model_id, model='stock.quant', level=level, - parent_quant=parent_quant, stream=stream, obj_ids=quant_ids) elif context.get('active_id') and context.get('model') == 'stock.picking': move_ids = self.env['stock.picking'].browse(context['active_id']).move_lines.mapped('move_line_ids').filtered(lambda m: m.lot_id and m.state == 'done') - res = self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, parent_quant=parent_quant, stream=stream, obj_ids=move_ids) + res = self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, stream=stream, obj_ids=move_ids) elif context.get('active_id') and context.get('model') == 'stock.move.line': move_line_ids = self.env['stock.move.line'].browse(context.get('active_id')) - res = self._lines(line_id, model_id=context.get('active_id'), model=context.get('model'), level=level, parent_quant=parent_quant, stream=stream, obj_ids=move_line_ids) + res = self._lines(line_id, model_id=context.get('active_id'), model=context.get('model'), level=level, stream=stream, obj_ids=move_line_ids) else: - res = self._lines(line_id, model_id=model_id, model=model, level=level, parent_quant=parent_quant, stream=stream) + res = self._lines(line_id, model_id=model_id, model=model, level=level, stream=stream) reverse_sort = True if stream == "downstream": reverse_sort = False @@ -179,35 +163,13 @@ class MrpStockReport(models.TransientModel): 'location': move_line.location_dest_id.name, 'stream': stream, 'reference_id': False}] - elif model == 'stock.quant': - data = [{ - 'level': level, - 'unfoldable': True, - 'date': move_line.write_date, - 'model_id': move_line.id, - 'parent_id': parent_id, - 'model': model or 'stock.quant', - 'product_id': move_line.product_id.display_name, - 'lot_id': move_line.lot_id.name, - 'product_qty_uom': str(move_line.quantity) + ' ' + move_line.product_id.uom_id.name, - 'location': move_line.location_id.name, - 'stream': stream, - 'reference_id': False}] return data @api.model - def upstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False, parent_quant=False): + def upstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False): final_vals =[] if model == 'stock.move.line': moves = self.get_move_lines_upstream(model_obj) - elif model == 'stock.quant': - moves = self.env['stock.move.line'].search([ - ('location_dest_id', '=', model_obj.location_id.id), - ('lot_id', '=', model_obj.lot_id.id), - ('date', '<=', model_obj.write_date), - ('state', '=', 'done'), - ]) - moves |= self.get_move_lines_upstream(moves) for move in moves: unfoldable = False if move.consume_line_ids: @@ -216,18 +178,10 @@ class MrpStockReport(models.TransientModel): return final_vals @api.model - def downstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False, parent_quant=False): + def downstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False): final_vals = [] if model == 'stock.move.line': moves = self.get_move_lines_downstream(model_obj) - elif model == 'stock.quant': - moves = self.env['stock.move.line'].search([ - ('location_id', '=', model_obj.location_id.id), - ('lot_id', '=', model_obj.lot_id.id), - ('date', '>=', model_obj.write_date), - ('state', '=', 'done'), - ]) - moves |= self.get_move_lines_downstream(moves) for move in moves: unfoldable = False if move.produce_line_ids: @@ -245,7 +199,6 @@ class MrpStockReport(models.TransientModel): 'model_id': data['model_id'], 'stream': data['stream'] or 'upstream', 'parent_id': data['parent_id'], - 'parent_quant': data.get('parent_quant', False), 'type': 'line', 'reference': data.get('reference_id', False), 'res_id': data.get('res_id', False), @@ -262,19 +215,19 @@ class MrpStockReport(models.TransientModel): return lines @api.model - def _lines(self, line_id=None, model_id=False, model=False, level=0, parent_quant=False, stream=False, obj_ids=[], **kw): + def _lines(self, line_id=None, model_id=False, model=False, level=0, stream=False, obj_ids=[], **kw): final_vals = [] if model and line_id: model_obj = self.env[model].browse(model_id) if stream == "downstream": - final_vals += self.downstream_traceability(level, stream='downstream', line_id=line_id, model=model, model_obj=model_obj, parent_quant=parent_quant) + final_vals += self.downstream_traceability(level, stream='downstream', line_id=line_id, model=model, model_obj=model_obj) if model == 'stock.move.line': if model_obj.produce_line_ids: final_vals += self.get_produced_or_consumed_vals(model_obj.produce_line_ids, level, model=model, stream=stream, parent_id=line_id) else: final_vals = self.make_dict_move(level, stream=stream, parent_id=line_id,move_line=model_obj) + final_vals else: - final_vals += self.upstream_traceability(level, stream='upstream', line_id=line_id, model=model, model_obj=model_obj, parent_quant=parent_quant) + final_vals += self.upstream_traceability(level, stream='upstream', line_id=line_id, model=model, model_obj=model_obj) if model == 'stock.move.line': if model_obj.consume_line_ids: final_vals += self.get_produced_or_consumed_vals(model_obj.consume_line_ids, level, model=model, stream=stream, parent_id=line_id) diff --git a/addons/stock/static/src/js/stock_traceability_report_widgets.js b/addons/stock/static/src/js/stock_traceability_report_widgets.js index c1abff89a56..ffc0b67cb40 100644 --- a/addons/stock/static/src/js/stock_traceability_report_widgets.js +++ b/addons/stock/static/src/js/stock_traceability_report_widgets.js @@ -84,7 +84,6 @@ var ReportWidget = Widget.extend({ var active_model_id = $CurretElement.data('model_id'); var row_level = $CurretElement.data('level'); var stream = $CurretElement.data('stream'); - var parent_quant = $CurretElement.data('parent_quant'); var $cursor = $(e.target).parents('tr'); this._rpc({ model: 'stock.traceability.report', @@ -94,7 +93,6 @@ var ReportWidget = Widget.extend({ 'model_id': active_model_id, 'model_name': active_model_name, 'stream': stream || 'upstream', - 'parent_quant': parseInt(parent_quant) || false, 'level': parseInt(row_level) + 30 || 1 }, }) diff --git a/addons/stock/static/src/xml/stock_traceability_report_line.xml b/addons/stock/static/src/xml/stock_traceability_report_line.xml index 53c0fd5a111..1a55f7088a1 100644 --- a/addons/stock/static/src/xml/stock_traceability_report_line.xml +++ b/addons/stock/static/src/xml/stock_traceability_report_line.xml @@ -13,7 +13,6 @@ - @@ -25,7 +24,7 @@ - + diff --git a/addons/stock/views/report_stock_traceability.xml b/addons/stock/views/report_stock_traceability.xml index 1260264e094..e18bf61d0b9 100644 --- a/addons/stock/views/report_stock_traceability.xml +++ b/addons/stock/views/report_stock_traceability.xml @@ -5,7 +5,6 @@ - @@ -17,7 +16,7 @@ - + @@ -98,7 +97,6 @@ - From 90333dc0a46153a82b78c681ae7e8c97d3378b6f Mon Sep 17 00:00:00 2001 From: Haresh Shyara Date: Thu, 23 Nov 2017 16:03:08 +0530 Subject: [PATCH 02/17] [IMP] stock: added and arrange some columns on traceability report --- addons/stock/models/stock_traceability.py | 31 ++++++++++++------- .../stock/views/report_stock_traceability.xml | 25 ++++++++------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/addons/stock/models/stock_traceability.py b/addons/stock/models/stock_traceability.py index a8f5dc5699e..8aa325329c0 100644 --- a/addons/stock/models/stock_traceability.py +++ b/addons/stock/models/stock_traceability.py @@ -140,7 +140,8 @@ class MrpStockReport(models.TransientModel): 'model':'stock.move.line', 'product_id': move_line.product_id.display_name, 'product_qty_uom': str(move_line.product_uom_id._compute_quantity(move_line.qty_done, move_line.product_id.uom_id, rounding_method='HALF-UP')) + ' ' + move_line.product_id.uom_id.name, - 'location': move_line.location_id.name + ' -> ' + move_line.location_dest_id.name, + 'location_source': move_line.location_id.name, + 'location_destination': move_line.location_dest_id.name, 'reference_id': ref, 'res_id': res_id, 'stream': stream, @@ -148,6 +149,7 @@ class MrpStockReport(models.TransientModel): return data def make_dict_head(self, level, parent_id, model=False, stream=False, move_line=False): + res_model, res_id, ref = self.get_links(move_line) data = [] if model == 'stock.move.line': data = [{ @@ -160,9 +162,12 @@ class MrpStockReport(models.TransientModel): 'product_id': move_line.product_id.display_name, 'lot_id': move_line.lot_id.name, 'product_qty_uom': str(move_line.product_uom_id._compute_quantity(move_line.qty_done, move_line.product_id.uom_id, rounding_method='HALF-UP')) + ' ' + move_line.product_id.uom_id.name, - 'location': move_line.location_dest_id.name, + 'location_source': move_line.location_id.name, + 'location_destination': move_line.location_dest_id.name, 'stream': stream, - 'reference_id': False}] + 'reference_id': ref, + 'res_id': res_id, + 'res_model': res_model}] return data @api.model @@ -204,11 +209,13 @@ class MrpStockReport(models.TransientModel): 'res_id': data.get('res_id', False), 'res_model': data.get('res_model', False), 'name': _(data.get('lot_id', False)), - 'columns': [data.get('reference_id', False) or data.get('product_id', False), - data.get('lot_id', False), + 'columns': [data.get('reference_id', False), + data.get('product_id', False), data.get('date', False), - data.get('product_qty_uom', 0), - data.get('location', False)], + data.get('lot_id', False), + data.get('location_source', False), + data.get('location_destination', False), + data.get('product_qty_uom', 0)], 'level': level, 'unfoldable': data['unfoldable'], }) @@ -264,11 +271,13 @@ class MrpStockReport(models.TransientModel): 'stream': "%s" % (data['stream']), 'type': 'line', 'name': _(data.get('lot_id')), - 'columns': [data.get('reference_id') or data.get('product_id'), - data.get('lot_id'), + 'columns': [data.get('reference_id'), + data.get('product_id'), data.get('date'), - data.get('product_qty_uom', 0), - data.get('location')], + data.get('lot_id'), + data.get('location_source', False), + data.get('location_destination', False), + data.get('product_qty_uom', 0)], 'level': data['level'], 'unfoldable': data['unfoldable'], }) diff --git a/addons/stock/views/report_stock_traceability.xml b/addons/stock/views/report_stock_traceability.xml index e18bf61d0b9..0deafb2d219 100644 --- a/addons/stock/views/report_stock_traceability.xml +++ b/addons/stock/views/report_stock_traceability.xml @@ -46,12 +46,13 @@ - - - - - - + + + + + + + @@ -84,11 +85,13 @@
PRODUCTLOT/SERIAL NUMBERDATEQUANTITYLOCATIONReferenceProductDateLot/Serial #FromToQuantity
- - - - - + + + + + + + From 5fcbc116f1262db8ba9ab02cecdf7dd58508da6c Mon Sep 17 00:00:00 2001 From: Haresh Shyara Date: Thu, 23 Nov 2017 17:56:06 +0530 Subject: [PATCH 03/17] [REM] stock: removed upstream and downstream traceability in report --- addons/stock/models/stock_traceability.py | 117 ++++-------------- .../js/stock_traceability_report_backend.js | 4 +- .../js/stock_traceability_report_widgets.js | 9 +- .../xml/stock_traceability_report_line.xml | 10 +- .../stock/views/report_stock_traceability.xml | 8 +- 5 files changed, 35 insertions(+), 113 deletions(-) diff --git a/addons/stock/models/stock_traceability.py b/addons/stock/models/stock_traceability.py index 8aa325329c0..b8d65304c10 100644 --- a/addons/stock/models/stock_traceability.py +++ b/addons/stock/models/stock_traceability.py @@ -20,7 +20,7 @@ class MrpStockReport(models.TransientModel): _name = 'stock.traceability.report' @api.model - def get_move_lines_upstream(self, move_lines): + def get_move_lines(self, move_lines): res = self.env['stock.move.line'] for move_line in move_lines: # if MTO @@ -38,35 +38,12 @@ class MrpStockReport(models.TransientModel): ('date', '<', move_line.date), ]) if res: - res |= self.get_move_lines_upstream(res) - return res - - @api.model - def get_move_lines_downstream(self, move_lines): - res = self.env['stock.move.line'] - for move_line in move_lines: - # if MTO - if move_line.move_id.move_dest_ids: - res |= move_line.move_id.move_dest_ids.mapped('move_line_ids').filtered( - lambda m: m.lot_id.id == move_line.lot_id.id) - # if MTS - else: - if move_line.location_dest_id.usage == 'internal': - res |= self.env['stock.move.line'].search([ - ('product_id', '=', move_line.product_id.id), - ('lot_id', '=', move_line.lot_id.id), - ('location_id', '=', move_line.location_dest_id.id), - ('id', '!=', move_line.id), - ('date', '>', move_line.date), - ]) - if res: - res |= self.get_move_lines_downstream(res) + res |= self.get_move_lines(res) return res @api.model def get_lines(self, line_id=None, **kw): context = dict(self.env.context) - stream = context.get('ttype') model = False model_id = False level = 1 @@ -74,39 +51,23 @@ class MrpStockReport(models.TransientModel): level = kw['level'] model = kw['model_name'] model_id = kw['model_id'] - stream = kw['stream'] res = [] if context.get('active_id') and not context.get('model') or context.get('model') == 'stock.production.lot': - if stream == "downstream": - move_ids = self.env['stock.move.line'].search([ - ('lot_id', '=', context.get('active_id')), - ('location_id.usage', '!=', 'internal'), - ('state', '=', 'done'), - ('move_id.returned_move_ids', '=', False), - ]) - res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, - stream=stream, obj_ids=move_ids) - else: - move_ids = self.env['stock.move.line'].search([ - ('lot_id', '=', context.get('active_id')), - ('location_dest_id.usage', '!=', 'internal'), - ('state', '=', 'done'), - ('move_id.returned_move_ids', '=', False), - ]) - res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, - stream=stream, obj_ids=move_ids) + move_ids = self.env['stock.move.line'].search([ + ('lot_id', '=', context.get('active_id')), + ('state', '=', 'done'), + ('move_id.returned_move_ids', '=', False), + ]) + res += self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, obj_ids=move_ids) elif context.get('active_id') and context.get('model') == 'stock.picking': move_ids = self.env['stock.picking'].browse(context['active_id']).move_lines.mapped('move_line_ids').filtered(lambda m: m.lot_id and m.state == 'done') - res = self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, stream=stream, obj_ids=move_ids) + res = self._lines(line_id, model_id=model_id, model='stock.move.line', level=level, obj_ids=move_ids) elif context.get('active_id') and context.get('model') == 'stock.move.line': move_line_ids = self.env['stock.move.line'].browse(context.get('active_id')) - res = self._lines(line_id, model_id=context.get('active_id'), model=context.get('model'), level=level, stream=stream, obj_ids=move_line_ids) + res = self._lines(line_id, model_id=context.get('active_id'), model=context.get('model'), level=level, obj_ids=move_line_ids) else: - res = self._lines(line_id, model_id=model_id, model=model, level=level, stream=stream) - reverse_sort = True - if stream == "downstream": - reverse_sort = False - final_vals = sorted(res, key=lambda v: v['date'], reverse=reverse_sort) + res = self._lines(line_id, model_id=model_id, model=model, level=level) + final_vals = sorted(res, key=lambda v: v['date'], reverse=True) lines = self.final_vals_to_lines(final_vals, level) return lines @@ -129,7 +90,7 @@ class MrpStockReport(models.TransientModel): ref = move_line.move_id.scrap_ids[0].name return res_model, res_id, ref - def make_dict_move(self, level, parent_id, move_line, stream=False, unfoldable=False): + def make_dict_move(self, level, parent_id, move_line, unfoldable=False): res_model, res_id, ref = self.get_links(move_line) data = [{ 'level': level, @@ -144,11 +105,10 @@ class MrpStockReport(models.TransientModel): 'location_destination': move_line.location_dest_id.name, 'reference_id': ref, 'res_id': res_id, - 'stream': stream, 'res_model': res_model}] return data - def make_dict_head(self, level, parent_id, model=False, stream=False, move_line=False): + def make_dict_head(self, level, parent_id, model=False, move_line=False): res_model, res_id, ref = self.get_links(move_line) data = [] if model == 'stock.move.line': @@ -164,34 +124,21 @@ class MrpStockReport(models.TransientModel): 'product_qty_uom': str(move_line.product_uom_id._compute_quantity(move_line.qty_done, move_line.product_id.uom_id, rounding_method='HALF-UP')) + ' ' + move_line.product_id.uom_id.name, 'location_source': move_line.location_id.name, 'location_destination': move_line.location_dest_id.name, - 'stream': stream, 'reference_id': ref, 'res_id': res_id, 'res_model': res_model}] return data @api.model - def upstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False): + def get_traceability(self, level, line_id=False, model=False, model_obj=False): final_vals =[] if model == 'stock.move.line': - moves = self.get_move_lines_upstream(model_obj) + moves = self.get_move_lines(model_obj) for move in moves: unfoldable = False if move.consume_line_ids: unfoldable = True - final_vals += self.make_dict_move(level, stream=stream, parent_id=line_id, move_line=move, unfoldable=unfoldable) - return final_vals - - @api.model - def downstream_traceability(self, level, stream=False, line_id=False, model=False, model_obj=False): - final_vals = [] - if model == 'stock.move.line': - moves = self.get_move_lines_downstream(model_obj) - for move in moves: - unfoldable = False - if move.produce_line_ids: - unfoldable = True - final_vals += self.make_dict_move(level, stream=stream, parent_id=line_id, move_line=move, unfoldable=unfoldable) + final_vals += self.make_dict_move(level, parent_id=line_id, move_line=move, unfoldable=unfoldable) return final_vals @api.model @@ -202,7 +149,6 @@ class MrpStockReport(models.TransientModel): 'id': autoIncrement(), 'model': data['model'], 'model_id': data['model_id'], - 'stream': data['stream'] or 'upstream', 'parent_id': data['parent_id'], 'type': 'line', 'reference': data.get('reference_id', False), @@ -222,34 +168,26 @@ class MrpStockReport(models.TransientModel): return lines @api.model - def _lines(self, line_id=None, model_id=False, model=False, level=0, stream=False, obj_ids=[], **kw): + def _lines(self, line_id=None, model_id=False, model=False, level=0, obj_ids=[], **kw): final_vals = [] if model and line_id: model_obj = self.env[model].browse(model_id) - if stream == "downstream": - final_vals += self.downstream_traceability(level, stream='downstream', line_id=line_id, model=model, model_obj=model_obj) - if model == 'stock.move.line': - if model_obj.produce_line_ids: - final_vals += self.get_produced_or_consumed_vals(model_obj.produce_line_ids, level, model=model, stream=stream, parent_id=line_id) - else: - final_vals = self.make_dict_move(level, stream=stream, parent_id=line_id,move_line=model_obj) + final_vals - else: - final_vals += self.upstream_traceability(level, stream='upstream', line_id=line_id, model=model, model_obj=model_obj) - if model == 'stock.move.line': - if model_obj.consume_line_ids: - final_vals += self.get_produced_or_consumed_vals(model_obj.consume_line_ids, level, model=model, stream=stream, parent_id=line_id) - else: - final_vals = self.make_dict_move(level, stream=stream, parent_id=line_id, move_line=model_obj) + final_vals + final_vals += self.get_traceability(level, line_id=line_id, model=model, model_obj=model_obj) + if model == 'stock.move.line': + if model_obj.consume_line_ids: + final_vals += self.get_produced_or_consumed_vals(model_obj.consume_line_ids, level, model=model, parent_id=line_id) + else: + final_vals = self.make_dict_move(level, parent_id=line_id, move_line=model_obj) + final_vals else: for move_line in obj_ids: - final_vals += self.make_dict_head(level, stream=stream, parent_id=line_id, model=model or 'stock.pack.operation', move_line=move_line) + final_vals += self.make_dict_head(level, parent_id=line_id, model=model or 'stock.pack.operation', move_line=move_line) return final_vals @api.model - def get_produced_or_consumed_vals(self, move_lines, level, model, stream, parent_id): + def get_produced_or_consumed_vals(self, move_lines, level, model, parent_id): final_vals = [] for line in move_lines: - final_vals += self.make_dict_head(level, model=model, stream=stream, parent_id=parent_id, move_line=line) + final_vals += self.make_dict_head(level, model=model, parent_id=parent_id, move_line=line) return final_vals def get_pdf_lines(self, line_data=[]): @@ -268,7 +206,6 @@ class MrpStockReport(models.TransientModel): 'model': data['model'], 'model_id': data['model_id'], 'parent_id': data['parent_id'], - 'stream': "%s" % (data['stream']), 'type': 'line', 'name': _(data.get('lot_id')), 'columns': [data.get('reference_id'), diff --git a/addons/stock/static/src/js/stock_traceability_report_backend.js b/addons/stock/static/src/js/stock_traceability_report_backend.js index d342742122c..962b0e57b1c 100644 --- a/addons/stock/static/src/js/stock_traceability_report_backend.js +++ b/addons/stock/static/src/js/stock_traceability_report_backend.js @@ -37,9 +37,7 @@ var stock_report_generic = Widget.extend(ControlPanelMixin, { } def.then(function () { self.report_widget.$el.html(self.html); - if(self.given_context['ttype'] == 'downstream'){ - self.report_widget.$el.find('.o_report_heading').html('

Downstream Traceability

'); - } + self.report_widget.$el.find('.o_report_heading').html('

Traceability Report

') }); }, start: function() { diff --git a/addons/stock/static/src/js/stock_traceability_report_widgets.js b/addons/stock/static/src/js/stock_traceability_report_widgets.js index ffc0b67cb40..031de5a5c99 100644 --- a/addons/stock/static/src/js/stock_traceability_report_widgets.js +++ b/addons/stock/static/src/js/stock_traceability_report_widgets.js @@ -32,12 +32,8 @@ var ReportWidget = Widget.extend({ }); }, updownStream: function(e) { - var stream = $(e.target).parent().data('stream'); var $el = $(e.target).parents('tr'); - var string = "Upstream Traceability" - if (stream == 'downstream') { - string = "Downstream Traceability" - } + var string = "Traceability Report" this.do_action({ type: "ir.actions.client", tag: 'stock_report_generic', @@ -45,7 +41,6 @@ var ReportWidget = Widget.extend({ context: { active_id : $el.data('model_id'), active_model : $el.data('model'), - ttype: stream || false, url: '/stock/output_format/stock/active_id' }, }); @@ -83,7 +78,6 @@ var ReportWidget = Widget.extend({ var active_model_name = $CurretElement.data('model'); var active_model_id = $CurretElement.data('model_id'); var row_level = $CurretElement.data('level'); - var stream = $CurretElement.data('stream'); var $cursor = $(e.target).parents('tr'); this._rpc({ model: 'stock.traceability.report', @@ -92,7 +86,6 @@ var ReportWidget = Widget.extend({ kwargs: { 'model_id': active_model_id, 'model_name': active_model_name, - 'stream': stream || 'upstream', 'level': parseInt(row_level) + 30 || 1 }, }) diff --git a/addons/stock/static/src/xml/stock_traceability_report_line.xml b/addons/stock/static/src/xml/stock_traceability_report_line.xml index 1a55f7088a1..845fb4ddf84 100644 --- a/addons/stock/static/src/xml/stock_traceability_report_line.xml +++ b/addons/stock/static/src/xml/stock_traceability_report_line.xml @@ -19,12 +19,12 @@ -
+ - - diff --git a/addons/stock/views/report_stock_traceability.xml b/addons/stock/views/report_stock_traceability.xml index 0deafb2d219..02a549efbfa 100644 --- a/addons/stock/views/report_stock_traceability.xml +++ b/addons/stock/views/report_stock_traceability.xml @@ -10,13 +10,13 @@ - + -
PRODUCTLOT/SERIAL NUMBERDATEQUANTITYLOCATIONReferenceProductDateLot/Serial #FromToQuantity
+ @@ -71,12 +71,6 @@ - - - - -
+ @@ -36,7 +36,7 @@