From: Laury GvR Date: Tue, 18 Sep 2018 16:57:56 +0000 (-0400) Subject: Add search to front-end list view, adjust styles X-Git-Tag: v1.0.0^2~7 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=425dd40c70c4cf7a085581c3012096663d7dfd36;p=WP-Plugins%2Fglm-member-db-staff.git Add search to front-end list view, adjust styles --- diff --git a/css/front.css b/css/front.css index 4408933..df779db 100644 --- a/css/front.css +++ b/css/front.css @@ -2,30 +2,40 @@ .glm-staff-container { /* Parent element */ } -.paging-container { +.glm-staff-container .paging-container { width: 100%; overflow: hidden; } -.glm-staff-block-wrapper { +.glm-staff-container .glm-staff-filters { + +} +.glm-staff-container .glm-staff-filters input, +.glm-staff-container .glm-staff-filters select { + width: auto; +} +.glm-staff-container .filter-dropdowns { + display: block; +} +.glm-staff-container .glm-staff-block-wrapper { float: left; padding: 10px; width: 100%; } @media (min-width: 641px) and (max-width: 1024px) { - .glm-staff-block-wrapper { + .glm-staff-container .glm-staff-block-wrapper { float: left; padding: 10px; width: 50%; } } @media (max-width: 640px) { - .glm-staff-block-wrapper { + .glm-staff-container .glm-staff-block-wrapper { float: left; padding: 10px; width: 50%; } } -.glm-staff-block { +.glm-staff-container .glm-staff-block { border: 1px solid lightgrey; margin-bottom: 20px; width: 100%; @@ -33,20 +43,20 @@ padding: 20px; max-width: 600px; } -.glm-staff-name { +.glm-staff-container .glm-staff-name { font-weight: bold; text-transform: none; font-style: normal; font-size: 24px; text-decoration: none; } -.glm-staff-title{ +.glm-staff-container .glm-staff-title{ font-weight: bold; } /* Email Modal Styles */ -.required-field, .required-fail{ +/* .required-field, .required-fail{ color: red; } #emailModal{ @@ -62,4 +72,4 @@ } .modal-message-name{ font-weight: bold; -} \ No newline at end of file +} */ \ No newline at end of file diff --git a/models/front/staff/list.php b/models/front/staff/list.php index ddbbaaa..044f2b0 100644 --- a/models/front/staff/list.php +++ b/models/front/staff/list.php @@ -15,6 +15,8 @@ // Load Contacts data abstract require_once GLM_MEMBERS_STAFF_PLUGIN_CLASS_PATH.'/data/dataStaff.php'; +require_once GLM_MEMBERS_STAFF_PLUGIN_CLASS_PATH.'/data/dataBuildings.php'; +require_once GLM_MEMBERS_STAFF_PLUGIN_CLASS_PATH.'/data/dataDepartments.php'; class GlmMembersFront_staff_list extends GlmDatastaff { @@ -109,14 +111,26 @@ class GlmMembersFront_staff_list extends GlmDatastaff $view_file = 'list'; $view = 'list'; - $where = ''; - $whereSep = ''; - $filterName = false; - $haveFilter = false; - $textSearch = ''; + $where = ''; + $whereSep = ''; + $filterName = false; + $haveFilter = false; + $textSearch = ''; $staffFound = false; $filteredStaffFound = false; - $list = false; + $list = false; + + $buildings = false; + $departments = false; + + $thisPage = false; + $thisAction = false; + $prevStart = false; + $nextStart = false; + $limit = false; + $alphaSelected = false; + + // Paging Parameters $textSearch = ''; @@ -167,6 +181,26 @@ class GlmMembersFront_staff_list extends GlmDatastaff $textSearch = stripslashes($textSearch); } + + $Buildings = new GlmDataBuildings( $this->wpdb, $this->config ); + $buildings = $Buildings->getList( '', 'name' ); + + $Departments = new GlmDataDepartments( $this->wpdb, $this->config ); + $departments = $Departments->getList( '', 'name' ); + + if ( isset( $_REQUEST['filter_name'] ) && trim( $_REQUEST['filter_name'] ) != '' ) { + $name_search = addslashes(filter_var($_REQUEST['filter_name'], FILTER_SANITIZE_STRING, FILTER_FLAG_NO_ENCODE_QUOTES)); + $where .= " (T.fname like '%$name_search%' OR T.lname like '%$name_search%' OR (T.fname like '%$name_search%' AND T.lname like '%$name_search%') ) AND "; + } + + if ( isset( $_REQUEST['filter_departments'] ) && $filter_departments = filter_var( $_REQUEST['filter_departments'], FILTER_VALIDATE_INT ) ) { + $where .= " T.department = $filter_departments AND "; + } + + if ( isset( $_REQUEST['filter_buildings'] ) && $filter_building = filter_var( $_REQUEST['filter_buildings'], FILTER_VALIDATE_INT ) ) { + $where .= " T.building = $filter_building AND "; + } + // Check if we're doing paging if (isset($_REQUEST['pageSelect'])) { @@ -298,6 +332,9 @@ class GlmMembersFront_staff_list extends GlmDatastaff 'alphaSelected' => $alphaSelected, 'view' => $view, + 'departments' => $departments, + 'buildings' => $buildings, + // Paging parameters 'filteredStaffFound' => $filteredStaffFound, 'numbDisplayed' => $numbDisplayed, @@ -307,6 +344,10 @@ class GlmMembersFront_staff_list extends GlmDatastaff 'nextStart' => $nextStart, 'start' => $start, 'limit' => $limit, + 'thisPage' => $thisPage, + 'thisAction' => $thisAction, + 'limit' => $limit, + 'alphaSelected' => $alphaSelected, ); // Return status, any suggested view, and any data to controller diff --git a/views/front/staff/list.html b/views/front/staff/list.html index 9d4e29f..6d6bae4 100644 --- a/views/front/staff/list.html +++ b/views/front/staff/list.html @@ -1,91 +1,125 @@
- {if $staffData} - + {/if} + {else} + Sorry, no staff members found. {/if} - {else} - Sorry, no staff members found. - {/if} +
\ No newline at end of file