From 5a4b1a835962f63df89965d1056e5fe7b363addf Mon Sep 17 00:00:00 2001
From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com>
Date: Mon, 3 Feb 2025 15:45:01 +0300
Subject: [PATCH 01/21] Add banner about updating default email address to
email action
---
.../views/frm-form-actions/_action_inside.php | 16 ++++++++++++++++
css/frm_admin.css | 6 ++++++
2 files changed, 22 insertions(+)
diff --git a/classes/views/frm-form-actions/_action_inside.php b/classes/views/frm-form-actions/_action_inside.php
index bb74d1bde3..8112a01367 100644
--- a/classes/views/frm-form-actions/_action_inside.php
+++ b/classes/views/frm-form-actions/_action_inside.php
@@ -7,6 +7,22 @@
+post_excerpt === 'email') {
+ ?>
+
+
diff --git a/css/frm_admin.css b/css/frm_admin.css
index 6d7b20cd5b..70f8d8b88c 100644
--- a/css/frm_admin.css
+++ b/css/frm_admin.css
@@ -5444,7 +5444,7 @@ h2.frm-h2,
box-shadow: none;
}
-.frm_email_settings .frm_default_email_notice {
+.frm_email_settings .frm_default_email_message {
background-color: var(--primary-25);
padding:var(--gap-sm) var(--gap-md);
border-radius:var(--small-radius);
diff --git a/js/admin/settings.js b/js/admin/settings.js
index d725830e68..18d0c8c6ae 100644
--- a/js/admin/settings.js
+++ b/js/admin/settings.js
@@ -1,8 +1,11 @@
( function() {
+ const { doJsonPost } = frmDom.ajax;
+
function addEventListeners() {
document.addEventListener( 'change', handleChangeEvent );
document.addEventListener( 'keydown', handleKeyDownEvent );
+ document.addEventListener( 'click', handleClickEvent );
}
function handleChangeEvent( e ) {
@@ -19,6 +22,18 @@
}
}
+ function handleClickEvent( e ) {
+ if ( e.target.classList.contains( 'frm_dismiss_default_email_message' ) ) {
+ e.preventDefault();
+ const formData = new FormData();
+ formData.append( 'action', 'frm_dismiss_default_email_message' );
+ formData.append( 'nonce', frmGlobal.nonce );
+ doJsonPost( 'dismiss_default_email_message', formData ).then(
+ e.target.closest( '.frm_default_email_message' ).remove()
+ );
+ }
+ }
+
function handleToggleChangeEvent( e ) {
e.target.nextElementSibling.setAttribute( 'aria-checked', e.target.checked ? 'true' : 'false' );
}
From d5a82af04d61424503ca2091f14ed0d129a84df9 Mon Sep 17 00:00:00 2001
From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com>
Date: Mon, 10 Feb 2025 20:25:00 +0300
Subject: [PATCH 05/21] Move function to a more related class
---
classes/controllers/FrmAppController.php | 5 -----
classes/controllers/FrmFormsController.php | 12 ++++++++++++
classes/controllers/FrmHooksController.php | 3 +--
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/classes/controllers/FrmAppController.php b/classes/controllers/FrmAppController.php
index f3b85319e5..b00550a184 100644
--- a/classes/controllers/FrmAppController.php
+++ b/classes/controllers/FrmAppController.php
@@ -175,11 +175,6 @@ private static function is_white_page() {
return $is_white_page;
}
- public static function dismiss_default_email_message() {
- check_ajax_referer( 'frm_ajax', 'nonce' );
- update_user_meta( wp_get_current_user()->ID, 'frm_dismiss_default_email_message', 1 );
- }
-
/**
* Add a grey bg instead of white.
*
diff --git a/classes/controllers/FrmFormsController.php b/classes/controllers/FrmFormsController.php
index c042050aeb..81b4ce0e33 100644
--- a/classes/controllers/FrmFormsController.php
+++ b/classes/controllers/FrmFormsController.php
@@ -2524,6 +2524,18 @@ public static function get_met_on_submit_actions( $args, $event = 'create' ) {
return $met_actions;
}
+ /**
+ * Handles the AJAX request to dismiss the default email message.
+ *
+ * @since x.x
+ *
+ * @return void
+ */
+ public static function dismiss_default_email_message() {
+ check_ajax_referer( 'frm_ajax', 'nonce' );
+ update_user_meta( wp_get_current_user()->ID, 'frm_dismiss_default_email_message', 1 );
+ }
+
/**
* Checks if a Confirmation action has the valid data.
*
diff --git a/classes/controllers/FrmHooksController.php b/classes/controllers/FrmHooksController.php
index 47e357f6c4..3b2359f533 100644
--- a/classes/controllers/FrmHooksController.php
+++ b/classes/controllers/FrmHooksController.php
@@ -266,6 +266,7 @@ public static function load_ajax_hooks() {
add_action( 'wp_ajax_frm_lite_settings_upgrade', 'FrmSettingsController::settings_cta_dismiss' );
add_action( 'wp_ajax_frm_settings_tab', 'FrmSettingsController::load_settings_tab' );
add_action( 'wp_ajax_frm_page_search', 'FrmSettingsController::page_search' );
+ add_action( 'wp_ajax_frm_dismiss_default_email_message', 'FrmFormsController::dismiss_default_email_message' );
// Styles Controller.
add_action( 'wp_ajax_frm_settings_reset', 'FrmStylesController::reset_styling' );
@@ -300,8 +301,6 @@ public static function load_ajax_hooks() {
// Reviews.
add_action( 'wp_ajax_frm_dismiss_review', 'FrmAppController::dismiss_review' );
-
- add_action( 'wp_ajax_frm_dismiss_default_email_message', 'FrmAppController::dismiss_default_email_message' );
}
/**
From 8426162743b05f783890356c374e99ab51bb207c Mon Sep 17 00:00:00 2001
From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com>
Date: Mon, 10 Feb 2025 20:34:33 +0300
Subject: [PATCH 06/21] Remove extra space after comma
---
classes/controllers/FrmFormsController.php | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/classes/controllers/FrmFormsController.php b/classes/controllers/FrmFormsController.php
index 81b4ce0e33..caf952d7d0 100644
--- a/classes/controllers/FrmFormsController.php
+++ b/classes/controllers/FrmFormsController.php
@@ -2532,7 +2532,7 @@ public static function get_met_on_submit_actions( $args, $event = 'create' ) {
* @return void
*/
public static function dismiss_default_email_message() {
- check_ajax_referer( 'frm_ajax', 'nonce' );
+ check_ajax_referer( 'frm_ajax', 'nonce' );
update_user_meta( wp_get_current_user()->ID, 'frm_dismiss_default_email_message', 1 );
}
From 8b6d30fd7188ab94d336809ab2874929e31a9314 Mon Sep 17 00:00:00 2001
From: Abdi Tolessa <41271840+AbdiTolesa@users.noreply.github.com>
Date: Tue, 18 Feb 2025 10:42:54 +0300
Subject: [PATCH 07/21] Incorporate some review feedbacks
---
classes/controllers/FrmFormsController.php | 2 +-
.../views/frm-form-actions/_action_inside.php | 24 +++++++++----------
2 files changed, 12 insertions(+), 14 deletions(-)
diff --git a/classes/controllers/FrmFormsController.php b/classes/controllers/FrmFormsController.php
index caf952d7d0..4b53c730d6 100644
--- a/classes/controllers/FrmFormsController.php
+++ b/classes/controllers/FrmFormsController.php
@@ -2533,7 +2533,7 @@ public static function get_met_on_submit_actions( $args, $event = 'create' ) {
*/
public static function dismiss_default_email_message() {
check_ajax_referer( 'frm_ajax', 'nonce' );
- update_user_meta( wp_get_current_user()->ID, 'frm_dismiss_default_email_message', 1 );
+ update_user_meta( get_current_user_id(), 'frm_dismiss_default_email_message', 1 );
}
/**
diff --git a/classes/views/frm-form-actions/_action_inside.php b/classes/views/frm-form-actions/_action_inside.php
index e2df46151d..e16b06e746 100644
--- a/classes/views/frm-form-actions/_action_inside.php
+++ b/classes/views/frm-form-actions/_action_inside.php
@@ -10,19 +10,17 @@
post_excerpt === 'email' && ! get_user_meta( wp_get_current_user()->ID, 'frm_dismiss_default_email_message', true ) ) {
?>
-
-
+
+