diff --git a/addons/account/static/src/components/tax_totals/tax_totals.js b/addons/account/static/src/components/tax_totals/tax_totals.js index 11e40c02930..cf62e4977e8 100644 --- a/addons/account/static/src/components/tax_totals/tax_totals.js +++ b/addons/account/static/src/components/tax_totals/tax_totals.js @@ -68,7 +68,7 @@ class TaxGroupComponent extends Component { let newValue; try { newValue = parseFloat(this.inputTax.el.value); // Get the new value - } catch (_err) { + } catch { this.inputTax.el.value = oldValue; this.setState("edit"); return; diff --git a/addons/account/static/src/js/legacy_tax_totals.js b/addons/account/static/src/js/legacy_tax_totals.js index 5d8b1a3482d..3715d820fa8 100644 --- a/addons/account/static/src/js/legacy_tax_totals.js +++ b/addons/account/static/src/js/legacy_tax_totals.js @@ -81,7 +81,7 @@ class LegacyTaxGroupComponent 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 { $(this.inputTax.el).addClass('o_field_invalid'); this.setState('edit'); return; diff --git a/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js b/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js index cdb37c80d8a..5fc96b27fd6 100644 --- a/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js +++ b/addons/analytic/static/src/components/analytic_distribution/analytic_distribution.js @@ -563,7 +563,7 @@ export class AnalyticDistribution extends Component { parse(value) { try { return typeof value === 'string' || value instanceof String ? oParseFloat(value.replace('%', '')) : value; - } catch (_error) { + } catch { return 0; } } diff --git a/addons/barcodes/static/src/barcode_handlers.js b/addons/barcodes/static/src/barcode_handlers.js index d45d08669f8..aa688cb2c80 100644 --- a/addons/barcodes/static/src/barcode_handlers.js +++ b/addons/barcodes/static/src/barcode_handlers.js @@ -67,7 +67,7 @@ export const barcodeGenericHandlers = { // the scanned barcode could be anything, and could crash the queryselectorall // function targets = getVisibleElements(ui.activeElement, `[barcode_trigger=${barcode.slice(6)}]`); - } catch (_e) { + } catch { console.warn(`Barcode '${barcode}' is not valid`); } for (let elem of targets) { diff --git a/addons/google_recaptcha/static/src/js/recaptcha.js b/addons/google_recaptcha/static/src/js/recaptcha.js index 4d7e876d1d8..c71673eabf1 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 { return { error: _t("The recaptcha site key is invalid."), }; diff --git a/addons/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js b/addons/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js index f826c4e3f36..b1bae5d5f27 100644 --- a/addons/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js +++ b/addons/im_livechat/static/src/legacy/widgets/public_livechat_window/public_livechat_window.js @@ -195,7 +195,7 @@ const PublicLivechatWindow = Widget.extend({ async _postMessage(messageData) { try { await this.messaging.publicLivechatGlobal.livechatButtonView.sendMessage(messageData); - } catch (_err) { + } catch { await this.messaging.publicLivechatGlobal.livechatButtonView.sendMessage(messageData); // try again just in case } this.messaging.publicLivechatGlobal.publicLivechat.widget.postMessage(messageData) diff --git a/addons/im_livechat/static/src/public_models/livechat_button_view.js b/addons/im_livechat/static/src/public_models/livechat_button_view.js index 20e2887a021..cfc62190bcf 100644 --- a/addons/im_livechat/static/src/public_models/livechat_button_view.js +++ b/addons/im_livechat/static/src/public_models/livechat_button_view.js @@ -204,7 +204,7 @@ Model({ message: this.env._t("No available collaborator, please try again later."), sticky: true, }); - } catch (_err) { + } catch { /** * Failure in displaying notification happens when * notification service doesn't exist, which is the case in @@ -283,7 +283,7 @@ Model({ message: this.env._t("Session expired... Please refresh and try again."), sticky: true, }); - } catch (_err) { + } catch { /** * Failure in displaying notification happens when * notification service doesn't exist, which is the case diff --git a/addons/mail/static/src/js/utils.js b/addons/mail/static/src/js/utils.js index 3ce8e01bafa..b66ae7e8ff3 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/call_view.js b/addons/mail/static/src/models/call_view.js
index 476b6c684c5..dedd0151af0 100644
--- a/addons/mail/static/src/models/call_view.js
+++ b/addons/mail/static/src/models/call_view.js
@@ -35,7 +35,7 @@ Model({
if (this.exists()) {
this.update({ isFullScreen: true });
}
- } catch (_e) {
+ } catch {
if (this.exists()) {
this.update({ isFullScreen: false });
}
diff --git a/addons/mail/static/src/models/rtc.js b/addons/mail/static/src/models/rtc.js
index 70542c97f39..7f5d83452bd 100644
--- a/addons/mail/static/src/models/rtc.js
+++ b/addons/mail/static/src/models/rtc.js
@@ -255,7 +255,7 @@ Model({
try {
const audioStream = await browser.navigator.mediaDevices.getUserMedia({ audio: this.messaging.userSetting.getAudioConstraints() });
audioTrack = audioStream.getAudioTracks()[0];
- } catch (_e) {
+ } catch {
this.messaging.notify({
message: sprintf(
this.env._t(`"%s" requires microphone access`),
@@ -329,7 +329,7 @@ Model({
},
),
});
- } catch (_e) {
+ } catch {
/**
* The browser is probably missing audioContext,
* in that case, voice activation is not enabled
@@ -716,14 +716,14 @@ Model({
for (const sender of RTCRtpSenders) {
try {
peerConnection.removeTrack(sender);
- } catch (_e) {
+ } catch {
// ignore error
}
}
for (const transceiver of peerConnection.getTransceivers()) {
try {
transceiver.stop();
- } catch (_e) {
+ } catch {
// transceiver may already be stopped by the remote.
}
}
@@ -946,7 +946,7 @@ Model({
sourceWebMediaStream = await browser.navigator.mediaDevices.getDisplayMedia({ video: this.videoConfig });
this.messaging.soundEffects.screenSharing.play();
}
- } catch (_e) {
+ } catch {
this.messaging.notify({
message: sprintf(
this.env._t(`"%s" requires "%s" access`),
diff --git a/addons/mail/static/src/models/rtc_session.js b/addons/mail/static/src/models/rtc_session.js
index c627ed4a293..6d1003cf790 100644
--- a/addons/mail/static/src/models/rtc_session.js
+++ b/addons/mail/static/src/models/rtc_session.js
@@ -187,7 +187,7 @@ Model({
try {
await transceiver.sender.replaceTrack(track);
transceiver.direction = transceiverDirection;
- } catch (_e) {
+ } catch {
// ignored, the track is probably already on the peerConnection.
}
return;
@@ -195,7 +195,7 @@ Model({
try {
await transceiver.sender.replaceTrack(null);
transceiver.direction = transceiverDirection;
- } catch (_e) {
+ } catch {
// ignored, the transceiver is probably already removed
}
if (trackKind === 'video') {
@@ -224,7 +224,7 @@ Model({
this.audioElement.pause();
try {
this.audioElement.srcObject = undefined;
- } catch (_error) {
+ } catch {
// ignore error during remove, the value will be overwritten at next usage anyway
}
}
diff --git a/addons/mail/static/src/models/thread_cache.js b/addons/mail/static/src/models/thread_cache.js
index 2ac598e7ce5..66f4067ad03 100644
--- a/addons/mail/static/src/models/thread_cache.js
+++ b/addons/mail/static/src/models/thread_cache.js
@@ -21,7 +21,7 @@ Model({
try {
fetchedMessages = await this._loadMessages({ limit, maxId: Math.min(...messageIds) });
success = true;
- } catch (_e) {
+ } catch {
success = false;
}
if (!this.exists()) {
diff --git a/addons/mail/static/src/utils/media_monitoring.js b/addons/mail/static/src/utils/media_monitoring.js
index edfe8989421..922ceaa2328 100644
--- a/addons/mail/static/src/utils/media_monitoring.js
+++ b/addons/mail/static/src/utils/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 {
// In case Worklets are not supported by the browser (eg: Safari)
processor = _loadScriptProcessor(source, audioContext, processorOptions);
}
diff --git a/addons/mail/static/tests/qunit_suite_tests/components/attachment_list_tests.js b/addons/mail/static/tests/qunit_suite_tests/components/attachment_list_tests.js
index 75360fc1cab..70b59031dd9 100644
--- a/addons/mail/static/tests/qunit_suite_tests/components/attachment_list_tests.js
+++ b/addons/mail/static/tests/qunit_suite_tests/components/attachment_list_tests.js
@@ -356,7 +356,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 {
successfulLoad = false;
} finally {
assert.ok(successfulLoad, 'should not crash when the image is loaded');
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 c4f8a57ced5..f88cff74d71 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 {
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 075559baa1c..c428fe1ff29 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 {
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 68344f21e73..cb255fa7944 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
@@ -51,7 +51,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 {
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 0eda21f8b7b..1322143043d 100644
--- a/addons/point_of_sale/static/src/js/db.js
+++ b/addons/point_of_sale/static/src/js/db.js
@@ -338,7 +338,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{
return [];
}
var results = [];
@@ -401,7 +401,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{
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 349085bfa9d..74dc5073020 100644
--- a/addons/point_of_sale/static/src/js/models.js
+++ b/addons/point_of_sale/static/src/js/models.js
@@ -1479,7 +1479,7 @@ class Orderline extends PosModel {
if (options.json) {
try {
this.init_from_JSON(options.json);
- } catch(_error) {
+ } catch {
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 f15d8281439..e9d5c3d4518 100644
--- a/addons/point_of_sale/static/src/js/printers.js
+++ b/addons/point_of_sale/static/src/js/printers.js
@@ -68,7 +68,7 @@ var PrinterMixin = {
image = await this.htmlToImg(receipt);
try {
sendPrintResult = await this.send_printing_job(image);
- } catch (_error) {
+ } catch {
// Error in communicating to the IoT box.
this.receipt_queue.length = 0;
return this.printResultGenerator.IoTActionError();
diff --git a/addons/pos_loyalty/static/src/js/PaymentScreen.js b/addons/pos_loyalty/static/src/js/PaymentScreen.js
index 1b21fd2c4ea..f38f77a2ff1 100644
--- a/addons/pos_loyalty/static/src/js/PaymentScreen.js
+++ b/addons/pos_loyalty/static/src/js/PaymentScreen.js
@@ -64,7 +64,7 @@ export const PosLoyaltyPaymentScreen = (PaymentScreen) =>
});
return;
}
- } catch (_e) {
+ } catch {
// Do nothing with error, while this validation step is nice for error messages
// it should not be blocking.
}
diff --git a/addons/pos_mercury/static/src/js/pos_mercury.js b/addons/pos_mercury/static/src/js/pos_mercury.js
index 7fd4c931880..c807c476623 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 {
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 f71d6fb73c1..492f32ce5cb 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TicketScreen.js
@@ -124,7 +124,7 @@ odoo.define('pos_restaurant.TicketScreen', function (require) {
}
this.env.pos.removeOrder(order);
return true;
- } catch (_error) {
+ } catch {
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 f7fdfff66ae..7e7451bb4e8 100644
--- a/addons/pos_restaurant/static/src/js/Screens/TipScreen.js
+++ b/addons/pos_restaurant/static/src/js/Screens/TipScreen.js
@@ -143,7 +143,7 @@ odoo.define('pos_restaurant.TipScreen', function (require) {
try {
$(this.el).find('.pos-receipt-container').html(receipt);
window.print();
- } catch (_err) {
+ } catch {
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 6c4f7ebcec5..e14854978e2 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 {
}
let order_partner = this.env.pos.db.get_partner_by_id(sale_order.partner_id[0])
if(order_partner){
@@ -97,7 +97,7 @@ odoo.define('pos_sale.SaleOrderManagementScreen', function (require) {
try {
await this.env.pos._loadPartners([sale_order.partner_id[0]]);
}
- catch (_error){
+ catch {
const title = this.env._t('Customer loading error');
const body = _.str.sprintf(this.env._t('There was a problem in loading the %s customer.'), sale_order.partner_id[1]);
await this.showPopup('ErrorPopup', { title, body });
diff --git a/addons/product/static/src/js/product_pricelist_report.js b/addons/product/static/src/js/product_pricelist_report.js
index 29776acb451..ac29979ac7b 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 {
console.log('unable to load ids from the url fragment 🙁');
}
}
diff --git a/addons/spreadsheet/static/src/global_filters/components/year_picker.js b/addons/spreadsheet/static/src/global_filters/components/year_picker.js
index 1aec865a0a6..b2bd97cb59c 100644
--- a/addons/spreadsheet/static/src/global_filters/components/year_picker.js
+++ b/addons/spreadsheet/static/src/global_filters/components/year_picker.js
@@ -10,7 +10,7 @@ const { DateTime } = luxon;
const isValidStaticFormat = (format) => {
try {
return /^[\d\s/:-]+$/.test(DateTime.local().toFormat(format));
- } catch (_err) {
+ } catch {
return false;
}
};
diff --git a/addons/spreadsheet/static/src/helpers/odoo_functions_helpers.js b/addons/spreadsheet/static/src/helpers/odoo_functions_helpers.js
index 74ef9a42806..a6b42bd87e6 100644
--- a/addons/spreadsheet/static/src/helpers/odoo_functions_helpers.js
+++ b/addons/spreadsheet/static/src/helpers/odoo_functions_helpers.js
@@ -24,7 +24,7 @@ export function getOdooFunctions(formula, matcher) {
let ast;
try {
ast = parse(formula);
- } catch (_) {
+ } catch {
return [];
}
return _getOdooFunctionsFromAST(ast, matcher);
diff --git a/addons/spreadsheet/static/src/o_spreadsheet/migration.js b/addons/spreadsheet/static/src/o_spreadsheet/migration.js
index e326675adec..4998f8b1bf5 100644
--- a/addons/spreadsheet/static/src/o_spreadsheet/migration.js
+++ b/addons/spreadsheet/static/src/o_spreadsheet/migration.js
@@ -67,7 +67,7 @@ function migrate1to2(data) {
if (cell.content && cell.content.startsWith("=")) {
try {
cell.content = migratePivotDaysParameters(cell.content);
- } catch (_) {
+ } catch {
continue;
}
}
diff --git a/addons/spreadsheet/static/src/pivot/pivot_model.js b/addons/spreadsheet/static/src/pivot/pivot_model.js
index a83289ec383..2659ef9b862 100644
--- a/addons/spreadsheet/static/src/pivot/pivot_model.js
+++ b/addons/spreadsheet/static/src/pivot/pivot_model.js
@@ -161,7 +161,7 @@ export class SpreadsheetPivotModel extends PivotModel {
try {
const { field } = this.parseGroupField(fieldName);
return this._isCol(field);
- } catch (_) {
+ } catch {
false;
}
}
@@ -175,7 +175,7 @@ export class SpreadsheetPivotModel extends PivotModel {
try {
const { field } = this.parseGroupField(fieldName);
return this._isRow(field);
- } catch (_) {
+ } catch {
return false;
}
}
diff --git a/addons/spreadsheet_account/static/src/accounting_functions.js b/addons/spreadsheet_account/static/src/accounting_functions.js
index 6bac2e25176..1b7d75acb72 100644
--- a/addons/spreadsheet_account/static/src/accounting_functions.js
+++ b/addons/spreadsheet_account/static/src/accounting_functions.js
@@ -116,18 +116,27 @@ export function parseAccountingDate(dateRange) {
parseAccountingYear(dateRange) ||
parseAccountingDay(dateRange)
);
- } catch (_) {
- throw new Error(sprintf(_t(`'%s' is not a valid period. Supported formats are "21/12/2022", "Q1/2022", "12/2022", and "2022".`), dateRange));
+ } catch {
+ throw new Error(
+ sprintf(
+ _t(
+ `'%s' is not a valid period. Supported formats are "21/12/2022", "Q1/2022", "12/2022", and "2022".`
+ ),
+ dateRange
+ )
+ );
}
}
const ODOO_FIN_ARGS = `
account_codes (string) ${_t("The prefix of the accounts.")}
- date_range (string, date) ${_t(`The date range. Supported formats are "21/12/2022", "Q1/2022", "12/2022", and "2022".`)}
+ date_range (string, date) ${_t(
+ `The date range. Supported formats are "21/12/2022", "Q1/2022", "12/2022", and "2022".`
+ )}
offset (number, default=0) ${_t("Year offset applied to date_range.")}
company_id (number, optional) ${_t("The company to target (Advanced).")}
include_unposted (boolean, default=TRUE) ${_t("Set to TRUE to include unposted entries.")}
-`
+`;
functionRegistry.add("ODOO.CREDIT", {
description: _t("Get the total credit for the specified account(s) and period."),
diff --git a/addons/web/static/src/core/browser/browser.js b/addons/web/static/src/core/browser/browser.js
index bf8f8445487..12ce9b9d34e 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 {
localStorage = makeRAMLocalStorage();
sessionStorage = makeRAMLocalStorage();
}
diff --git a/addons/web/static/src/core/domain_selector/domain_selector.js b/addons/web/static/src/core/domain_selector/domain_selector.js
index fb17aaf041b..012884215ec 100644
--- a/addons/web/static/src/core/domain_selector/domain_selector.js
+++ b/addons/web/static/src/core/domain_selector/domain_selector.js
@@ -33,7 +33,7 @@ export class DomainSelector extends Component {
this.traverseNode(ctx);
return ctx.parent;
- } catch (_e) {
+ } catch {
// WOWL TODO: rethrow error when not the expected type
return false;
}
diff --git a/addons/web/static/src/core/domain_selector/fields/domain_selector_field_input.js b/addons/web/static/src/core/domain_selector/fields/domain_selector_field_input.js
index dfd9fb6ac65..f95c31e95cc 100644
--- a/addons/web/static/src/core/domain_selector/fields/domain_selector_field_input.js
+++ b/addons/web/static/src/core/domain_selector/fields/domain_selector_field_input.js
@@ -10,7 +10,7 @@ export class DomainSelectorFieldInput extends Component {
const parser = parsers.get(this.props.field.type, (value) => value);
try {
return parser(value);
- } catch (_) {
+ } catch {
return value;
}
}
diff --git a/addons/web/static/src/core/errors/error_utils.js b/addons/web/static/src/core/errors/error_utils.js
index 8ba710c9821..65fb6cbd929 100644
--- a/addons/web/static/src/core/errors/error_utils.js
+++ b/addons/web/static/src/core/errors/error_utils.js
@@ -148,7 +148,7 @@ export async function annotateTraceback(error) {
const traceback = formatTraceback(error);
try {
await _loadJS("/web/static/lib/stacktracejs/stacktrace.js");
- } catch (_e) {
+ } catch {
return traceback;
}
// In Firefox, the error stack generated by anonymous code (example: invalid
diff --git a/addons/web/static/src/core/model_field_selector/model_field_selector_popover.js b/addons/web/static/src/core/model_field_selector/model_field_selector_popover.js
index 49053ec2b35..57c5f5300f2 100644
--- a/addons/web/static/src/core/model_field_selector/model_field_selector_popover.js
+++ b/addons/web/static/src/core/model_field_selector/model_field_selector_popover.js
@@ -22,7 +22,7 @@ export class ModelFieldSelectorPopover extends Component {
this.fullFieldName = this.fieldNameChain.join(".");
if (!this.env.isSmall) {
useAutofocus();
- useAutofocus({ refName: 'autofocusDefaultValue', selectAll: true });
+ useAutofocus({ refName: "autofocusDefaultValue", selectAll: true });
}
onWillStart(async () => {
@@ -48,9 +48,9 @@ export class ModelFieldSelectorPopover extends Component {
async loadFields() {
this.unfilteredFields = await this.modelField.loadModelFields(this.currentNode.resModel);
- this.fields = {...this.unfilteredFields};
+ this.fields = { ...this.unfilteredFields };
this.fieldKeys = this.sortedKeys(this.fields);
- for (let key of this.fieldKeys) {
+ for (const key of this.fieldKeys) {
const field = this.fields[key];
if (!field.searchable || !this.props.filter(field)) {
delete this.fields[key];
@@ -75,7 +75,7 @@ export class ModelFieldSelectorPopover extends Component {
case "ArrowUp":
ev.preventDefault();
ev.stopPropagation();
- if (this.currentActiveFieldId> 0) {
+ if (this.currentActiveFieldId > 0) {
this.currentActiveFieldId--;
await this.render();
}
@@ -83,7 +83,7 @@ export class ModelFieldSelectorPopover extends Component {
case "ArrowDown":
ev.preventDefault();
ev.stopPropagation();
- if (this.currentActiveFieldId < this.fieldKeys.length-1) {
+ if (this.currentActiveFieldId < this.fieldKeys.length - 1) {
this.currentActiveFieldId++;
await this.render();
}
@@ -105,7 +105,10 @@ export class ModelFieldSelectorPopover extends Component {
if (this.isDefaultValueVisible) {
this.selectDefaultValue(true);
} else {
- const field = { ...this.fields[this.currentActiveField], name: this.currentActiveField }
+ const field = {
+ ...this.fields[this.currentActiveField],
+ name: this.currentActiveField,
+ };
this.onFieldSelected(field);
}
break;
@@ -142,7 +145,7 @@ export class ModelFieldSelectorPopover extends Component {
field: null,
});
this.update();
- } else if(this.props.needDefaultValue) {
+ } else if (this.props.needDefaultValue) {
this.isDefaultValueVisible = true;
this.render();
this.update();
@@ -152,7 +155,7 @@ export class ModelFieldSelectorPopover extends Component {
this.props.validate(this.fieldNameChain, this.defaultValue);
}
}
- selectDefaultValue (acceptDefaultValue) {
+ selectDefaultValue(acceptDefaultValue) {
if (!acceptDefaultValue) {
this.defaultValue = "";
}
@@ -166,7 +169,7 @@ export class ModelFieldSelectorPopover extends Component {
try {
this.chain = await this.props.loadChain(resModel, this.fullFieldName);
this.update();
- } catch (_error) {
+ } catch {
// WOWL TODO: rethrow error when not the expected type
this.chain = [{ resModel, field: null }];
await this.props.update([]);
@@ -186,13 +189,13 @@ ModelFieldSelectorPopover.props = {
chain: Array,
update: Function,
showSearchInput: Boolean,
- isDebugMode: { type: Boolean, optional: true},
+ isDebugMode: { type: Boolean, optional: true },
loadChain: Function,
filter: Function,
close: Function,
followRelations: { type: Boolean, optional: true },
- needDefaultValue: { type: Boolean, optional: true},
- validate: { type: Function, optional: true},
+ needDefaultValue: { type: Boolean, optional: true },
+ validate: { type: Function, optional: true },
};
-ModelFieldSelectorPopover.template = "web.ModelFieldSelectorPopover";
+ModelFieldSelectorPopover.template = "web.ModelFieldSelectorPopover";
diff --git a/addons/web/static/src/core/network/download.js b/addons/web/static/src/core/network/download.js
index c9be238b78f..007d4045f12 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 {
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 {
error = {
message: "Arbitrary Uncaught Python Exception",
data: {
diff --git a/addons/web/static/src/core/network/rpc_service.js b/addons/web/static/src/core/network/rpc_service.js
index 9112c002147..f898c75dc8d 100644
--- a/addons/web/static/src/core/network/rpc_service.js
+++ b/addons/web/static/src/core/network/rpc_service.js
@@ -69,7 +69,7 @@ export function jsonrpc(env, rpcId, url, params, settings = {}) {
let params;
try {
params = JSON.parse(request.response);
- } catch (_) {
+ } catch {
reject(
new HTTPError(
`server responded with invalid JSON response (HTTP${request.status}): ${request.response}`
diff --git a/addons/web/static/src/core/scroller_service.js b/addons/web/static/src/core/scroller_service.js
index 4f092d70cac..d7dbc0d4e2d 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 {
// 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 654b2696459..b92915cd4a7 100644
--- a/addons/web/static/src/legacy/backend_utils.js
+++ b/addons/web/static/src/legacy/backend_utils.js
@@ -173,7 +173,7 @@ export function searchModelStateToLegacy(state) {
let context = item.context;
try {
context = makeContext([context]);
- } catch (_e) {
+ } catch {
// pass
}
filter.context = context;
diff --git a/addons/web/static/src/legacy/js/components/datepicker.js b/addons/web/static/src/legacy/js/components/datepicker.js
index 305f65fe3fd..b46413fa1bf 100644
--- a/addons/web/static/src/legacy/js/components/datepicker.js
+++ b/addons/web/static/src/legacy/js/components/datepicker.js
@@ -112,7 +112,7 @@ odoo.define('web.DatePickerOwl', function (require) {
_formatDate(date) {
try {
return field_utils.format[this.typeOfDate](date, null, { timezone: false });
- } catch (_err) {
+ } catch {
return false;
}
}
@@ -125,7 +125,7 @@ odoo.define('web.DatePickerOwl', function (require) {
_parseInput(inputValue) {
try {
return field_utils.parse[this.typeOfDate](inputValue, null, { timezone: false });
- } catch (_err) {
+ } catch {
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 801bf9134b3..4812ce79b11 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 {
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 {
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 4c893c9624b..e2ed43ebed1 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
@@ -904,7 +904,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 { }
}
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 10128a9345c..69bb852dc4c 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
@@ -265,7 +265,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 {
// 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 53358df6a07..1fb56936e14 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 {
args = [];
}
}
@@ -295,7 +295,7 @@ odoo.define('web.SearchBar', function (require) {
_validateSource(query, source) {
try {
this._parseWithSource(query, source);
- } catch (_err) {
+ } catch {
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 fca5219a4dd..bc0c40b9522 100644
--- a/addons/web/static/src/legacy/js/core/ajax.js
+++ b/addons/web/static/src/legacy/js/core/ajax.js
@@ -201,7 +201,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 { // 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 642463f27e2..f567ecb5841 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 {}
});
return storage;
})();
-} catch (_exception) {
+} catch {
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 b5880b0f05c..74093dcb59c 100644
--- a/addons/web/static/src/legacy/js/core/session.js
+++ b/addons/web/static/src/legacy/js/core/session.js
@@ -157,7 +157,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 {
// 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 f78ffdbde5c..0d5198fe2af 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 {}
});
return storage;
})();
-} catch (_exception) {
+} catch {
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 226fa534d45..c5d81f6cdb0 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 {}
try {
return str_to_date(value);
- } catch(_e) {}
+ } catch {}
try {
return str_to_time(value);
- } catch(_e) {}
+ } catch {}
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 17571df9fc6..e3bfb03e009 100644
--- a/addons/web/static/src/legacy/js/fields/abstract_field.js
+++ b/addons/web/static/src/legacy/js/fields/abstract_field.js
@@ -572,7 +572,7 @@ var AbstractField = Widget.extend({
try {
value = this._parseValue(value);
this._isValid = true;
- } catch (_e) {
+ } catch {
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 676fdb3c5b1..e16fdfec213 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 {
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 291badac091..640daf90fdd 100644
--- a/addons/web/static/src/legacy/js/fields/basic_fields.js
+++ b/addons/web/static/src/legacy/js/fields/basic_fields.js
@@ -612,7 +612,7 @@ var NumericField = InputField.extend({
value = this._formatValue(value);
// Set the computed value in the input
this.$input.val(value);
- } catch (_err) {
+ } catch {
// 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.
@@ -801,7 +801,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 {
return false;
}
},
@@ -821,7 +821,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 {
this.setInvalidClass();
return false;
}
@@ -1094,7 +1094,7 @@ var FieldDate = InputField.extend({
if (this.datewidget.type_of_date === "datetime") {
value.add(-this.getSession().getTZOffset(value), "minutes");
}
- } catch (_err) {}
+ } catch {}
await this._setValue(value);
this._render();
}
@@ -3340,7 +3340,7 @@ var FieldProgressBar = AbstractField.extend({
try {
// Cover all numbers with parseFloat
parsedValue = field_utils.parse.float($input.val());
- } catch (_error) {
+ } catch {
this.displayNotification({ message: _t("Please enter a numerical value"), type: 'danger' });
}
@@ -4284,7 +4284,7 @@ var FieldColorPicker = FieldInteger.extend({
_highlightSelectedColor: function(){
try{
$(this.$('li')[parseInt(this.value)]).css('border', '2px solid teal');
- } catch(_err) {
+ } catch {
}
},
diff --git a/addons/web/static/src/legacy/js/fields/relational_fields.js b/addons/web/static/src/legacy/js/fields/relational_fields.js
index 0328f650938..faf94e7b057 100644
--- a/addons/web/static/src/legacy/js/fields/relational_fields.js
+++ b/addons/web/static/src/legacy/js/fields/relational_fields.js
@@ -3178,7 +3178,7 @@ var FieldStatus = AbstractField.extend({
// If not set, the statusbar is not clickable.
try {
this.isClickable = !!JSON.parse(this.attrs.clickable);
- } catch (_) {
+ } catch {
this.isClickable = !!this.nodeOptions.clickable;
}
},
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 125edad718b..5e97246b17b 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
@@ -200,7 +200,7 @@ var KanbanController = BasicController.extend({
}
try {
var visible = new Domain(domain).compute(data.evalContext);
- } catch (_e) {
+ } catch {
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 847e1175ff5..e2cee2f3fcd 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 {
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 fa99e3edbde..62bfe729e41 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 {
// 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 { // 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 {/**/}
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 {
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 3f8094f9146..66c6cd2ef9e 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
@@ -310,7 +310,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 {
// Parsing error: nothing is done
}
// Only reset the target's value if it is not a selection field.
diff --git a/addons/web/static/src/search/search_arch_parser.js b/addons/web/static/src/search/search_arch_parser.js
index dd1a80521ef..385254b5586 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"];
function getContextGroubBy(context) {
try {
return makeContext([context]).group_by.split(":");
- } catch (_err) {
+ } catch {
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 5515e7fb867..0196f63af3d 100644
--- a/addons/web/static/src/search/search_bar/search_bar.js
+++ b/addons/web/static/src/search/search_bar/search_bar.js
@@ -146,7 +146,7 @@ export class SearchBar extends Component {
value = parser(trimmedQuery);
}
}
- } catch (_e) {
+ } catch {
continue;
}
@@ -185,7 +185,7 @@ export class SearchBar extends Component {
if (searchItem.domain) {
try {
domain = new Domain(searchItem.domain).toList();
- } catch (_e) {
+ } catch {
// Pass
}
}
diff --git a/addons/web/static/src/views/fields/domain/domain_field.js b/addons/web/static/src/views/fields/domain/domain_field.js
index 3c19695f166..3a5e7fd67aa 100644
--- a/addons/web/static/src/views/fields/domain/domain_field.js
+++ b/addons/web/static/src/views/fields/domain/domain_field.js
@@ -59,23 +59,27 @@ export class DomainField extends Component {
}
onButtonClick() {
- this.addDialog(SelectCreateDialog, {
- title: this.env._t("Selected records"),
- noCreate: true,
- multiSelect: false,
- resModel: this.getResModel(this.props),
- domain: this.getDomain(this.props.value).toList(this.getContext(this.props)) || [],
- context: this.getContext(this.props) || {},
- }, {
- // The counter is reloaded "on close" because some modal allows to modify data that can impact the counter
- onClose: () => this.loadCount(this.props)
- });
+ this.addDialog(
+ SelectCreateDialog,
+ {
+ title: this.env._t("Selected records"),
+ noCreate: true,
+ multiSelect: false,
+ resModel: this.getResModel(this.props),
+ domain: this.getDomain(this.props.value).toList(this.getContext(this.props)) || [],
+ context: this.getContext(this.props) || {},
+ },
+ {
+ // The counter is reloaded "on close" because some modal allows to modify data that can impact the counter
+ onClose: () => this.loadCount(this.props),
+ }
+ );
}
get isValidDomain() {
try {
this.getDomain(this.props.value).toList();
return true;
- } catch (_e) {
+ } catch {
// WOWL TODO: rethrow error when not the expected type
return false;
}
@@ -98,7 +102,7 @@ export class DomainField extends Component {
[domain],
{ context: this.getContext(props) }
);
- } catch (_e) {
+ } catch {
// WOWL TODO: rethrow error when not the expected type
Object.assign(this.state, { recordCount: 0, isValid: false });
return;
diff --git a/addons/web/static/src/views/fields/input_field_hook.js b/addons/web/static/src/views/fields/input_field_hook.js
index e1cdea769b7..030cb50b411 100644
--- a/addons/web/static/src/views/fields/input_field_hook.js
+++ b/addons/web/static/src/views/fields/input_field_hook.js
@@ -55,7 +55,7 @@ export function useInputField(params) {
if (params.parse) {
try {
val = params.parse(val);
- } catch (_e) {
+ } catch {
if (component.props.record) {
component.props.record.setInvalidField(component.props.name);
}
@@ -103,7 +103,9 @@ export function useInputField(params) {
* If it is not such a case, we update the field with the new value.
*/
useEffect(() => {
- const isInvalid = component.props.record ? component.props.record.isInvalid(component.props.name) : false;
+ const isInvalid = component.props.record
+ ? component.props.record.isInvalid(component.props.name)
+ : false;
if (inputRef.el && !isDirty && !isInvalid) {
inputRef.el.value = params.getValue();
lastSetValue = inputRef.el.value;
@@ -131,7 +133,7 @@ export function useInputField(params) {
if (params.parse) {
try {
val = params.parse(val);
- } catch (_e) {
+ } catch {
isInvalid = true;
if (urgent) {
return;
diff --git a/addons/web/static/src/views/fields/properties/property_definition.js b/addons/web/static/src/views/fields/properties/property_definition.js
index d10acf8a197..904e70c6660 100644
--- a/addons/web/static/src/views/fields/properties/property_definition.js
+++ b/addons/web/static/src/views/fields/properties/property_definition.js
@@ -140,7 +140,7 @@ export class PropertyDefinition extends Component {
* @param {event} event
*/
onPropertyLabelKeypress(event) {
- if (event.key !== 'Enter') {
+ if (event.key !== "Enter") {
return;
}
this.props.close();
@@ -177,8 +177,8 @@ export class PropertyDefinition extends Component {
this.props.onChange(propertyDefinition);
this.state.propertyDefinition = propertyDefinition;
- this.state.resModel = '';
- this.state.resModelDescription = '';
+ this.state.resModel = "";
+ this.state.resModelDescription = "";
this.state.typeLabel = this._typeLabel(newType);
}
@@ -244,7 +244,7 @@ export class PropertyDefinition extends Component {
* @param {string} direction, either 'up' or 'down'
*/
onPropertyMove(direction) {
- if (direction === 'up') {
+ if (direction === "up") {
this.state.propertyIndex--;
} else {
this.state.propertyIndex++;
@@ -322,7 +322,7 @@ export class PropertyDefinition extends Component {
return;
}
this.state.resModelDescription = result[0].display_name;
- } catch (_) {
+ } catch {
// can not read the ir.model
this.state.resModelDescription = sprintf(
_lt('You do not have access to the model "%s".'),
diff --git a/addons/web/static/src/views/relational_model.js b/addons/web/static/src/views/relational_model.js
index a3cf7746cd2..badacbf650a 100644
--- a/addons/web/static/src/views/relational_model.js
+++ b/addons/web/static/src/views/relational_model.js
@@ -1649,7 +1649,7 @@ class DynamicList extends DataPoint {
await Promise.all(validSelection.map((record) => record.load()));
record.switchMode("readonly");
this.model.notify();
- } catch (_) {
+ } catch {
record.discard();
}
validSelection.forEach((record) => {
diff --git a/addons/web/static/src/webclient/actions/action_service.js b/addons/web/static/src/webclient/actions/action_service.js
index d6b53dc433a..f9989bdd411 100644
--- a/addons/web/static/src/webclient/actions/action_service.js
+++ b/addons/web/static/src/webclient/actions/action_service.js
@@ -15,7 +15,16 @@ import { ActionDialog } from "./action_dialog";
import { CallbackRecorder } from "./action_hook";
import { ReportAction } from "./reports/report_action";
-import { Component, markup, onMounted, onWillUnmount, onError, useChildSubEnv, xml, reactive } from "@odoo/owl";
+import {
+ Component,
+ markup,
+ onMounted,
+ onWillUnmount,
+ onError,
+ useChildSubEnv,
+ xml,
+ reactive,
+} from "@odoo/owl";
const actionHandlersRegistry = registry.category("action_handlers");
const actionRegistry = registry.category("actions");
@@ -194,7 +203,7 @@ function makeActionManager(env) {
function _preprocessAction(action, context = {}) {
try {
action._originalAction = JSON.stringify(action);
- } catch (_e) {
+ } catch {
// do nothing, the action might simply not be serializable
}
action.context = makeContext([context, action.context], env.services.user.context);
@@ -1270,7 +1279,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 {
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 b56f3850f40..599ca82eb51 100644
--- a/addons/web/static/tests/core/l10n/dates_tests.js
+++ b/addons/web/static/tests/core/l10n/dates_tests.js
@@ -44,13 +44,13 @@ function runTestSet(assert, testSet, options) {
let res2;
try {
res1 = options.newFn(input);
- } catch (_e) {
+ } catch {
// continue
}
try {
res2 = options.legacyFn(input);
- } catch (_e) {
+ } catch {
// continue
}
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 b45910c4e45..364f35790aa 100644
--- a/addons/web/static/tests/core/network/rpc_service_tests.js
+++ b/addons/web/static/tests/core/network/rpc_service_tests.js
@@ -108,7 +108,7 @@ QUnit.test("trigger an error when response has 'error' key", async (assert) => {
});
try {
await env.services.rpc("/test/");
- } catch (_error) {
+ } catch {
assert.ok(true);
}
unpatch(browser, "mock.xhr");
@@ -234,7 +234,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 {
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 46c8a5b479b..ad5f6923161 100644
--- a/addons/web/static/tests/helpers/mock_services.js
+++ b/addons/web/static/tests/helpers/mock_services.js
@@ -107,13 +107,13 @@ export function makeMockXHR(response, sendCb, def) {
if (typeof data === "string") {
try {
data = JSON.parse(data);
- } catch (_e) {
+ } catch {
// Ignore
}
}
try {
await sendCb.call(this, data);
- } catch (_e) {
+ } catch {
listener = this._errorListener;
}
}
@@ -148,7 +148,7 @@ export function makeMockFetch(mockRPC) {
try {
res = await _rpc(route, params);
status = 200;
- } catch (_e) {
+ } catch {
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 20ceb4459cc..3827767a367 100644
--- a/addons/web/static/tests/legacy/fields/basic_fields_tests.js
+++ b/addons/web/static/tests/legacy/fields/basic_fields_tests.js
@@ -8689,7 +8689,7 @@ QUnit.module('Legacy basic_fields', {
var left = $progressBarEl.offset().left + 5;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "click");
- } catch (_e) {
+ } catch {
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.');
@@ -8736,7 +8736,7 @@ QUnit.module('Legacy basic_fields', {
var left = $progressBarEl.offset().left + 5;
try {
testUtils.dom.triggerPositionalMouseEvent(left, top, "click");
- } catch (_e) {
+ } catch {
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 ef03ccdba32..dd1f24359fc 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 {
assert.step("name_get failed")
}
assert.verifySteps(["name_get failed"])
@@ -166,7 +166,7 @@ QUnit.module("Legacy MockServer", {
args: [11111],
kwargs: {},
});
- } catch (_error) {
+ } catch {
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 0dbc6a5a3db..193659a72f0 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 {
assert.ok("load should return a rejected deferred for an invalid id");
}
diff --git a/addons/web/static/tests/legacy/views/kanban_tests.js b/addons/web/static/tests/legacy/views/kanban_tests.js
index 4d994a09f7d..c176fdb940a 100644
--- a/addons/web/static/tests/legacy/views/kanban_tests.js
+++ b/addons/web/static/tests/legacy/views/kanban_tests.js
@@ -5630,7 +5630,7 @@ QUnit.module('LegacyViews', {
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 {
assert.strictEqual(true, false, 'Error triggered at action execution');
}
kanban.destroy();
diff --git a/addons/web/static/tests/mock_server_tests.js b/addons/web/static/tests/mock_server_tests.js
index 99b87a49b17..dae1fdf6c28 100644
--- a/addons/web/static/tests/mock_server_tests.js
+++ b/addons/web/static/tests/mock_server_tests.js
@@ -198,7 +198,7 @@ QUnit.module("MockServer", (hooks) => {
args: [],
kwargs: {},
});
- } catch (_) {
+ } catch {
assert.step("name_get failed");
}
assert.verifySteps(["name_get failed"]);
@@ -246,7 +246,7 @@ QUnit.module("MockServer", (hooks) => {
args: [11111],
kwargs: {},
});
- } catch (_) {
+ } catch {
assert.step("name_get failed");
}
assert.verifySteps(["name_get failed"]);
diff --git a/addons/web/static/tests/search/group_by_tests.js b/addons/web/static/tests/search/group_by_tests.js
index b7eed73f7a2..1fb82603306 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 {
assert.step("Error 1");
}
try {
getGroupBy("diay_name:yar");
- } catch (_e) {
+ } catch {
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 {
assert.step("Error 1");
}
try {
getGroupBy("display_name:day", fields);
- } catch (_e) {
+ } catch {
assert.step("Error 2");
}
try {
getGroupBy("diay_name:year", fields);
- } catch (_e) {
+ } catch {
assert.step("Error 3");
}
try {
getGroupBy("diay_name:yar", fields);
- } catch (_e) {
+ } catch {
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 {
assert.step("Error");
}
assert.verifySteps(["Error"]);
diff --git a/addons/web/static/tests/webclient/actions/reports/report_action_tests.js b/addons/web/static/tests/webclient/actions/reports/report_action_tests.js
index a478ef66aef..0b4f101a2cc 100644
--- a/addons/web/static/tests/webclient/actions/reports/report_action_tests.js
+++ b/addons/web/static/tests/webclient/actions/reports/report_action_tests.js
@@ -253,7 +253,7 @@ QUnit.module("ActionManager", (hooks) => {
await doAction(webClient, 7);
try {
await doAction(webClient, 7);
- } catch (_e) {
+ } catch {
assert.step("error caught");
}
assert.verifySteps([
diff --git a/addons/web_editor/static/src/components/media_dialog/image_selector.js b/addons/web_editor/static/src/components/media_dialog/image_selector.js
index 9c0b82379de..426853e7468 100644
--- a/addons/web_editor/static/src/components/media_dialog/image_selector.js
+++ b/addons/web_editor/static/src/components/media_dialog/image_selector.js
@@ -284,7 +284,7 @@ export class ImageSelector extends FileSelector {
media.dynamicColors = dynamicColors;
}
}
- } catch (_e) {
+ } catch {
console.error('CORS is misconfigured on the API server, image will be treated as non-dynamic.');
}
}
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 8a9b043dfd6..36ab8e98348 100644
--- a/addons/web_editor/static/src/js/backend/field_html.js
+++ b/addons/web_editor/static/src/js/backend/field_html.js
@@ -417,7 +417,7 @@ var FieldHtml = basic_fields.DebouncedField.extend(DynamicPlaceholderFieldMixin)
var cwindow = self.$iframe[0].contentWindow;
try {
cwindow.document;
- } catch (_e) {
+ } catch {
return;
}
cwindow.document
@@ -494,7 +494,7 @@ var FieldHtml = basic_fields.DebouncedField.extend(DynamicPlaceholderFieldMixin)
var value = text || "";
try {
$(text)[0].innerHTML; // crashes if text isn't html
- } catch (_e) {
+ } catch {
if (value.match(/^\s*$/)) {
value = '