From 57a5ad08dc773eed7a436e2f2c209aae7e6c7ab1 Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Wed, 23 May 2018 16:49:04 -0400 Subject: [PATCH] Rework for ajax calls This is so the add notes to work if they refresh and it won't add dupe note. --- models/admin/ajax/travelNotes.php | 44 +++++++++++++++++++++++++++++++ models/admin/travel/index.php | 10 ------- views/admin/ajax/notes/list.html | 32 +++++++++++----------- 3 files changed, 61 insertions(+), 25 deletions(-) diff --git a/models/admin/ajax/travelNotes.php b/models/admin/ajax/travelNotes.php index db556ec..24ac5c0 100644 --- a/models/admin/ajax/travelNotes.php +++ b/models/admin/ajax/travelNotes.php @@ -82,6 +82,50 @@ class GlmMembersAdmin_ajax_travelNotes extends GlmDataTravelNotes trigger_error( print_r( $_REQUEST, E_USER_NOTICE ) ); switch ( $option ) { + case 'add': + if ( isset( $_REQUEST['id'] ) + && isset( $_REQUEST['new_log'] ) + && $lead_id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) + && $new_note = filter_var( $_REQUEST['new_log'], FILTER_SANITIZE_STRING ) + ) { + + $this->wpdb->insert( + GLM_MEMBERS_TRAVEL_PLUGIN_DB_PREFIX . 'lead_notes', + array( + 'lead' => $lead_id, + 'created' => date( 'Y-m-d H:i:s' ), + 'updated' => date( 'Y-m-d H:i:s' ), + 'notes' => $new_note + ), + array( + '%d', + '%s', + '%s', + '%s' + ) + ); + + } + // Redirect back to the edit page + wp_redirect( admin_url() . 'admin.php?page=glm-members-admin-menu-glm-travel&glm_action=index&option=edit&id=' . $lead_id . '#ui-tabs-3' ); + exit; + break; + case 'delete': + if ( isset( $_REQUEST['id'] ) + && isset( $_REQUEST['note_id'] ) + && $lead_id = filter_var( $_REQUEST['id'], FILTER_VALIDATE_INT ) + && $note_id = filter_var( $_REQUEST['note_id'], FILTER_VALIDATE_INT ) + ) { + $this->wpdb->delete( + GLM_MEMBERS_TRAVEL_PLUGIN_DB_PREFIX . 'lead_notes', + array( 'lead' => $lead_id, 'id' => $note_id ), + array( '%d', '%d' ) + ); + } + // Redirect back to the edit page + wp_redirect( admin_url() . 'admin.php?page=glm-members-admin-menu-glm-travel&glm_action=index&option=edit&id=' . $lead_id . '#ui-tabs-3' ); + exit; + break; case 'list': default: $lead_id = filter_var( $_REQUEST['lead_id'], FILTER_VALIDATE_INT ); diff --git a/models/admin/travel/index.php b/models/admin/travel/index.php index fb3e0b0..fc0f2f7 100644 --- a/models/admin/travel/index.php +++ b/models/admin/travel/index.php @@ -379,16 +379,6 @@ class GlmMembersAdmin_travel_index extends GlmDataTravelLeads ) ); - // return array( - // 'status' => true, - // 'modelRedirect' => 'index', - // // 'menuItemRedirect' => 'index', - // 'data' => array( - // 'option' => 'edit', - // 'id' => $this->entryId, - // ) - // ); - $entry = $this->editEntry( $this->entryId ); $view = 'edit.html'; break; diff --git a/views/admin/ajax/notes/list.html b/views/admin/ajax/notes/list.html index 210fc8d..15a56e2 100644 --- a/views/admin/ajax/notes/list.html +++ b/views/admin/ajax/notes/list.html @@ -1,16 +1,18 @@ -
- - - - - - -
+
+
+ + + + + + +
-{foreach $notes as $n} -
-

{$n.updated.datetime}

-

{$n.notes|nl2br}

- Delete -
-{/foreach} + {foreach $notes as $n} +
+

{$n.updated.datetime}

+

{$n.notes|nl2br}

+ Delete +
+ {/foreach} +
-- 2.17.1