Skip to Content
Menu
This question has been flagged
2875 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
2085
2
Aug 20
2267
0
Nov 19
2365
1
Jul 24
408
4
May 24
10079