diff --git a/addons/account/static/src/js/tax_totals.js b/addons/account/static/src/js/tax_totals.js index deb52d991ba..1bc2f041d58 100644 --- a/addons/account/static/src/js/tax_totals.js +++ b/addons/account/static/src/js/tax_totals.js @@ -78,7 +78,7 @@ class TaxGroupComponent extends LegacyComponent { newValue = fieldUtils.parse.float(newValue); // Need a float for format the value newValue = fieldUtils.format.float(newValue, null, {digits: currency.digits}); // Return a string rounded to currency precision newValue = fieldUtils.parse.float(newValue); // Convert back to Float to compare with oldValue to know if value has changed - } catch (err) { + } catch (_err) { $(this.inputTax.el).addClass('o_field_invalid'); this.setState('edit'); return; diff --git a/addons/google_recaptcha/static/src/js/recaptcha.js b/addons/google_recaptcha/static/src/js/recaptcha.js index c2f23dc5613..46ec368e6e3 100644 --- a/addons/google_recaptcha/static/src/js/recaptcha.js +++ b/addons/google_recaptcha/static/src/js/recaptcha.js @@ -47,7 +47,7 @@ const ReCaptcha = Class.extend({ return { token: await window.grecaptcha.execute(this._publicKey, {action: action}) }; - } catch (e) { + } catch (_e) { return { error: _t("The recaptcha site key is invalid."), }; diff --git a/addons/im_livechat/static/src/legacy/public_livechat.js b/addons/im_livechat/static/src/legacy/public_livechat.js index 583486d34f5..71332b7be10 100644 --- a/addons/im_livechat/static/src/legacy/public_livechat.js +++ b/addons/im_livechat/static/src/legacy/public_livechat.js @@ -262,7 +262,7 @@ var LivechatButton = Widget.extend({ message: _t("No available collaborator, please try again later."), sticky: true, }); - } catch (err) { + } catch (_err) { /** * Failure in displaying notification happens when * notification service doesn't exist, which is the case in @@ -368,7 +368,7 @@ var LivechatButton = Widget.extend({ message: _t("Session expired... Please refresh and try again."), sticky: true, }); - } catch (err) { + } catch (_err) { /** * Failure in displaying notification happens when * notification service doesn't exist, which is the case diff --git a/addons/mail/static/src/components/attachment_list/tests/attachment_list_tests.js b/addons/mail/static/src/components/attachment_list/tests/attachment_list_tests.js index 0f0d5c71548..30b9720a216 100644 --- a/addons/mail/static/src/components/attachment_list/tests/attachment_list_tests.js +++ b/addons/mail/static/src/components/attachment_list/tests/attachment_list_tests.js @@ -346,7 +346,7 @@ QUnit.test('[technical] does not crash when the viewer is closed before image lo try { imageEl.dispatchEvent(new Event('load', { bubbles: true })); successfulLoad = true; - } catch (err) { + } catch (_err) { successfulLoad = false; } finally { assert.ok(successfulLoad, 'should not crash when the image is loaded'); diff --git a/addons/mail/static/src/js/utils.js b/addons/mail/static/src/js/utils.js index 955a3fdb0b3..3ce8e01bafa 100644 --- a/addons/mail/static/src/js/utils.js +++ b/addons/mail/static/src/js/utils.js @@ -20,7 +20,7 @@ function parseAndTransform(htmlString, transformFunction) { var children; try { children = $('
' + string + '').contents(); } return _parseAndTransform(children, transformFunction) @@ -99,7 +99,7 @@ function htmlToTextContentInline(htmlString) { htmlString = htmlString.replace(/
${htmlString}`;
}
return div
diff --git a/addons/mail/static/src/models/rtc/rtc.js b/addons/mail/static/src/models/rtc/rtc.js
index d419eb72a0e..726fada0c99 100644
--- a/addons/mail/static/src/models/rtc/rtc.js
+++ b/addons/mail/static/src/models/rtc/rtc.js
@@ -288,7 +288,7 @@ registerModel({
try {
const audioStream = await browser.navigator.mediaDevices.getUserMedia({ audio: this.messaging.userSetting.getAudioConstraints() });
audioTrack = audioStream.getAudioTracks()[0];
- } catch (e) {
+ } catch (_e) {
this.env.services.notification.notify({
message: _.str.sprintf(
this.env._t(`"%s" requires microphone access`),
@@ -348,7 +348,7 @@ registerModel({
},
volumeThreshold: this.messaging.userSetting.voiceActivationThreshold,
});
- } catch (e) {
+ } catch (_e) {
/**
* The browser is probably missing audioContext,
* in that case, voice activation is not enabled
@@ -773,14 +773,14 @@ registerModel({
for (const sender of RTCRtpSenders) {
try {
peerConnection.removeTrack(sender);
- } catch (e) {
+ } catch (_e) {
// ignore error
}
}
for (const transceiver of peerConnection.getTransceivers()) {
try {
transceiver.stop();
- } catch (e) {
+ } catch (_e) {
// transceiver may already be stopped by the remote.
}
}
@@ -1016,7 +1016,7 @@ registerModel({
videoStream = await browser.navigator.mediaDevices.getDisplayMedia({ video: this.videoConfig });
this.messaging.soundEffects.screenSharing.play();
}
- } catch (e) {
+ } catch (_e) {
this.env.services.notification.notify({
message: _.str.sprintf(
this.env._t(`"%s" requires "%s" access`),
@@ -1075,7 +1075,7 @@ registerModel({
try {
await transceiver.sender.replaceTrack(track);
transceiver.direction = transceiverDirection;
- } catch (e) {
+ } catch (_e) {
// ignored, the track is probably already on the peerConnection.
}
return;
@@ -1083,7 +1083,7 @@ registerModel({
try {
await transceiver.sender.replaceTrack(null);
transceiver.direction = transceiverDirection;
- } catch (e) {
+ } catch (_e) {
// ignored, the transceiver is probably already removed
}
if (trackKind === 'video') {
diff --git a/addons/mail/static/src/models/rtc_call_viewer/rtc_call_viewer.js b/addons/mail/static/src/models/rtc_call_viewer/rtc_call_viewer.js
index d383ae609a7..db4b6e9e930 100644
--- a/addons/mail/static/src/models/rtc_call_viewer/rtc_call_viewer.js
+++ b/addons/mail/static/src/models/rtc_call_viewer/rtc_call_viewer.js
@@ -78,7 +78,7 @@ registerModel({
if (this.exists()) {
this.update({ isFullScreen: true });
}
- } catch (e) {
+ } catch (_e) {
if (this.exists()) {
this.update({ isFullScreen: false });
}
diff --git a/addons/mail/static/src/models/rtc_session/rtc_session.js b/addons/mail/static/src/models/rtc_session/rtc_session.js
index d5a964df8e7..f6136d2b254 100644
--- a/addons/mail/static/src/models/rtc_session/rtc_session.js
+++ b/addons/mail/static/src/models/rtc_session/rtc_session.js
@@ -263,7 +263,7 @@ registerModel({
this.audioElement.pause();
try {
this.audioElement.srcObject = undefined;
- } catch (error) {
+ } catch (_error) {
// ignore error during remove, the value will be overwritten at next usage anyway
}
}
diff --git a/addons/mail/static/src/models/thread_cache/thread_cache.js b/addons/mail/static/src/models/thread_cache/thread_cache.js
index f86401779bd..1b480e49ae8 100644
--- a/addons/mail/static/src/models/thread_cache/thread_cache.js
+++ b/addons/mail/static/src/models/thread_cache/thread_cache.js
@@ -25,7 +25,7 @@ registerModel({
try {
fetchedMessages = await this._loadMessages({ limit, maxId: Math.min(...messageIds) });
success = true;
- } catch (e) {
+ } catch (_e) {
success = false;
}
if (!this.exists()) {
diff --git a/addons/mail/static/src/utils/media_monitoring/media_monitoring.js b/addons/mail/static/src/utils/media_monitoring/media_monitoring.js
index b5db7a42e5d..edfe8989421 100644
--- a/addons/mail/static/src/utils/media_monitoring/media_monitoring.js
+++ b/addons/mail/static/src/utils/media_monitoring/media_monitoring.js
@@ -37,7 +37,7 @@ export async function monitorAudio(track, processorOptions) {
let processor;
try {
processor = await _loadAudioWorkletProcessor(source, audioContext, processorOptions);
- } catch (e) {
+ } catch (_e) {
// In case Worklets are not supported by the browser (eg: Safari)
processor = _loadScriptProcessor(source, audioContext, processorOptions);
}
diff --git a/addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js b/addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js
index af391dcee7f..c4f8a57ced5 100644
--- a/addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js
+++ b/addons/point_of_sale/static/src/js/Misc/AbstractReceiptScreen.js
@@ -44,7 +44,7 @@ odoo.define('point_of_sale.AbstractReceiptScreen', function (require) {
try {
window.print();
return true;
- } catch (err) {
+ } catch (_err) {
await this.showPopup('ErrorPopup', {
title: this.env._t('Printing is not supported on some browsers'),
body: this.env._t(
diff --git a/addons/point_of_sale/static/src/js/Popups/CashMovePopup.js b/addons/point_of_sale/static/src/js/Popups/CashMovePopup.js
index fc29541cafd..ed5765c2784 100644
--- a/addons/point_of_sale/static/src/js/Popups/CashMovePopup.js
+++ b/addons/point_of_sale/static/src/js/Popups/CashMovePopup.js
@@ -22,7 +22,7 @@ odoo.define('point_of_sale.CashMovePopup', function (require) {
confirm() {
try {
parse.float(this.state.inputAmount);
- } catch (error) {
+ } catch (_error) {
this.state.inputHasError = true;
this.errorMessage = this.env._t('Invalid amount');
return;
diff --git a/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js b/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js
index ee82e53ea97..298e3ef7c4c 100644
--- a/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js
+++ b/addons/point_of_sale/static/src/js/Screens/ReceiptScreen/ReceiptScreen.js
@@ -48,7 +48,7 @@ odoo.define('point_of_sale.ReceiptScreen', function (require) {
await this._sendReceiptToCustomer();
this.orderUiState.emailSuccessful = true;
this.orderUiState.emailNotice = this.env._t('Email sent.');
- } catch (error) {
+ } catch (_error) {
this.orderUiState.emailSuccessful = false;
this.orderUiState.emailNotice = this.env._t('Sending email failed. Please try again.');
}
diff --git a/addons/point_of_sale/static/src/js/db.js b/addons/point_of_sale/static/src/js/db.js
index 8330b038540..4d24a40bf60 100644
--- a/addons/point_of_sale/static/src/js/db.js
+++ b/addons/point_of_sale/static/src/js/db.js
@@ -335,7 +335,7 @@ var PosDB = core.Class.extend({
query = query.replace(/[\[\]\(\)\+\*\?\.\-\!\&\^\$\|\~\_\{\}\:\,\\\/]/g,'.');
query = query.replace(/ /g,'.+');
var re = RegExp("([0-9]+):.*?"+utils.unaccent(query),"gi");
- }catch(e){
+ }catch(_e){
return [];
}
var results = [];
@@ -398,7 +398,7 @@ var PosDB = core.Class.extend({
query = query.replace(/[\[\]\(\)\+\*\?\.\-\!\&\^\$\|\~\_\{\}\:\,\\\/]/g,'.');
query = query.replace(/ /g,'.+');
var re = RegExp("([0-9]+):.*?"+utils.unaccent(query),"gi");
- }catch(e){
+ }catch(_e){
return [];
}
var results = [];
diff --git a/addons/point_of_sale/static/src/js/models.js b/addons/point_of_sale/static/src/js/models.js
index 9482dcddef7..4a57b3a8868 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -1147,7 +1147,7 @@ class Orderline extends PosModel {
if (options.json) {
try {
this.init_from_JSON(options.json);
- } catch(error) {
+ } catch(_error) {
console.error('ERROR: attempting to recover product ID', options.json.product_id,
'not available in the point of sale. Correct the product or clean the browser cache.');
}
diff --git a/addons/point_of_sale/static/src/js/printers.js b/addons/point_of_sale/static/src/js/printers.js
index 948c693aaf7..2027ae821ac 100644
--- a/addons/point_of_sale/static/src/js/printers.js
+++ b/addons/point_of_sale/static/src/js/printers.js
@@ -64,7 +64,7 @@ var PrinterMixin = {
image = await this.htmlToImg(receipt);
try {
sendPrintResult = await this.send_printing_job(image);
- } catch (error) {
+ } catch (_error) {
// Error in communicating to the IoT box.
this.receipt_queue.length = 0;
return this.printResultGenerator.IoTActionError();
diff --git a/addons/pos_gift_card/static/src/js/PaymentScreen.js b/addons/pos_gift_card/static/src/js/PaymentScreen.js
index b06ee702765..01094035b4f 100644
--- a/addons/pos_gift_card/static/src/js/PaymentScreen.js
+++ b/addons/pos_gift_card/static/src/js/PaymentScreen.js
@@ -47,7 +47,7 @@ odoo.define('pos_gift_card.PaymentScreen', function(require) {
}
}
}
- } catch (e) {
+ } catch (_e) {
// do nothing with the error
}
}
diff --git a/addons/pos_mercury/static/src/js/pos_mercury.js b/addons/pos_mercury/static/src/js/pos_mercury.js
index ec47801afa1..7fd4c931880 100644
--- a/addons/pos_mercury/static/src/js/pos_mercury.js
+++ b/addons/pos_mercury/static/src/js/pos_mercury.js
@@ -48,7 +48,7 @@ const PosMercuryPosGlobalState = (PosGlobalState) => class PosMercuryPosGlobalSt
magtek_generated.shift(); // reader enc status
return to_return;
- } catch (e) {
+ } catch (_e) {
return 0;
}
}
diff --git a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
index 63fdc952fd2..7c9a1a28cee 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
@@ -109,7 +109,7 @@ odoo.define('pos_restaurant.TicketScreen', function (require) {
}
order.finalize();
return true;
- } catch (error) {
+ } catch (_error) {
const { confirmed } = await this.showPopup('ConfirmPopup', {
title: 'Failed to set tip',
body: `Failed to set tip to ${order.name}. Do you want to proceed on setting the tips of the remaining?`,
diff --git a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js
index adb9c8ce48e..61ec91ef335 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js
@@ -140,7 +140,7 @@ odoo.define('pos_restaurant.TipScreen', function (require) {
try {
$(this.el).find('.pos-receipt-container').html(receipt);
window.print();
- } catch (err) {
+ } catch (_err) {
await this.showPopup('ErrorPopup', {
title: this.env._t('Printing is not supported on some browsers'),
body: this.env._t(
diff --git a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js
index c1287b6467c..9be00807202 100644
--- a/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js
+++ b/addons/pos_sale/static/src/js/OrderManagementScreen/SaleOrderManagementScreen.js
@@ -88,7 +88,7 @@ odoo.define('pos_sale.SaleOrderManagementScreen', function (require) {
try {
await this.env.pos.load_new_partners();
}
- catch (error){
+ catch (_error){
}
currentPOSOrder.set_partner(this.env.pos.db.get_partner_by_id(sale_order.partner_id[0]));
let orderFiscalPos = sale_order.fiscal_position_id ? this.env.pos.fiscal_positions.find(
diff --git a/addons/product/static/src/js/product_pricelist_report.js b/addons/product/static/src/js/product_pricelist_report.js
index 5c1d35ac8bb..29776acb451 100644
--- a/addons/product/static/src/js/product_pricelist_report.js
+++ b/addons/product/static/src/js/product_pricelist_report.js
@@ -95,7 +95,7 @@ var GeneratePriceList = AbstractAction.extend(StandaloneFieldManagerMixin, {
try {
this.context.active_ids = params.params.active_ids.split(',').map(id => parseInt(id));
this.context.active_model = params.params.active_model;
- } catch(e) {
+ } catch(_e) {
console.log('unable to load ids from the url fragment 🙁');
}
}
diff --git a/addons/stock/static/src/js/lazy_column_list.js b/addons/stock/static/src/js/lazy_column_list.js
index 9d7f2135191..0e3a92e6954 100644
--- a/addons/stock/static/src/js/lazy_column_list.js
+++ b/addons/stock/static/src/js/lazy_column_list.js
@@ -156,7 +156,7 @@ const LazyColumnListRenderer = ListRenderer.extend({
if (JSON.parse(node.attrs.options).lazy) {
return true;
}
- } catch (e) {
+ } catch (_e) {
return false;
}
return false;
diff --git a/addons/web/static/src/core/browser/browser.js b/addons/web/static/src/core/browser/browser.js
index 560f8ed41cd..12ae06da488 100644
--- a/addons/web/static/src/core/browser/browser.js
+++ b/addons/web/static/src/core/browser/browser.js
@@ -15,7 +15,7 @@ try {
// Safari crashes in Private Browsing
localStorage.setItem("__localStorage__", "true");
localStorage.removeItem("__localStorage__");
-} catch (e) {
+} catch (_e) {
localStorage = makeRAMLocalStorage();
sessionStorage = makeRAMLocalStorage();
}
diff --git a/addons/web/static/src/core/datepicker/datepicker.js b/addons/web/static/src/core/datepicker/datepicker.js
index 622dca86bae..328deb913fc 100644
--- a/addons/web/static/src/core/datepicker/datepicker.js
+++ b/addons/web/static/src/core/datepicker/datepicker.js
@@ -140,7 +140,7 @@ export class DatePicker extends LegacyComponent {
updateInput() {
try {
this.inputRef.el.value = this.format(this.date, this.options);
- } catch (err) {
+ } catch (_err) {
// Do nothing
}
}
@@ -192,7 +192,7 @@ export class DatePicker extends LegacyComponent {
this.state.warning = date > DateTime.local();
this.props.onDateTimeChanged(date);
}
- } catch (err) {
+ } catch (_err) {
// Reset to default (= given) date.
this.updateInput();
}
diff --git a/addons/web/static/src/core/errors/error_utils.js b/addons/web/static/src/core/errors/error_utils.js
index e1c49025259..67ecdc60290 100644
--- a/addons/web/static/src/core/errors/error_utils.js
+++ b/addons/web/static/src/core/errors/error_utils.js
@@ -52,7 +52,7 @@ export async function annotateTraceback(error) {
await loadAssets({
jsLibs: ["/web/static/lib/stacktracejs/stacktrace.js"],
});
- } catch (e) {
+ } catch (_e) {
return traceback;
}
// In Firefox, the error stack generated by anonymous code (example: invalid
diff --git a/addons/web/static/src/core/network/download.js b/addons/web/static/src/core/network/download.js
index c5de78807d1..c9be238b78f 100644
--- a/addons/web/static/src/core/network/download.js
+++ b/addons/web/static/src/core/network/download.js
@@ -423,7 +423,7 @@ function _download(data, filename, mimetype) {
if (typeof blob === "string" || blob.constructor === toString) {
try {
return saver(`data:${mimeType};base64,${self.btoa(blob)}`);
- } catch (y) {
+ } catch (_y) {
return saver(`data:${mimeType},${encodeURIComponent(blob)}`);
}
}
@@ -505,7 +505,7 @@ download._download = (options) => {
// a Serialized python Error
const node = nodes[1] || nodes[0];
error = JSON.parse(node.textContent);
- } catch (e) {
+ } catch (_e) {
error = {
message: "Arbitrary Uncaught Python Exception",
data: {
diff --git a/addons/web/static/src/core/scroller_service.js b/addons/web/static/src/core/scroller_service.js
index bfdcfa67764..4f092d70cac 100644
--- a/addons/web/static/src/core/scroller_service.js
+++ b/addons/web/static/src/core/scroller_service.js
@@ -38,7 +38,7 @@ export const scrollerService = {
let matchingEl = null;
try {
matchingEl = document.querySelector(`.o_content #${href.value.substr(1)}`);
- } catch (e) {
+ } catch (_e) {
// Invalid selector: not an anchor anyway
}
const triggerEv = new CustomEvent("anchor-link-clicked", {
diff --git a/addons/web/static/src/legacy/backend_utils.js b/addons/web/static/src/legacy/backend_utils.js
index 16a37d3adc6..6fcaad96ba1 100644
--- a/addons/web/static/src/legacy/backend_utils.js
+++ b/addons/web/static/src/legacy/backend_utils.js
@@ -170,7 +170,7 @@ export function searchModelStateToLegacy(state) {
let context = item.context;
try {
context = makeContext([context]);
- } catch (e) {}
+ } catch (_e) {}
filter.context = context;
}
filters[item.id] = filter;
diff --git a/addons/web/static/src/legacy/js/components/datepicker.js b/addons/web/static/src/legacy/js/components/datepicker.js
index da4a909c4d5..5677f7ccb60 100644
--- a/addons/web/static/src/legacy/js/components/datepicker.js
+++ b/addons/web/static/src/legacy/js/components/datepicker.js
@@ -111,7 +111,7 @@ odoo.define('web.DatePickerOwl', function (require) {
_formatDate(date) {
try {
return field_utils.format[this.typeOfDate](date, null, { timezone: false });
- } catch (err) {
+ } catch (_err) {
return false;
}
}
@@ -124,7 +124,7 @@ odoo.define('web.DatePickerOwl', function (require) {
_parseInput(inputValue) {
try {
return field_utils.parse[this.typeOfDate](inputValue, null, { timezone: false });
- } catch (err) {
+ } catch (_err) {
return false;
}
}
diff --git a/addons/web/static/src/legacy/js/components/pager.js b/addons/web/static/src/legacy/js/components/pager.js
index bca9178753f..801bf9134b3 100644
--- a/addons/web/static/src/legacy/js/components/pager.js
+++ b/addons/web/static/src/legacy/js/components/pager.js
@@ -84,7 +84,7 @@ odoo.define('web.Pager', function (require) {
async _changeSelection(direction) {
try {
await this.props.validate();
- } catch (err) {
+ } catch (_err) {
return;
}
const { limit, size } = this.props;
@@ -115,7 +115,7 @@ odoo.define('web.Pager', function (require) {
async _saveValue(value) {
try {
await this.props.validate();
- } catch (err) {
+ } catch (_err) {
return;
}
const [min, max] = value.trim().split(/\s*[\-\s,;]\s*/);
diff --git a/addons/web/static/src/legacy/js/control_panel/control_panel_model_extension.js b/addons/web/static/src/legacy/js/control_panel/control_panel_model_extension.js
index 7deedae7996..46e6571f589 100644
--- a/addons/web/static/src/legacy/js/control_panel/control_panel_model_extension.js
+++ b/addons/web/static/src/legacy/js/control_panel/control_panel_model_extension.js
@@ -899,7 +899,7 @@ odoo.define("web/static/src/js/control_panel/control_panel_model_extension.js",
child.attrs.defaultInterval = context.group_by.split(':')[1];
child.tag = 'groupBy';
}
- } catch (e) { }
+ } catch (_e) { }
}
if (child.attrs.name in this.searchDefaults) {
child.attrs.isDefault = true;
diff --git a/addons/web/static/src/legacy/js/control_panel/custom_filter_item.js b/addons/web/static/src/legacy/js/control_panel/custom_filter_item.js
index 1b1b46c366d..2fd044d161a 100644
--- a/addons/web/static/src/legacy/js/control_panel/custom_filter_item.js
+++ b/addons/web/static/src/legacy/js/control_panel/custom_filter_item.js
@@ -260,7 +260,7 @@ odoo.define('web.CustomFilterItem', function (require) {
condition.value = field_utils.parse[type](ev.target.value);
// Write displayed value in the input and 'displayedValue' property
condition.displayedValue = ev.target.value;
- } catch (err) {
+ } catch (_err) {
// Parsing error: reverts to previous value
ev.target.value = condition.displayedValue;
}
diff --git a/addons/web/static/src/legacy/js/control_panel/search_bar.js b/addons/web/static/src/legacy/js/control_panel/search_bar.js
index 865f1d6e691..833b5eb8563 100644
--- a/addons/web/static/src/legacy/js/control_panel/search_bar.js
+++ b/addons/web/static/src/legacy/js/control_panel/search_bar.js
@@ -163,7 +163,7 @@ odoo.define('web.SearchBar', function (require) {
if (typeof args === 'string') {
try {
args = Domain.prototype.stringToArray(args);
- } catch (err) {
+ } catch (_err) {
args = [];
}
}
@@ -295,7 +295,7 @@ odoo.define('web.SearchBar', function (require) {
_validateSource(query, source) {
try {
this._parseWithSource(query, source);
- } catch (err) {
+ } catch (_err) {
return false;
}
return true;
diff --git a/addons/web/static/src/legacy/js/core/ajax.js b/addons/web/static/src/legacy/js/core/ajax.js
index 18f3e4d02a1..80a45c02eb0 100644
--- a/addons/web/static/src/legacy/js/core/ajax.js
+++ b/addons/web/static/src/legacy/js/core/ajax.js
@@ -288,7 +288,7 @@ function get_file(options) {
try { // Case of a serialized Odoo Exception: It is Json Parsable
var node = nodes[1] || nodes[0];
err = JSON.parse(node.textContent);
- } catch (e) { // Arbitrary uncaught python side exception
+ } catch (_e) { // Arbitrary uncaught python side exception
err = {
message: nodes.length > 1 ? nodes[1].textContent : '',
data: {
diff --git a/addons/web/static/src/legacy/js/core/local_storage.js b/addons/web/static/src/legacy/js/core/local_storage.js
index ecc0cb7b78f..642463f27e2 100644
--- a/addons/web/static/src/legacy/js/core/local_storage.js
+++ b/addons/web/static/src/legacy/js/core/local_storage.js
@@ -39,12 +39,12 @@ try {
key: key,
newValue: newValue,
});
- } catch (error) {}
+ } catch (_error) {}
});
return storage;
})();
-} catch (exception) {
+} catch (_exception) {
console.warn('Fail to load localStorage');
storage = new RamStorage();
}
diff --git a/addons/web/static/src/legacy/js/core/session.js b/addons/web/static/src/legacy/js/core/session.js
index 25402888bcb..0ba3b5160a3 100644
--- a/addons/web/static/src/legacy/js/core/session.js
+++ b/addons/web/static/src/legacy/js/core/session.js
@@ -156,7 +156,7 @@ var Session = core.Class.extend(mixins.EventDispatcherMixin, {
if(cookie.indexOf(nameEQ) === 0) {
try {
return JSON.parse(decodeURIComponent(cookie.substring(nameEQ.length)));
- } catch(err) {
+ } catch(_err) {
// wrong cookie, delete it
this.set_cookie(name, '', -1);
}
diff --git a/addons/web/static/src/legacy/js/core/session_storage.js b/addons/web/static/src/legacy/js/core/session_storage.js
index c0787f4d540..f78ffdbde5c 100644
--- a/addons/web/static/src/legacy/js/core/session_storage.js
+++ b/addons/web/static/src/legacy/js/core/session_storage.js
@@ -41,12 +41,12 @@ try {
newValue: newValue,
});
}
- } catch (error) {}
+ } catch (_error) {}
});
return storage;
})();
-} catch (exception) {
+} catch (_exception) {
console.warn('Fail to load sessionStorage');
storage = new RamStorage();
}
diff --git a/addons/web/static/src/legacy/js/core/time.js b/addons/web/static/src/legacy/js/core/time.js
index 9a640d231c8..226fa534d45 100644
--- a/addons/web/static/src/legacy/js/core/time.js
+++ b/addons/web/static/src/legacy/js/core/time.js
@@ -183,13 +183,13 @@ function time_to_str (obj) {
function auto_str_to_date (value) {
try {
return str_to_datetime(value);
- } catch(e) {}
+ } catch(_e) {}
try {
return str_to_date(value);
- } catch(e) {}
+ } catch(_e) {}
try {
return str_to_time(value);
- } catch(e) {}
+ } catch(_e) {}
throw new Error(_.str.sprintf(_t("'%s' is not a correct date, datetime nor time"), value));
}
diff --git a/addons/web/static/src/legacy/js/fields/abstract_field.js b/addons/web/static/src/legacy/js/fields/abstract_field.js
index 2de7fbd3933..12d233bb386 100644
--- a/addons/web/static/src/legacy/js/fields/abstract_field.js
+++ b/addons/web/static/src/legacy/js/fields/abstract_field.js
@@ -568,7 +568,7 @@ var AbstractField = Widget.extend({
try {
value = this._parseValue(value);
this._isValid = true;
- } catch (e) {
+ } catch (_e) {
this._isValid = false;
this.trigger_up('set_dirty', {dataPointID: this.dataPointID});
return Promise.reject({message: "Value set is not valid"});
diff --git a/addons/web/static/src/legacy/js/fields/abstract_field_owl.js b/addons/web/static/src/legacy/js/fields/abstract_field_owl.js
index 6631348dc29..676fdb3c5b1 100644
--- a/addons/web/static/src/legacy/js/fields/abstract_field_owl.js
+++ b/addons/web/static/src/legacy/js/fields/abstract_field_owl.js
@@ -537,7 +537,7 @@ odoo.define('web.AbstractFieldOwl', function (require) {
try {
value = this._parseValue(value);
this._isValid = true;
- } catch (e) {
+ } catch (_e) {
this._isValid = false;
this.trigger('set-dirty', {dataPointID: this.dataPointId});
return Promise.reject({message: "Value set is not valid"});
diff --git a/addons/web/static/src/legacy/js/fields/basic_fields.js b/addons/web/static/src/legacy/js/fields/basic_fields.js
index ab7e399f0fe..e00f3edbb00 100644
--- a/addons/web/static/src/legacy/js/fields/basic_fields.js
+++ b/addons/web/static/src/legacy/js/fields/basic_fields.js
@@ -517,7 +517,7 @@ var NumericField = InputField.extend({
value = this._formatValue(value);
// Set the computed value in the input
this.$input.val(value);
- } catch (err) {
+ } catch (_err) {
// in case of exception, set value as the original value
// that way the Webclient will show an error as
// it is expecting a numeric value.
@@ -711,7 +711,7 @@ var FieldDateRange = InputField.extend({
const value = this.mode === "readonly" ? this.value : this.$input.val();
try {
return field_utils.parse[this.formatType](value, this.field, { timezone: true }) || true;
- } catch (error) {
+ } catch (_error) {
return false;
}
},
@@ -731,7 +731,7 @@ var FieldDateRange = InputField.extend({
// user may enter manual value in input and it may not be parsed as date/datetime value
this.removeInvalidClass();
return field_utils.parse[this.formatType](this.$input.val(), this.field, { timezone: true });
- } catch (error) {
+ } catch (_error) {
this.setInvalidClass();
return false;
}
@@ -3194,7 +3194,7 @@ var FieldProgressBar = AbstractField.extend({
try {
// Cover all numbers with parseFloat
parsedValue = field_utils.parse.float($input.val());
- } catch (error) {
+ } catch (_error) {
this.displayNotification({ message: _t("Please enter a numerical value"), type: 'danger' });
}
@@ -4138,7 +4138,7 @@ var FieldColorPicker = FieldInteger.extend({
_highlightSelectedColor: function(){
try{
$(this.$('li')[parseInt(this.value)]).css('border', '2px solid teal');
- } catch(err) {
+ } catch(_err) {
}
},
diff --git a/addons/web/static/src/legacy/js/views/kanban/kanban_controller.js b/addons/web/static/src/legacy/js/views/kanban/kanban_controller.js
index 5ff92948aff..7f807eb0465 100644
--- a/addons/web/static/src/legacy/js/views/kanban/kanban_controller.js
+++ b/addons/web/static/src/legacy/js/views/kanban/kanban_controller.js
@@ -183,7 +183,7 @@ var KanbanController = BasicController.extend({
}
try {
var visible = new Domain(domain).compute(data.evalContext);
- } catch (e) {
+ } catch (_e) {
return;
}
if (!visible) {
diff --git a/addons/web/static/src/legacy/js/widgets/date_picker.js b/addons/web/static/src/legacy/js/widgets/date_picker.js
index fdbd1f7d891..847e1175ff5 100644
--- a/addons/web/static/src/legacy/js/widgets/date_picker.js
+++ b/addons/web/static/src/legacy/js/widgets/date_picker.js
@@ -155,7 +155,7 @@ var DateWidget = Widget.extend({
try {
this._parseClient(value);
return true;
- } catch (e) {
+ } catch (_e) {
return false;
}
}
diff --git a/addons/web/static/src/legacy/js/widgets/domain_selector.js b/addons/web/static/src/legacy/js/widgets/domain_selector.js
index 7994e476956..fa99e3edbde 100644
--- a/addons/web/static/src/legacy/js/widgets/domain_selector.js
+++ b/addons/web/static/src/legacy/js/widgets/domain_selector.js
@@ -396,7 +396,7 @@ var DomainTree = DomainNode.extend({
try {
parsedDomain = Domain.prototype.stringToArray(domain);
this.invalidDomain = false;
- } catch (err) {
+ } catch (_err) {
// TODO: domain could contain `parent` for example, which is
// currently not handled by the DomainSelector
this.invalidDomain = true;
@@ -603,7 +603,7 @@ var DomainSelector = DomainTree.extend({
const rawDomain = e.currentTarget.value;
try {
Domain.prototype.stringToArray(rawDomain);
- } catch (err) { // If there is a syntax error, just ignore the change
+ } catch (_err) { // If there is a syntax error, just ignore the change
this.displayNotification({ title: _t("Syntax error"), message: _t("Domain not properly formed"), type: 'danger' });
return;
}
@@ -712,7 +712,7 @@ var DomainLeaf = DomainNode.extend({
if (selectedField && !selectedField.relation && !_.isArray(this.value)) {
this.displayValue = field_utils.format[selectedField.type](this.value, selectedField);
}
- } catch (err) {/**/}
+ } catch (_err) {/**/}
this.displayOperator = this.operator;
if (selectedField.type === "boolean") {
this.displayValue = this.value ? "1" : "0";
@@ -846,7 +846,7 @@ var DomainLeaf = DomainNode.extend({
var selectedField = this.fieldSelector.getSelectedField() || {};
try {
this.value = field_utils.parse[selectedField.type](value, selectedField);
- } catch (err) {
+ } catch (_err) {
this.value = value;
couldNotParse = true;
}
diff --git a/addons/web/static/src/search/filter_menu/custom_filter_item.js b/addons/web/static/src/search/filter_menu/custom_filter_item.js
index dca07157828..dfc807f9a4c 100644
--- a/addons/web/static/src/search/filter_menu/custom_filter_item.js
+++ b/addons/web/static/src/search/filter_menu/custom_filter_item.js
@@ -306,7 +306,7 @@ export class CustomFilterItem extends Component {
// Only updates values if it can be correctly parsed and formatted.
condition.value = parsed;
condition.displayedValue = formatted;
- } catch (err) {
+ } catch (_err) {
// Parsing error: nothing is done
}
ev.target.value = condition.displayedValue;
diff --git a/addons/web/static/src/search/search_arch_parser.js b/addons/web/static/src/search/search_arch_parser.js
index 4556c9283ff..9e71ba747f4 100644
--- a/addons/web/static/src/search/search_arch_parser.js
+++ b/addons/web/static/src/search/search_arch_parser.js
@@ -20,7 +20,7 @@ const DEFAULT_VIEWS_WITH_SEARCH_PANEL = ["kanban", "list"];
const getContextGroubBy = (context) => {
try {
return makeContext([context]).group_by.split(":");
- } catch (err) {
+ } catch (_err) {
return [];
}
};
diff --git a/addons/web/static/src/search/search_bar/search_bar.js b/addons/web/static/src/search/search_bar/search_bar.js
index 66c52344c45..69b25485b9c 100644
--- a/addons/web/static/src/search/search_bar/search_bar.js
+++ b/addons/web/static/src/search/search_bar/search_bar.js
@@ -144,7 +144,7 @@ export class SearchBar extends LegacyComponent {
value = parser(trimmedQuery);
}
}
- } catch (e) {
+ } catch (_e) {
continue;
}
@@ -183,7 +183,7 @@ export class SearchBar extends LegacyComponent {
if (searchItem.domain) {
try {
domain = new Domain(searchItem.domain).toList();
- } catch (e) {
+ } catch (_e) {
// Pass
}
}
diff --git a/addons/web/static/src/webclient/actions/action_service.js b/addons/web/static/src/webclient/actions/action_service.js
index 0a983c087f0..48b24f1ff88 100644
--- a/addons/web/static/src/webclient/actions/action_service.js
+++ b/addons/web/static/src/webclient/actions/action_service.js
@@ -1168,7 +1168,7 @@ function makeActionManager(env) {
// warning: quotes and double quotes problem due to json and xml clash
// maybe we should force escaping in xml or do a better parse of the args array
additionalArgs = JSON.parse(params.args.replace(/'/g, '"'));
- } catch (e) {
+ } catch (_e) {
browser.console.error("Could not JSON.parse arguments", params.args);
}
args = args.concat(additionalArgs);
diff --git a/addons/web/static/tests/core/l10n/dates_tests.js b/addons/web/static/tests/core/l10n/dates_tests.js
index e9033d84628..660d6b44a2f 100644
--- a/addons/web/static/tests/core/l10n/dates_tests.js
+++ b/addons/web/static/tests/core/l10n/dates_tests.js
@@ -42,11 +42,11 @@ function runTestSet(assert, testSet, options) {
let res2;
try {
res1 = options.newFn(input);
- } catch (e) {}
+ } catch (_e) {}
try {
res2 = options.legacyFn(input);
- } catch (e) {}
+ } catch (_e) {}
const expect =
expected.length === 1
diff --git a/addons/web/static/tests/core/network/rpc_service_tests.js b/addons/web/static/tests/core/network/rpc_service_tests.js
index 4ecc5f8ef1c..3ec77c4da32 100644
--- a/addons/web/static/tests/core/network/rpc_service_tests.js
+++ b/addons/web/static/tests/core/network/rpc_service_tests.js
@@ -109,7 +109,7 @@ QUnit.test("trigger an error when response has 'error' key", async (assert) => {
});
try {
await env.services.rpc("/test/");
- } catch (error) {
+ } catch (_error) {
assert.ok(true);
}
unpatch(browser, "mock.xhr");
@@ -235,7 +235,7 @@ QUnit.test("check trigger RPC:REQUEST and RPC:RESPONSE for a rpc with an error",
});
try {
await env.services.rpc("/test/");
- } catch (e) {
+ } catch (_e) {
assert.ok(true);
}
assert.strictEqual(rpcIdsRequest.toString(), rpcIdsResponse.toString());
diff --git a/addons/web/static/tests/helpers/mock_services.js b/addons/web/static/tests/helpers/mock_services.js
index 593e339756b..b697ff3e429 100644
--- a/addons/web/static/tests/helpers/mock_services.js
+++ b/addons/web/static/tests/helpers/mock_services.js
@@ -95,11 +95,11 @@ export function makeMockXHR(response, sendCb, def) {
if (typeof data === "string") {
try {
data = JSON.parse(data);
- } catch (e) {}
+ } catch (_e) {}
}
try {
await sendCb.call(this, data);
- } catch (e) {
+ } catch (_e) {
listener = this._errorListener;
}
}
@@ -135,7 +135,7 @@ export function makeMockFetch(mockRPC) {
try {
res = await _rpc(route, params);
status = 200;
- } catch (e) {
+ } catch (_e) {
status = 500;
}
const blob = new Blob([JSON.stringify(res || {})], { type: "application/json" });
diff --git a/addons/web/static/tests/legacy/fields/basic_fields_tests.js b/addons/web/static/tests/legacy/fields/basic_fields_tests.js
index 00b154a4191..d0005289f02 100644
--- a/addons/web/static/tests/legacy/fields/basic_fields_tests.js
+++ b/addons/web/static/tests/legacy/fields/basic_fields_tests.js
@@ -8254,7 +8254,7 @@ QUnit.module('basic_fields', {
var left = $progressBarEl.offset().left + 5;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "click");
- } catch (e) {
+ } catch (_e) {
form.destroy();
$view.remove();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
@@ -8301,7 +8301,7 @@ QUnit.module('basic_fields', {
var left = $progressBarEl.offset().left + 5;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "click");
- } catch (e) {
+ } catch (_e) {
form.destroy();
$view.remove();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
diff --git a/addons/web/static/tests/legacy/mockserver_tests.js b/addons/web/static/tests/legacy/mockserver_tests.js
index 02e4ccf2d81..36a571fe719 100644
--- a/addons/web/static/tests/legacy/mockserver_tests.js
+++ b/addons/web/static/tests/legacy/mockserver_tests.js
@@ -114,7 +114,7 @@ QUnit.module("Legacy MockServer", {
args: [],
kwargs: {},
});
- } catch (error) {
+ } catch (_error) {
assert.step("name_get failed")
}
assert.verifySteps(["name_get failed"])
@@ -166,7 +166,7 @@ QUnit.module("Legacy MockServer", {
args: [11111],
kwargs: {},
});
- } catch (error) {
+ } catch (_error) {
assert.step("name_get failed")
}
assert.verifySteps(["name_get failed"])
diff --git a/addons/web/static/tests/legacy/views/basic_model_tests.js b/addons/web/static/tests/legacy/views/basic_model_tests.js
index 884ae73295f..3bf60f59333 100644
--- a/addons/web/static/tests/legacy/views/basic_model_tests.js
+++ b/addons/web/static/tests/legacy/views/basic_model_tests.js
@@ -247,7 +247,7 @@ odoo.define('web.basic_model_tests', function (require) {
try {
await model.load(this.params);
}
- catch (e) {
+ catch (_e) {
assert.ok("load should return a rejected deferred for an invalid id");
}
diff --git a/addons/web/static/tests/legacy/views/calendar_tests.js b/addons/web/static/tests/legacy/views/calendar_tests.js
index 75f95d7de7a..778bbc65715 100644
--- a/addons/web/static/tests/legacy/views/calendar_tests.js
+++ b/addons/web/static/tests/legacy/views/calendar_tests.js
@@ -731,7 +731,7 @@ QUnit.module('Views', {
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1107,7 +1107,7 @@ QUnit.module('Views', {
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1242,7 +1242,7 @@ QUnit.module('Views', {
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1391,7 +1391,7 @@ QUnit.module('Views', {
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1533,7 +1533,7 @@ QUnit.module('Views', {
var pos = calendar.$('.fc-bg td:eq(4)').offset();
try {
testUtils.dom.triggerPositionalMouseEvent(pos.left+15, pos.top+15, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1611,7 +1611,7 @@ QUnit.module('Views', {
var pos = calendar.$('.fc-bg td:eq(4)').offset();
try {
testUtils.dom.triggerPositionalMouseEvent(pos.left + 15, pos.top + 15, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1663,7 +1663,7 @@ QUnit.module('Views', {
var pos = calendar.$('.fc-bg td:eq(4)').offset();
try {
testUtils.dom.triggerPositionalMouseEvent(pos.left+15, pos.top+15, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -1716,7 +1716,7 @@ QUnit.module('Views', {
var pos = calendar.$('.fc-bg td:eq(17)').offset();
try {
testUtils.dom.triggerPositionalMouseEvent(pos.left+15, pos.top+15, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -2327,7 +2327,7 @@ QUnit.module('Views', {
var top = calendar.$('.fc-slats tr:eq(12) td:first').offset().top+15;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -2427,7 +2427,7 @@ QUnit.module('Views', {
var top = calendar.$('.fc-slats tr:eq(12) td:first').offset().top+15;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
@@ -2657,7 +2657,7 @@ QUnit.module('Views', {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
testUtils.dom.triggerPositionalMouseEvent(left, top, "mouseup");
await testUtils.nextTick();
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test failed to simulate a click on the screen.' +
'Your screen is probably too small or your dev tools are open.');
@@ -3778,7 +3778,7 @@ QUnit.module('Views', {
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "mousedown");
- } catch (e) {
+ } catch (_e) {
calendar.destroy();
throw new Error('The test fails to simulate a click in the screen. Your screen is probably too small or your dev tools is open.');
}
diff --git a/addons/web/static/tests/legacy/views/kanban_tests.js b/addons/web/static/tests/legacy/views/kanban_tests.js
index 170595ab954..54e19fcb9b7 100644
--- a/addons/web/static/tests/legacy/views/kanban_tests.js
+++ b/addons/web/static/tests/legacy/views/kanban_tests.js
@@ -5626,7 +5626,7 @@ QUnit.module('Views', {
try {
await testUtils.dom.click(kanban.$('.o_kanban_record:contains(yop) button[data-name="toggle_action"]'));
assert.strictEqual(true, true, 'Everything went fine');
- } catch (e) {
+ } catch (_e) {
assert.strictEqual(true, false, 'Error triggered at action execution');
}
kanban.destroy();
diff --git a/addons/web/static/tests/search/group_by_tests.js b/addons/web/static/tests/search/group_by_tests.js
index fee7912d2a4..8485042da15 100644
--- a/addons/web/static/tests/search/group_by_tests.js
+++ b/addons/web/static/tests/search/group_by_tests.js
@@ -34,12 +34,12 @@ QUnit.module("GroupBy Class", {}, () => {
assert.expect(3);
try {
getGroupBy(":day");
- } catch (e) {
+ } catch (_e) {
assert.step("Error 1");
}
try {
getGroupBy("diay_name:yar");
- } catch (e) {
+ } catch (_e) {
assert.step("Error 2");
}
assert.verifySteps(["Error 1", "Error 2"]);
@@ -56,22 +56,22 @@ QUnit.module("GroupBy Class", {}, () => {
assert.expect(5);
try {
getGroupBy("", fields);
- } catch (e) {
+ } catch (_e) {
assert.step("Error 1");
}
try {
getGroupBy("display_name:day", fields);
- } catch (e) {
+ } catch (_e) {
assert.step("Error 2");
}
try {
getGroupBy("diay_name:year", fields);
- } catch (e) {
+ } catch (_e) {
assert.step("Error 3");
}
try {
getGroupBy("diay_name:yar", fields);
- } catch (e) {
+ } catch (_e) {
assert.step("Error 4");
}
assert.verifySteps(["Error 1", "Error 2", "Error 3", "Error 4"]);
@@ -91,7 +91,7 @@ QUnit.module("GroupBy Class", {}, () => {
assert.expect(2);
try {
getGroupBy("date_field:yar", fields);
- } catch (e) {
+ } catch (_e) {
assert.step("Error");
}
assert.verifySteps(["Error"]);
diff --git a/addons/web/static/tests/webclient/actions/report_action_tests.js b/addons/web/static/tests/webclient/actions/report_action_tests.js
index 42901b832fb..ada6c261a5d 100644
--- a/addons/web/static/tests/webclient/actions/report_action_tests.js
+++ b/addons/web/static/tests/webclient/actions/report_action_tests.js
@@ -253,7 +253,7 @@ QUnit.module("ActionManager", (hooks) => {
await doAction(webClient, 7);
try {
await doAction(webClient, 7);
- } catch (e) {
+ } catch (_e) {
assert.step("error caught");
}
assert.verifySteps([
diff --git a/addons/web/tooling/_eslintrc.json b/addons/web/tooling/_eslintrc.json
index 7c603e79cf4..7706e0fb25d 100644
--- a/addons/web/tooling/_eslintrc.json
+++ b/addons/web/tooling/_eslintrc.json
@@ -19,7 +19,7 @@
"no-unsafe-negation": ["error"],
"no-duplicate-imports": ["error"],
"valid-typeof": ["error"],
- "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": false, "caughtErrors": "none" }]
+ "no-unused-vars": ["error", { "vars": "all", "args": "none", "ignoreRestSiblings": false, "caughtErrors": "all", "caughtErrorsIgnorePattern": "^_" }]
},
"globals": {
"odoo": "writable",
diff --git a/addons/web_editor/static/src/js/backend/field_html.js b/addons/web_editor/static/src/js/backend/field_html.js
index 95e6170f919..74db7b397fe 100644
--- a/addons/web_editor/static/src/js/backend/field_html.js
+++ b/addons/web_editor/static/src/js/backend/field_html.js
@@ -335,7 +335,7 @@ var FieldHtml = basic_fields.DebouncedField.extend(TranslatableFieldMixin, {
var cwindow = self.$iframe[0].contentWindow;
try {
cwindow.document;
- } catch (e) {
+ } catch (_e) {
return;
}
cwindow.document
@@ -399,7 +399,7 @@ var FieldHtml = basic_fields.DebouncedField.extend(TranslatableFieldMixin, {
var value = text || "";
try {
$(text)[0].innerHTML; // crashes if text isn't html
- } catch (e) {
+ } catch (_e) {
if (value.match(/^\s*$/)) {
value = '