From 7df7cb6cb353619545db731e63bcebe72f9dfd3d Mon Sep 17 00:00:00 2001 From: Steve Sutton Date: Fri, 9 Aug 2019 16:48:37 -0400 Subject: [PATCH] Setup checkboxes for bulk edit Adding bulk edit and new columns for client members manager dashboard event widget. --- models/admin/dashboard/events.php | 52 +++++++--- views/admin/dashboard/events.html | 154 ++++++++++++++++++++++-------- 2 files changed, 153 insertions(+), 53 deletions(-) diff --git a/models/admin/dashboard/events.php b/models/admin/dashboard/events.php index 47444eb..9345a22 100644 --- a/models/admin/dashboard/events.php +++ b/models/admin/dashboard/events.php @@ -101,6 +101,31 @@ class GlmMembersAdmin_dashboard_events extends GlmDataEvents $success = true; $memberID = false; + echo '
$_REQUEST: ' . print_r( $_REQUEST, true ) . '
'; + if ( isset( $_REQUEST['bulkAction'] ) && isset( $_REQUEST['bulkEdit'] ) && !empty( $_REQUEST['bulkEdit'] ) ) { + // Process the bulk edit events. + $bulkAction = filter_var( $_REQUEST['bulkAction'], FILTER_SANITIZE_STRING ); + $bulkEdit = filter_var( $_REQUEST['bulkEdit'], FILTER_VALIDATE_INT, [ 'flags' => FILTER_FORCE_ARRAY ] ); + echo '
$bulkEdit: ' . print_r( $bulkEdit, true ) . '
'; + switch ( $bulkAction ) { + case 'Approve': + foreach ( $bulkEdit as $eventId ) { + $mId = $this->wpdb->get_var( + $this->wpdb->prepare( + "SELECT ref_dest + FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "" + ) + ); + } + break; + case 'Decline': + break; + default: + break; + } + } + + // Get list of member events. if ( isset( $this->config['loggedInUser']['contactUser']['ref_dest'] ) && $memberID = filter_var( $this->config['loggedInUser']['contactUser']['ref_dest'], FILTER_VALIDATE_INT) @@ -134,18 +159,21 @@ class GlmMembersAdmin_dashboard_events extends GlmDataEvents } } else { $events = $this->wpdb->get_results( - "SELECT E.id,E.name,E.ref_dest,T1.start_time as start,T2.end_time as end - FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E, - " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T1, - " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T2 - WHERE E.status = " . $this->config['status_numb']['Pending'] . " - AND T1.event = E.id AND T1.start_time IN (SELECT MIN(start_time) - FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times - WHERE event = E.id) - AND T2.event = E.id AND T2.end_time IN (SELECT MAX(end_time) - FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times - WHERE event = E.id) - ORDER BY E.status DESC,end DESC,start DESC", + "SELECT E.id,E.name,E.ref_dest,T1.start_time as start,T2.end_time as end, + E.admin_org, E.created + FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "events E, + " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T1, + " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times T2 + WHERE E.status = " . $this->config['status_numb']['Pending'] . " + AND T1.event = E.id AND T1.start_time IN ( + SELECT MIN(start_time) + FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times + WHERE event = E.id) + AND T2.event = E.id AND T2.end_time IN ( + SELECT MAX(end_time) + FROM " . GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX . "times + WHERE event = E.id) + ORDER BY E.status DESC,end DESC,start DESC", ARRAY_A ); diff --git a/views/admin/dashboard/events.html b/views/admin/dashboard/events.html index 70b4bb7..b4ef200 100644 --- a/views/admin/dashboard/events.html +++ b/views/admin/dashboard/events.html @@ -1,47 +1,119 @@ -
-
-

- Events {if $memberID}(5 most recent){else}(Pending){/if} +{* + Dashboard Widget for Events - Add Event -

-
+ This is used for both member only events widget. + And the Admin/client Member Dashboard. +*} +
+
+
+

+ Events {if $memberID}(5 most recent){else}(Pending){/if} + Add Event +

+
+
+ + +
{if $events} - - - - - {if !$memberID}{/if} - - - {if $memberID} - {/if} - - - - {foreach $events as $event} - - - {if !$memberID} +
NameMemberStartEndStatusApproved
- - {$event.name} - -
+ + + {if !$memberID} + + {/if} + + {if !$memberID} + + + + {/if} + + + {if $memberID} + + + {/if} + + + + {foreach $events as $event} + + {if !$memberID} + + {/if} - {/if} - - - {if $memberID} - {/if} - - {/foreach} - -
NameMemberOrganizationCreatedStartEndStatusApproved
- {if $event.ref_dest} - {$event.member_name} - {/if} + + {$event.name} + {$event.start|date_format:"%m/%d/%Y"}{$event.end|date_format:"%m/%d/%Y"}{$event.status}{$event.approved|date_format:"%m/%d/%Y"}
- {/if} + {if !$memberID} + + {if $event.ref_dest} + {$event.member_name} + {/if} + + + {$event.admin_org} + + + {$event.created|date_format:"%m/%d/%Y"} + + {/if} + {$event.start|date_format:"%m/%d/%Y"} + {$event.end|date_format:"%m/%d/%Y"} + {if $memberID} + {$event.status} + {$event.approved|date_format:"%m/%d/%Y"} + {/if} + + {/foreach} + + + {/if} +
-
+
+ + -- 2.17.1