diff --git a/app/controllers/Plugin.php b/app/controllers/Plugin.php
index 64f76fe..f90d14a 100644
--- a/app/controllers/Plugin.php
+++ b/app/controllers/Plugin.php
@@ -37,6 +37,9 @@ class PEPPOL_Plugin {
if (class_exists(\ESI_PEPPOL\controllers\PEPPOL_Woocommerce_controller::class)) {
\ESI_PEPPOL\controllers\PEPPOL_Woocommerce_controller::register_hooks();
}
+
+ // Notice globale pour le numéro de TVA
+ \add_action('admin_notices', [self::class, 'maybe_show_vat_notice']);
}
/**
@@ -761,6 +764,34 @@ class PEPPOL_Plugin {
);
}
+ /**
+ * Affiche un message d'avertissement dans l'admin WordPress
+ * si le numéro de TVA de la boutique n'est pas renseigné.
+ *
+ * Hooké sur admin_notices.
+ *
+ * @return void
+ */
+ public static function maybe_show_vat_notice(): void {
+ if (!\current_user_can('manage_options')) {
+ return;
+ }
+
+ $vat_notice_message = self::get_vat_notice_message();
+
+ if (empty($vat_notice_message)) {
+ return;
+ }
+
+ $api_key = (string) \get_option('esi_peppol_api_key', '');
+ $password = (string) \get_option('esi_peppol_password', '');
+ $notice_class = ($api_key === '' && $password === '') ? 'notice-info' : 'notice-warning';
+
+ echo '
' .
+ \esc_html($vat_notice_message) .
+ '
';
+ }
+
public static function write_log($message, $level = 'INFO') {
$message = self::format_message_for_log($message);
$log_entry = sprintf("[%s] [%s] %s\n", date('Y-m-d H:i:s'), $level, $message);
diff --git a/app/controllers/Woocommerce_controller.php b/app/controllers/Woocommerce_controller.php
index 203e414..b1a2b0f 100644
--- a/app/controllers/Woocommerce_controller.php
+++ b/app/controllers/Woocommerce_controller.php
@@ -159,7 +159,7 @@ class PEPPOL_Woocommerce_controller {
}
/**
- * Affiche un message d'avertissement dans l'admin WooCommerce
+ * Affiche un message d'avertissement dans l'admin WordPress
* si BACS est activé mais qu'aucun compte bancaire n'est renseigné.
*
* Hooké sur admin_notices.
@@ -171,18 +171,6 @@ class PEPPOL_Woocommerce_controller {
return;
}
- $screen = \function_exists('get_current_screen') ? \get_current_screen() : null;
-
- // On cible la page WooCommerce > Réglages > Paiements
- if (!$screen || (string) $screen->id !== 'woocommerce_page_wc-settings') {
- return;
- }
-
- $tab = isset($_GET['tab']) ? \sanitize_text_field(\wp_unslash($_GET['tab'])) : ''; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
- if ($tab !== 'checkout') {
- return;
- }
-
$status = self::my_check_bacs_status_and_accounts();
// Si BACS n'est pas installé ou pas activé, on ne dit rien