Skip to Content
Menu
This question has been flagged
3605 Views

the widget was work correctly on odoo 12 but in odoo 13 the button where fire the widget dont give any action and after trace error i found thet the init function is fired correctly but start function not work

 iremoved part of the code which have events

odoo.define("stock_scan_frontend.action_start_scanning", function(require) {
console.log("begin");
"use strict";
var core = require("web.core");
var Widget = require("web.Widget");
var _t = core._t;
var QWeb = core.qweb;
var rpc = require('web.rpc');

var ScanningModel = Backbone.Model.extend({
initialize: function (session, attributes) {
console.log("1");

var self = this;
this.active_id = this.get_stock_id();
this.ready = this.load_stock_data();
this.data = {};
this.quantsData = {};
this.products = {};
this.codeProducts = {}
this.scan_lines = {}
this.addedScansObj = {};
this.totalQty = 0;
this.createdScansObj = {};
this.type_of_scaning = '';
this.pickin_Typ_code = '';
},
get_stock_id: function () {
console.log("2");
var lochash = location.hash.substr(1);
var activeid = lochash.substr(lochash.indexOf('id='))
.split('&')[0]
.split('=')[1];
return activeid;
},
load_stock_data: function () {
console.log("3");
var loaded = new $.Deferred();
var self = this;
var stock_picking = rpc.query({
model:'stock.picking',
method: 'get_stock_lot_scan_data',
args: [self.active_id],
}).then(function (result) {
console.log("4");
result = JSON.parse(result);
console.log(result);
self.scan_lines = result.scan_lines;

self.data = result.data;
self.products = result.products;
self.codeProducts = result.productsCodeData;
self.type_of_scaning = result.type_of_scaning;
self.pickin_Typ_code = result.pickin_Typ_code;
self.res_id = result.res_id;

loaded.resolve();


});
console.log("4aaxx");
return loaded;
}
});
var Scanning = Widget.extend({
template: "Scanning",
xmlDependencies: ['/stock_scan_frontend/static/xml/stock.xml'],
init: function (parent) {
console.log("7");
this._super(parent);
this.stock_data = new ScanningModel(require);
console.log("7a");
},
start: function () {
console.log("8");
var sup = this._super();
var self = this;
this._super.apply(this, arguments);


return this.stock_data.ready.done(function () {
self.$el.prepend();
setTimeout(function () {
$('input#scan_box').focus();
if (self.stock_data.type_of_scaning == 'third_group') {
$('input#default_code').show().focus();
$('input#expiration_date').show();
} else {
$('input#default_code').remove();
$('input#expiration_date').remove();
$('input#scan_box').attr('style', '');
}

var scan_lines_count = Object.keys(self.stock_data.scan_lines).length;
if (scan_lines_count > 0) {
for (var i = 0; i < scan_lines_count; i++) {
var scan_box = self.stock_data.scan_lines[i]['serial'];
if (!self.stock_data.addedScansObj[scan_box]) {
self.stock_data.addedScansObj[scan_box] = {};
}
var encoded = CryptoJS.MD5(scan_box);
var qty = parseInt(self.stock_data.scan_lines[i]['qty']);
var product_id = self.stock_data.scan_lines[i]['product_id'];
var product = self.stock_data.products[product_id]
var lot_name = self.stock_data.scan_lines[i]['lot_name'];
var date = new Date(self.stock_data.scan_lines[i]['expiration_date']);
self.stock_data.addedScansObj[scan_box][product_id] = {'stock_picking_id': parseInt(self.stock_data.res_id), 'product_id': product['id'], 'product_uom_qty': qty, 'lot_no': scan_box, 'lot_name': lot_name, 'expiration_date': self.stock_data.scan_lines[i]['expiration_date']};
var html = '<tr id="' + encoded + '"><td><input type="hidden" class="lineProductId" value="' + product['id'] + '" />' + product['name'] + '</td><td><input type="number" class="qty" value="' + qty + '"/></td><td><span class="scan_box_line">' + scan_box + '</span></td><td>' + lot_name + '</td><td>' + $.datepicker.formatDate("mm/dd/yy", date) + '</td><td style="cursor:pointer;" class="deleteScan"><span class="fa fa-trash-o" name="delete"></span></td></tr>';
$('table tbody').append(html);
self.stock_data.totalQty += qty;
}
$('span.totalQty').html(self.stock_data.totalQty);
}
}, 1000);
});
},

});
// instance.web.client_actions.add('stock.scan', 'instance.stock_scan_frontend.Scanning');
core.action_registry.add("stock.scan", Scanning);

});
Avatar
Discard
Related Posts Replies Views Activity
1
Dec 20
3036
2
Aug 20
3125
0
Nov 19
2900
1
Jul 24
1773
4
May 24
12267